12:35:53.339 [debug] QUERY OK source="media_items" db=0.8ms idle=1046.1ms INSERT INTO "media_items" AS m0 ("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) 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" ["كذبة اسمها فضة، المهندس ابراهيم الكردي تاجر مجوهرات وذهب ومتداول في بودكاست جوكاست ، محمود الحلبي", "10b80938-b28c-4963-b5dd-39c41858756e", 20, false, "2WYfnW8c7nA", "https://www.youtube.com/shorts/2WYfnW8c7nA", 12, "/downloads/shorts/محمود الحلبي (جوكاست)/محمود الحلبي (جوكاست) - 2026-04-01 - [2WYfnW8c7nA].mp4", false, false, true, 219, [], 98, ~U[2026-04-01 14:20:25Z], ~U[2026-04-15 12:35:53Z], ~U[2026-04-15 12:35:53Z], "", "كذبة اسمها فضة، المهندس ابراهيم الكردي تاجر مجوهرات وذهب ومتداول في بودكاست جوكاست ، محمود الحلبي", 20, false, "2WYfnW8c7nA", "https://www.youtube.com/shorts/2WYfnW8c7nA", "/downloads/shorts/محمود الحلبي (جوكاست)/محمود الحلبي (جوكاست) - 2026-04-01 - [2WYfnW8c7nA].mp4", true, 219, ~U[2026-04-01 14:20:25Z]] 12:35:53.339 [debug] QUERY OK source="sources" db=0.2ms idle=46.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" = ?) [219] 12:35:53.339 [debug] QUERY OK source="media_profiles" db=0.2ms idle=3.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 12:35:53.340 [debug] QUERY OK source="media_items" db=0.3ms idle=4.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 [4654872] 12:35:53.340 [debug] Current batch of media processed. Will check again in 1000ms 12:35:54.341 [debug] Current batch of media processed. Will check again in 1000ms 12:35:55.342 [debug] Current batch of media processed. Will check again in 1000ms 12:35:56.343 [debug] Current batch of media processed. Will check again in 1000ms 12:35:57.344 [debug] Current batch of media processed. Will check again in 1000ms 12:35:58.345 [debug] Current batch of media processed. Will check again in 1000ms 12:35:59.346 [debug] Current batch of media processed. Will check again in 1000ms 12:36:00.347 [debug] Current batch of media processed. Will check again in 1000ms 12:36:00.812 [info] {"source":"oban","duration":171,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:36:01.348 [debug] Current batch of media processed. Will check again in 1000ms 12:36:02.349 [debug] Current batch of media processed. Will check again in 1000ms 12:36:03.314 [info] {"args":{"id":163},"id":2191911,"meta":{},"system_time":1776256563313978192,"max_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:36:03.314 [debug] QUERY OK source="sources" db=0.2ms idle=304.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" = ?) [163] 12:36:03.315 [debug] QUERY OK source="settings" db=0.2ms 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 [] 12:36:03.315 [debug] QUERY OK source="media_profiles" db=0.3ms idle=305.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" = ?) [2] 12:36:03.316 [debug] QUERY OK source="settings" db=0.3ms idle=8.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:36:03.316 [debug] Fetching recent media IDs from YouTube API for playlist: UU8vdjzu_0QMQlG9qNT5D_AQ 12:36:03.316 [debug] QUERY OK source="settings" db=0.2ms idle=2.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:36:03.317 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 12:36:03.350 [debug] Current batch of media processed. Will check again in 1000ms 12:36:03.583 [debug] QUERY OK source="media_items" db=1.3ms idle=267.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [163, "AK_QSHnLvjQ", "qALXsYRF_cA", "smnHpsqBLms", "yqdOCd-jdeo", "jyUJuJhWHrs", "ZNHoFwAGFrc", "1srAVSvVOOw", "uk2FISKK7QQ", "2z-ztPJXjEU", "7L1pepENKXA", "Sv6q_F6r4DE", "mFS_V5zGaxs", "1PGqhUa4Bfg", "wbvPGTnY4Z0", "yBBSNz1Ymyo", "E6dquEKdz_M", "zD4_JqiQ7jw", "O_ynHoWd-ys", "ZkugEqFIqY4", "CfTmDWiVEqM", "iPb2DidxP48", "RFemTGJfb3Y", "_Tr7gM3Hzno", "UuvWpHA9eJ0", "0iDqCo9U78I", "b9HbLgu65cw", "2nwaI54hM2A", "2nFeIrPbzvo", "U3JjHuSfiog", "HRl29tSwTSI", "dNiviYe_iGc", "JLn7iuFdKL8", "zZRg322MXkE", "rvNKslgk6yQ", "lxVw40xOmNE", "Xw_9uYceyWo", "bD9_5xiDj8w", "jpfUutCaORQ", "nmxVTzLORDg", "7O9V1yRt15g", "n0oX65icbt4", "ry8AAFQwO-U", "1KPAD3URrFA", "ii1XRwxo04M", "jg0TYRxxYzQ", "8zv1MiJNXIk", "Z2jE4A-T2BU", "Zo9g-Mr4UXo", "qs7A7WPpjVU", ...] 12:36:03.593 [debug] QUERY OK source="media_items" db=7.9ms idle=270.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")))) [163] 12:36:03.595 [debug] QUERY OK source="tasks" db=0.2ms idle=11.8ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2191947, 163, ~U[2026-04-15 12:36:03Z], ~U[2026-04-15 12:36:03Z]] 12:36:03.596 [info] {"args":{"id":163},"id":2191911,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":281837,"event":"job:stop","queue_time":523602,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:36:04.351 [debug] Current batch of media processed. Will check again in 1000ms 12:36:05.352 [debug] Current batch of media processed. Will check again in 1000ms 12:36:06.353 [debug] Current batch of media processed. Will check again in 1000ms 12:36:07.354 [debug] Current batch of media processed. Will check again in 1000ms 12:36:07.993 [info] GET /sources/117/media/4642867 12:36:07.993 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "4642867", "prevent_download" => "true", "source_id" => "117"} Pipelines: [:browser] 12:36:07.994 [debug] QUERY OK source="media_items" db=0.3ms idle=983.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" = ?) [4642867] 12:36:07.994 [debug] QUERY OK source="tasks" db=0.1ms idle=984.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" [4642867] 12:36:07.994 [debug] QUERY OK source="sources" db=0.4ms idle=984.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" = ?) [117] 12:36:07.995 [debug] QUERY OK source="settings" db=0.2ms idle=984.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:36:07.995 [debug] QUERY OK source="settings" db=0.1ms idle=681.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:36:07.996 [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 [] 12:36:07.997 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.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" = ?) [2] 12:36:07.998 [info] Sent 200 in 5ms 12:36:08.355 [debug] Current batch of media processed. Will check again in 1000ms 12:36:09.356 [debug] Current batch of media processed. Will check again in 1000ms 12:36:10.357 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "لا تجعل بطارية السيارة الكهربائية تنخفض اكثر من عشرين بالمائة، المهندس أحمد بدر في بودكاست وبرنامج جوكاست تقديم محمود الحلبي\n#سيارات #سيارة_كهربائية #بطارية #جوكاست #podtok", "duration" => 18, "filename" => "/downloads/shorts/محمود الحلبي (جوكاست)/محمود الحلبي (جوكاست) - 2026-03-29 - [cPYFqKMVFx8].mp4", "id" => "cPYFqKMVFx8", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/cPYFqKMVFx8", "playlist_index" => 13, "timestamp" => 1774814400, "title" => "تلف البطارية", "upload_date" => "20260329"} 12:36:10.358 [debug] QUERY OK source="sources" db=0.2ms idle=1347.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" IN (?)) [219] 12:36:10.358 [debug] QUERY OK source="sources" db=0.2ms idle=1347.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" = ?) [219] 12:36:10.359 [debug] QUERY OK source="media_items" db=1.1ms idle=1348.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-29 20:00:00Z], 219] 12:36:10.361 [debug] QUERY OK source="media_items" db=0.8ms idle=1044.4ms 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" ["لا تجعل بطارية السيارة الكهربائية تنخفض اكثر من عشرين بالمائة، المهندس أحمد بدر في بودكاست وبرنامج جوكاست تقديم محمود الحلبي\n#سيارات #سيارة_كهربائية #بطارية #جوكاست #podtok", "تلف البطارية", "7409186d-0180-4f46-9cac-0505afcfa40e", 18, false, "cPYFqKMVFx8", "https://www.youtube.com/shorts/cPYFqKMVFx8", 13, "/downloads/shorts/محمود الحلبي (جوكاست)/محمود الحلبي (جوكاست) - 2026-03-29 - [cPYFqKMVFx8].mp4", false, false, true, 219, [], 98, ~U[2026-03-29 20:00:00Z], ~U[2026-04-15 12:36:10Z], ~U[2026-04-15 12:36:10Z], "لا تجعل بطارية السيارة الكهربائية تنخفض اكثر من عشرين بالمائة، المهندس أحمد بدر في بودكاست وبرنامج جوكاست تقديم محمود الحلبي\n#سيارات #سيارة_كهربائية #بطارية #جوكاست #podtok", "تلف البطارية", 18, false, "cPYFqKMVFx8", "https://www.youtube.com/shorts/cPYFqKMVFx8", "/downloads/shorts/محمود الحلبي (جوكاست)/محمود الحلبي (جوكاست) - 2026-03-29 - [cPYFqKMVFx8].mp4", true, 219, ~U[2026-03-29 20:00:00Z]] 12:36:10.361 [debug] QUERY OK source="sources" db=0.3ms idle=44.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [219] 12:36:10.362 [debug] QUERY OK source="media_profiles" db=0.4ms idle=4.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 12:36:10.363 [debug] QUERY OK source="media_items" db=0.4ms idle=4.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4629790] 12:36:10.363 [debug] Current batch of media processed. Will check again in 1000ms 12:36:11.364 [debug] Current batch of media processed. Will check again in 1000ms 12:36:11.397 [info] {"source":"oban","duration":17830,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:36:12.365 [debug] Current batch of media processed. Will check again in 1000ms 12:36:13.366 [debug] Current batch of media processed. Will check again in 1000ms 12:36:14.367 [debug] Current batch of media processed. Will check again in 1000ms 12:36:15.368 [debug] Current batch of media processed. Will check again in 1000ms 12:36:16.369 [debug] Current batch of media processed. Will check again in 1000ms 12:36:17.370 [debug] Current batch of media processed. Will check again in 1000ms 12:36:18.371 [debug] Current batch of media processed. Will check again in 1000ms 12:36:19.372 [debug] Current batch of media processed. Will check again in 1000ms 12:36:20.373 [debug] Current batch of media processed. Will check again in 1000ms 12:36:21.336 [info] {"args":{"id":391},"id":2191912,"meta":{},"system_time":1776256581336024930,"max_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:36:21.336 [debug] QUERY OK source="sources" db=0.2ms idle=1326.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" = ?) [391] 12:36:21.337 [debug] QUERY OK source="settings" db=0.2ms 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 [] 12:36:21.338 [debug] QUERY OK source="media_profiles" db=0.8ms idle=327.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" = ?) [2] 12:36:21.338 [debug] QUERY OK source="settings" db=0.2ms idle=9.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:36:21.338 [debug] Fetching recent media IDs from YouTube API for playlist: UUqeCtPANEJ9yBQlEDmls7-g 12:36:21.339 [debug] QUERY OK source="settings" db=0.1ms idle=2.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:36:21.339 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 12:36:21.374 [debug] Current batch of media processed. Will check again in 1000ms 12:36:21.686 [debug] QUERY OK source="media_items" db=1.1ms idle=348.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [391, "fFGYg9Gv-PI", "Nz-IM8VFixQ", "CqBny6zVHgo", "gq4b-6y6fjg", "msNdXd-oH0g", "lKxykq3G-A0", "VUAkGy6N4AE", "YqObusJsgS8", "zm6eC_ly39Y", "9yEs_PiP91Y", "4FXTLipWWwo", "oS5oki_lq9U", "bFoaCNYCRJc", "_aMlBzxNdjs", "2ixudzh0OLs", "ABE_3uUXV5g", "PmdbLY-aHHQ", "2Nf3W31ARvI", "UzMQ9VNE9X4", "2BzFKxLtM5g", "k0BcDAp202Y", "AS8ZpSFzevg", "2lmcFhQukbI", "LBgXoEFhEZU", "ampWD1a4UJ8", "GwW4gaxsZ30", "Nt2W_LcRvHY", "A3owMXjvxow", "3mc8IV3hQcc", "5cFgzLZrLAQ", "p1NjYE-fBlI", "jvehHAuvLxw", "OyQUOPxRn38", "5uv3uK7cGgY", "jPQSSVZM7Rg", "rNu1K9oLo34", "0W-Y07_EURc", "L86F24V6J4Y", "0Mw6vu_ccZo", "mvnx10KZs2U", "KwtY240O9FE", "LihDSBkbZmQ", "2NSTkXZrUrU", "TQQqCfeebXs", "7l1F7EUEjiM", "_2vatrsVUxw", "c2wPUyxwoV4", "s_XgXgOzizM", "czocgai2km4", ...] 12:36:21.690 [debug] QUERY OK source="media_items" db=2.8ms idle=350.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")))) [391] 12:36:21.691 [debug] QUERY OK source="tasks" db=0.3ms idle=352.4ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2191948, 391, ~U[2026-04-15 12:36:21Z], ~U[2026-04-15 12:36:21Z]] 12:36:21.692 [info] {"args":{"id":391},"id":2191912,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":355902,"event":"job:stop","queue_time":400935,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:36:22.375 [debug] Current batch of media processed. Will check again in 1000ms 12:36:23.376 [debug] Current batch of media processed. Will check again in 1000ms 12:36:24.377 [debug] Current batch of media processed. Will check again in 1000ms 12:36:25.378 [debug] Current batch of media processed. Will check again in 1000ms 12:36:26.379 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "", "duration" => 26, "filename" => "/downloads/shorts/محمود الحلبي (جوكاست)/محمود الحلبي (جوكاست) - 2026-03-28 - [7H4IvucWRio].mp4", "id" => "7H4IvucWRio", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/7H4IvucWRio", "playlist_index" => 14, "timestamp" => 1774717722, "title" => "لا تشحن السيارة الكهربائية أكثر من 80٪", "upload_date" => "20260328"} 12:36:26.379 [debug] QUERY OK source="sources" db=0.2ms idle=1369.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" IN (?)) [219] 12:36:26.380 [debug] QUERY OK source="sources" db=0.1ms idle=1369.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" = ?) [219] 12:36:26.381 [debug] QUERY OK source="media_items" db=1.2ms idle=1370.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-28 17:08:42Z], 219] 12:36:26.383 [debug] QUERY OK source="media_items" db=0.8ms idle=1047.2ms INSERT INTO "media_items" AS m0 ("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) 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" ["لا تشحن السيارة الكهربائية أكثر من 80٪", "100a173d-804e-49eb-8ec9-f95e79bcaf74", 26, false, "7H4IvucWRio", "https://www.youtube.com/shorts/7H4IvucWRio", 14, "/downloads/shorts/محمود الحلبي (جوكاست)/محمود الحلبي (جوكاست) - 2026-03-28 - [7H4IvucWRio].mp4", false, false, true, 219, [], 98, ~U[2026-03-28 17:08:42Z], ~U[2026-04-15 12:36:26Z], ~U[2026-04-15 12:36:26Z], "", "لا تشحن السيارة الكهربائية أكثر من 80٪", 26, false, "7H4IvucWRio", "https://www.youtube.com/shorts/7H4IvucWRio", "/downloads/shorts/محمود الحلبي (جوكاست)/محمود الحلبي (جوكاست) - 2026-03-28 - [7H4IvucWRio].mp4", true, 219, ~U[2026-03-28 17:08:42Z]] 12:36:26.383 [debug] QUERY OK source="sources" db=0.3ms idle=47.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" = ?) [219] 12:36:26.384 [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" = ?) [2] 12:36:26.384 [debug] QUERY OK source="media_items" db=0.4ms idle=4.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4629792] 12:36:26.385 [debug] Current batch of media processed. Will check again in 1000ms 12:36:27.386 [debug] Current batch of media processed. Will check again in 1000ms 12:36:28.387 [debug] Current batch of media processed. Will check again in 1000ms 12:36:29.388 [debug] Current batch of media processed. Will check again in 1000ms 12:36:30.389 [debug] Current batch of media processed. Will check again in 1000ms 12:36:31.390 [debug] Current batch of media processed. Will check again in 1000ms 12:36:32.391 [debug] Current batch of media processed. Will check again in 1000ms 12:36:32.943 [info] GET /sources/198/media/3793247 12:36:32.943 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "3793247", "prevent_download" => "true", "source_id" => "198"} Pipelines: [:browser] 12:36:32.944 [debug] QUERY OK source="media_items" db=0.1ms idle=933.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" = ?) [3793247] 12:36:32.944 [debug] QUERY OK source="tasks" db=0.1ms idle=934.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" [3793247] 12:36:32.944 [debug] QUERY OK source="sources" db=0.4ms idle=934.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" = ?) [198] 12:36:32.945 [debug] QUERY OK source="settings" db=0.1ms idle=935.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:36:32.945 [debug] QUERY OK source="settings" db=0.2ms idle=602.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:36:32.946 [debug] QUERY OK source="settings" db=0.1ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:36:32.947 [debug] QUERY OK source="media_profiles" db=0.2ms idle=2.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:36:32.948 [info] Sent 200 in 5ms 12:36:33.392 [debug] Current batch of media processed. Will check again in 1000ms 12:36:34.393 [debug] Current batch of media processed. Will check again in 1000ms 12:36:35.394 [debug] Current batch of media processed. Will check again in 1000ms 12:36:36.395 [debug] Current batch of media processed. Will check again in 1000ms 12:36:37.396 [debug] Current batch of media processed. Will check again in 1000ms 12:36:38.397 [debug] Current batch of media processed. Will check again in 1000ms 12:36:39.398 [debug] Current batch of media processed. Will check again in 1000ms 12:36:40.399 [debug] Current batch of media processed. Will check again in 1000ms 12:36:41.400 [debug] Current batch of media processed. Will check again in 1000ms 12:36:41.415 [info] {"source":"oban","duration":17750,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:36:42.401 [debug] Current batch of media processed. Will check again in 1000ms 12:36:43.402 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "ان تصبح كابتن تطبيق اصبح مشروع فاشل، مستشار الادارة المالية الشخصية الاستاذ محمد درويش في برنامج وبودكاست جوكاست تقديم محمود الحلبي #ديون #كابتن #كباتن", "duration" => 27, "filename" => "/downloads/shorts/محمود الحلبي (جوكاست)/محمود الحلبي (جوكاست) - 2026-03-27 - [9OH0HRZLxkY].mp4", "id" => "9OH0HRZLxkY", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/9OH0HRZLxkY", "playlist_index" => 15, "timestamp" => 1774654200, "title" => "مشروع اوبر و كريم", "upload_date" => "20260327"} 12:36:43.403 [debug] QUERY OK source="sources" db=0.2ms idle=1392.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" IN (?)) [219] 12:36:43.403 [debug] QUERY OK source="sources" db=0.2ms idle=1393.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" = ?) [219] 12:36:43.404 [debug] QUERY OK source="media_items" db=1.1ms idle=1049.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-27 23:30:00Z], 219] 12:36:43.406 [debug] QUERY OK source="media_items" db=0.8ms idle=394.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" ["ان تصبح كابتن تطبيق اصبح مشروع فاشل، مستشار الادارة المالية الشخصية الاستاذ محمد درويش في برنامج وبودكاست جوكاست تقديم محمود الحلبي #ديون #كابتن #كباتن", "مشروع اوبر و كريم", "30e0bc95-4956-4ddc-aa46-5246a87fba65", 27, false, "9OH0HRZLxkY", "https://www.youtube.com/shorts/9OH0HRZLxkY", 15, "/downloads/shorts/محمود الحلبي (جوكاست)/محمود الحلبي (جوكاست) - 2026-03-27 - [9OH0HRZLxkY].mp4", false, false, true, 219, [], 98, ~U[2026-03-27 23:30:00Z], ~U[2026-04-15 12:36:43Z], ~U[2026-04-15 12:36:43Z], "ان تصبح كابتن تطبيق اصبح مشروع فاشل، مستشار الادارة المالية الشخصية الاستاذ محمد درويش في برنامج وبودكاست جوكاست تقديم محمود الحلبي #ديون #كابتن #كباتن", "مشروع اوبر و كريم", 27, false, "9OH0HRZLxkY", "https://www.youtube.com/shorts/9OH0HRZLxkY", "/downloads/shorts/محمود الحلبي (جوكاست)/محمود الحلبي (جوكاست) - 2026-03-27 - [9OH0HRZLxkY].mp4", true, 219, ~U[2026-03-27 23:30:00Z]] 12:36:43.406 [debug] QUERY OK source="sources" db=0.3ms idle=51.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" = ?) [219] 12:36:43.407 [debug] QUERY OK source="media_profiles" db=0.2ms idle=4.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 12:36:43.408 [debug] QUERY OK source="media_items" db=0.4ms idle=3.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 [4629794] 12:36:43.408 [debug] Current batch of media processed. Will check again in 1000ms 12:36:44.409 [debug] Current batch of media processed. Will check again in 1000ms 12:36:45.410 [debug] Current batch of media processed. Will check again in 1000ms 12:36:46.411 [debug] Current batch of media processed. Will check again in 1000ms 12:36:47.412 [debug] Current batch of media processed. Will check again in 1000ms 12:36:48.413 [debug] Current batch of media processed. Will check again in 1000ms 12:36:49.414 [debug] Current batch of media processed. Will check again in 1000ms 12:36:50.369 [info] {"args":{"id":443},"id":2191913,"meta":{},"system_time":1776256610369100417,"max_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:36:50.369 [debug] QUERY OK source="sources" db=0.1ms idle=1359.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" = ?) [443] 12:36:50.370 [debug] QUERY OK source="settings" db=0.7ms idle=1359.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:36:50.370 [debug] QUERY OK source="media_profiles" db=0.2ms idle=1009.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" = ?) [2] 12:36:50.371 [debug] QUERY OK source="settings" db=0.2ms idle=8.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:36:50.371 [debug] Fetching recent media IDs from YouTube API for playlist: UUokgtRLAWKNPdfFMaSfLLbA 12:36:50.371 [debug] QUERY OK source="settings" db=0.1ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:36:50.371 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 12:36:50.415 [debug] Current batch of media processed. Will check again in 1000ms 12:36:51.371 [info] {"args":{"id":546},"id":2191914,"meta":{},"system_time":1776256611371063436,"max_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:36:51.371 [debug] QUERY OK source="sources" db=0.2ms idle=1000.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" = ?) [546] 12:36:51.372 [debug] QUERY OK source="settings" db=0.1ms idle=1000.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:36:51.372 [debug] QUERY OK source="media_profiles" db=0.2ms idle=1000.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" = ?) [2] 12:36:51.372 [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 [] 12:36:51.373 [debug] Fetching recent media IDs from YouTube API for playlist: UU452L96EaYLzAYTPAiRxKdA 12:36:51.373 [debug] QUERY OK source="settings" db=0.1ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:36:51.373 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 12:36:51.416 [debug] Current batch of media processed. Will check again in 1000ms 12:36:52.417 [debug] Current batch of media processed. Will check again in 1000ms 12:36:52.744 [debug] QUERY OK source="media_items" db=1.2ms idle=1371.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [443, "oD-QZSfOI5A", "2soSOj0KGN0", "nAbiXWcpC5k", "J6kw_Nka17Y", "e2IoGqWTX8s", "dtlPPLkCuG8", "ccc4EZfwyqg", "ZmemsVJRu3Q", "gVuzK2MUOy4", "jhtGF0DU-Us", "tdPeRTfPFug", "mYofjcnyeZM", "0tqpzvckxgU", "wp_lVw_Oemk", "_MQ322eFiM0", "PmpzFSPZmcU", "AZayZGnlOoc", "BDtCrgf6F6g", "e_3gcTBQa78", "TG58k-2U2wg", "Yf_zge2tHiw", "F7NHQ1rTVBw", "AZdFVvLhnbM", "1FJr-Rvlzfo", "-Uwz227DOXg", "xxBXGpIGDaU", "hZ4RSjsanf4", "CWuLASH1Hhg", "kxgmWGaaTSE", "p1mr39aRY1Q", "pFt6iqIug-E", "9n541lBjlso", "H8K-OVUzBP8", "UXtrfCEOPH0", "Tq6kuWhxY3k", "4sprHamH6sc", "wFO9Uo-aJJg", "M2goEYlN7wk", "6BH-hprkaBQ", "ZaVNjCXFcaQ", "__hPb3e-FK4", "Jxlr2hKwrys", "A6eWc8_bZtg", "ttgiRMWbm_s", "ENWcWveBkno", "8SU8mWL61Ek", "tcRaHb7HmAA", "o0aTw6Mv7lQ", "bbiAmRgZS1I", ...] 12:36:52.748 [debug] QUERY OK source="media_items" db=2.8ms idle=1373.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")))) [443] 12:36:52.750 [debug] QUERY OK source="tasks" db=0.3ms idle=384.1ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2191949, 443, ~U[2026-04-15 12:36:52Z], ~U[2026-04-15 12:36:52Z]] 12:36:52.751 [info] {"args":{"id":443},"id":2191913,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":2381936,"event":"job:stop","queue_time":306485,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:36:52.758 [info] {"args":{"id":408},"id":2191915,"meta":{},"system_time":1776256612758120272,"max_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:36:52.758 [debug] QUERY OK source="sources" db=0.3ms idle=8.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [408] 12:36:52.759 [debug] QUERY OK source="settings" db=0.2ms idle=8.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:36:52.759 [debug] QUERY OK source="media_profiles" db=0.3ms idle=8.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 12:36:52.760 [debug] QUERY OK source="settings" db=0.3ms idle=8.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:36:52.760 [debug] Fetching recent media IDs from YouTube API for playlist: UUN1b55nEWSpUH4dkJDbu24A 12:36:52.760 [debug] QUERY OK source="settings" db=0.2ms idle=2.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:36:52.761 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 12:36:53.200 [debug] QUERY OK source="media_items" db=1.3ms idle=440.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [546, "0d-Eo3MZIdo", "BH4YCJqDYlA", "_w6Dd9BP0C0", "euW7khacvEo", "WgBJZ1Ubsg0", "oE0vCmcN28s", "_mzQ8upmuMY", "1ypIFJz3jJw", "4ru4RjSiB98", "uMOtAsS4J3s", "Lt2M-jITUTg", "VVPOeq8vXtE", "U3zq72vSJog", "a947nJ7-Lvo", "U33HbFNz36o", "-wREg8baf4o", "f3AaiD26a6E", "cqxY60ckd9A", "o2kjrw3-kw8", "ekvQ83S0DAw", "D_Aw3z4ylsQ", "t7PTzeBUNeQ", "SeoEbrN765M", "lylZY9I_56U", "SH8Lz4NVxTc", "xX64EASCs8M", "PKrKsVzBbII", "wqU5gyoow7M", "eretrY5pnxQ", "SA0-0otEkfc", "pYj3D7t1QFk", "e8sKRE9Yt9U", "1ctTT71N7Ns", "19xtndufa6A", "WNLkyQFf4pM", "rqxHc4SgmUk", "21K3bNCgS-U", "-ybA8ZTcqcU", "gxZJ9yJjg_4", "CBk6n38J9bg", "oh5f3m8vsrs", "hMemXKyyX1o", "0sLgTRmSxII", "QDiGH9BiMwQ", "iAD8eVw6fSw", "VMCnDLDWz3A", "qivkxMSnNZc", "teq8bduREw8", "WC_DtGlrP-A", ...] 12:36:53.206 [debug] QUERY OK source="media_items" db=4.4ms idle=442.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")))) [546] 12:36:53.207 [debug] QUERY OK source="tasks" db=0.3ms idle=446.7ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2191950, 546, ~U[2026-04-15 12:36:53Z], ~U[2026-04-15 12:36:53Z]] 12:36:53.208 [info] {"args":{"id":546},"id":2191914,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":1836918,"event":"job:stop","queue_time":581332,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:36:53.215 [info] {"args":{"id":256},"id":2191916,"meta":{},"system_time":1776256613215515321,"max_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:36:53.216 [debug] QUERY OK source="sources" db=0.4ms idle=8.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [256] 12:36:53.216 [debug] QUERY OK source="settings" db=0.3ms idle=9.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:36:53.217 [debug] QUERY OK source="media_profiles" db=0.2ms idle=9.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" = ?) [2] 12:36:53.217 [debug] QUERY OK source="settings" db=0.2ms idle=9.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:36:53.217 [debug] Fetching recent media IDs from YouTube API for playlist: UUKjuhDegX8XdpWCr6nvNHzA 12:36:53.218 [debug] QUERY OK source="settings" db=0.1ms idle=2.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:36:53.218 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 12:36:53.418 [debug] Current batch of media processed. Will check again in 1000ms 12:36:53.443 [debug] QUERY OK source="media_items" db=1.1ms idle=225.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [408, "60snLY1vA0E", "8pAhbBu7gEQ", "HdrrxdODQAA", "xKT3ecAfmFA", "YZO95dUHz3c", "Mp74vJFHTXM", "kJHttBFZxF0", "DmR_cT-8-hc", "SF2w4WoIFiM", "q_i5Q_JuqV8", "Ndx_mqpAlLE", "Ig5moNWc6Vg", "Kk40lncizgI", "ZcCyOkXZVjM", "c5LyWHDR8T8", "hMlhSujkKkk", "HSjwF2XIJdw", "_G5Eiyr8Qlo", "v7-lX7mNJ68", "HudMuosHMlo", "GKFSWYSGAoc", "svWkISzIjE4", "GrL4eRQxzcY", "1k3BfSt7mFI", "iyQOowSy4A8", "_wBp4fwp64E", "UcnxU-Nvp5o", "IKICkr0QDOg", "UKwdbZm6vWI", "95n7T6LSGTY", "x44wBLwVhQM", "NFTaRxu7pug", "a7SCBCJ4XIs", "BRFviE90sMY", "MgkuBaYfHLs", "KlJXxAtvjK0", "Wn-63J_jbSA", "dXXm7I0L8Dg", "kPnJgT8MklY", "vxA2Q_mrji4", "m-5OapnOgFM", "akPHdyMUl5M", "Zt6xVHfqseQ", "mk6FncB9cAA", "sbdzFS0t1zg", "BbTzZQTIwwg", "SZrqUGh_TbQ", "TXZpfFC90NQ", "SKo3F9Mr8ac", ...] 12:36:53.445 [debug] QUERY OK source="media_items" db=0.5ms 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")))) [408] 12:36:53.447 [debug] QUERY OK source="tasks" db=0.2ms idle=78.4ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2191951, 408, ~U[2026-04-15 12:36:53Z], ~U[2026-04-15 12:36:53Z]] 12:36:53.447 [info] {"args":{"id":408},"id":2191915,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":689077,"event":"job:stop","queue_time":1713486,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:36:53.454 [info] {"args":{"id":176},"id":2191917,"meta":{},"system_time":1776256613454106805,"max_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:36:53.454 [debug] QUERY OK source="sources" db=0.2ms idle=7.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [176] 12:36:53.455 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=8.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:36:53.455 [debug] QUERY OK source="media_profiles" db=0.3ms idle=8.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 12:36:53.456 [debug] QUERY OK source="settings" db=0.2ms idle=8.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:36:53.456 [debug] Fetching recent media IDs from YouTube API for playlist: UU6F-j9LyXIK_zXY0gbYRjog 12:36:53.456 [debug] QUERY OK source="settings" db=0.1ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:36:53.456 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 12:36:53.744 [debug] QUERY OK source="media_items" db=1.3ms idle=288.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [256, "DWUkU2XDaoQ", "bVd27otzkEo", "F401cxKw1uU", "V87j3RfYskI", "RTSIfcIPHZ4", "r-6bh8Odx3k", "iEMNXXVqx7k", "2oeIvbhGdss", "sqk9bSoEIi0", "tw7_JSncn18", "Wyve63135Fk", "xOlkugUCHIQ", "ZOg-UTcOWUI", "tEwCDo5sX-g", "fJMNv2rp3Ws", "_TsErXjEPo0", "aRzn7h73ScM", "foX-0CXMqzc", "OrIJDRZ5yck", "vIY1jM73Wv8", "wk0VqC_Dp3U", "6CT5F2T1kuk", "WHEKWr_ikX0", "Nku_tw_1kfE", "x0x_PkTgmTY", "yd3ttzfK_d8", "qrLjOFq4CXQ", "TQOZbpfSpxY", "2KcmeqRBAe0", "RZ7eKXOcDZA", "fyLOfjJj4cU", "-tkxtoUZNb0", "0dLV8wNyw-k", "59Gjb5NFDVQ", "Txw1JLPYcmY", "H5BLR4XliT0", "g43xxBSEsWk", "ZBSrSI_ZUgc", "PI6qDflxIQg", "wHPDU9EoILs", "3QbyJoTM7VY", "PFckr4gh1BA", "qvU1PKff_sM", "sJzJsaWL88U", "gY9uPzofHhk", "uRXFS29DGLM", "RvxT0XEbgAg", "N3SukH8PqzM", "9hfJK_HQqho", ...] 12:36:53.747 [debug] QUERY OK source="media_items" db=1.1ms idle=290.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")))) [256] 12:36:53.750 [debug] QUERY OK source="tasks" db=0.3ms idle=5.0ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2191952, 256, ~U[2026-04-15 12:36:53Z], ~U[2026-04-15 12:36:53Z]] 12:36:53.750 [info] {"args":{"id":256},"id":2191916,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":534590,"event":"job:stop","queue_time":1837657,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:36:53.958 [info] GET /sources/424/media/4670917/force_download 12:36:53.958 [debug] QUERY OK source="settings" db=0.2ms idle=209.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:36:53.959 [debug] QUERY OK source="settings" db=0.2ms idle=209.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:36:53.959 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 12:36:53.959 [error] #PID<0.5282.0> running PinchflatWeb.Endpoint (connection #PID<0.5281.0>, stream id 1) terminated Server: jak.hibeex.com:80 (http) Request: GET /sources/424/media/4670917/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/424/media/4670917/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5281.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/424/media/4670917/force_download", host: "jak.hibeex.com", peer: {{172, 22, 0, 1}, 47128}, bindings: %{}, sock: {{172, 22, 0, 4}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYWGpKQ0JXdzVFb0g2VzFBel9yM1FWQmsy.0giMuvJCeYgdTrkc93NpTfBaljVgbsC43Z0Ae_pIrPc", "from" => "gptbot(at)openai.com", "host" => "jak.hibeex.com", "referer" => "https://jak.hibeex.com/sources/424/media/4670917?prevent_download=true", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.232", "x-forwarded-proto" => "https", "x-openai-host-hash" => "41517590", "x-real-ip" => "74.7.243.232" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYWGpKQ0JXdzVFb0g2VzFBel9yM1FWQmsy.0giMuvJCeYgdTrkc93NpTfBaljVgbsC43Z0Ae_pIrPc" }, halted: false, host: "jak.hibeex.com", method: "GET", owner: #PID<0.5282.0>, params: %{}, path_info: ["sources", "424", "media", "4670917", "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://jak.hibeex.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 22, 0, 1}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYWGpKQ0JXdzVFb0g2VzFBel9yM1FWQmsy.0giMuvJCeYgdTrkc93NpTfBaljVgbsC43Z0Ae_pIrPc" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"connection", "close"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYWGpKQ0JXdzVFb0g2VzFBel9yM1FWQmsy.0giMuvJCeYgdTrkc93NpTfBaljVgbsC43Z0Ae_pIrPc"}, {"from", "gptbot(at)openai.com"}, {"host", "jak.hibeex.com"}, {"referer", "https://jak.hibeex.com/sources/424/media/4670917?prevent_download=true"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)"}, {"x-forwarded-for", "74.7.243.232"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "41517590"}, {"x-real-ip", "74.7.243.232"} ], request_path: "/sources/424/media/4670917/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKaH-rjqj0gUdW0AAfAC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5281.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/424/media/4670917/force_download", host: "jak.hibeex.com", peer: {{172, 22, 0, 1}, 47128}, bindings: %{}, sock: {{172, 22, 0, 4}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYWGpKQ0JXdzVFb0g2VzFBel9yM1FWQmsy.0giMuvJCeYgdTrkc93NpTfBaljVgbsC43Z0Ae_pIrPc", "from" => "gptbot(at)openai.com", "host" => "jak.hibeex.com", "referer" => "https://jak.hibeex.com/sources/424/media/4670917?prevent_download=true", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.232", "x-forwarded-proto" => "https", "x-openai-host-hash" => "41517590", "x-real-ip" => "74.7.243.232" }, method: "GET", body_length: 0, path_info: :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/424/media/4670917/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5281.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/424/media/4670917/force_download", host: "jak.hibeex.com", peer: {{172, 22, 0, 1}, 47128}, bindings: %{}, sock: {{172, 22, 0, 4}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYWGpKQ0JXdzVFb0g2VzFBel9yM1FWQmsy.0giMuvJCeYgdTrkc93NpTfBaljVgbsC43Z0Ae_pIrPc", "from" => "gptbot(at)openai.com", "host" => "jak.hibeex.com", "referer" => "https://jak.hibeex.com/sources/424/media/4670917?prevent_download=true", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.232", "x-forwarded-proto" => "https", "x-openai-host-hash" => "41517590", "x-real-ip" => "74.7.243.232" }, method: "GET", body_length: 0, path_info: :und (truncated) 12:36:54.000 [debug] QUERY OK source="media_items" db=1.3ms idle=248.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [176, "VrP9i5gRFmM", "WEoJyqjOLDs", "V3MNyEwmqr8", "qhNxSY35WZU", "rkb-6qjO3YM", "r_NzVN4OmIs", "YTpf0mOXNrI", "oNyFz82BVzY", "rK_Mp0leQUk", "rOIPOkqFo4o", "s-yFsryoeeA", "vHIVeqvO4aQ", "knyKlUZIwYQ", "irSIienUQd4", "eM9SB2Ny8lc", "vqZ6zySlGOU", "UdkGF_z3Aks", "ZPeBeS87EeI", "s7Ajz6YL2ZE", "rWmx74av4x4", "tNXj29ZS0VY", "oISdxagKMBI", "RVo_ar7OSDk", "dFcdYCKkc3Q", "jJmOjPGDdHQ", "uNFmnch6DkU", "agDEZAVDYAU", "I-sJTe9u0j4", "v8e_tW3NX0Y", "qGe25_jFNQ0", "0pMIwYMKE9w", "5ZYWspIqYLw", "vHH0LheJQFs", "VFlYnIQiIUo", "xQtI8cE7Igc", "cDH4cPa7XJM", "6F93shePog0", "Vn0A4aUTSbY", "yU0CccqqaX0", "tEEfMkbYfUY", "8DRBW9BERJM", "Mo6Z427HkdA", "C_hN-U1qgUo", "ACz-TF_Ln-w", "EvO9y5iGN-U", "tqH-9fmPdI0", "DnW4gL41yQc", "VDVDUOJgS9s", "0_mxyqK3sDk", ...] 12:36:54.001 [debug] QUERY OK source="media_items" db=0.6ms idle=250.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")))) [176] 12:36:54.003 [debug] QUERY OK source="tasks" db=0.1ms idle=43.9ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2191953, 176, ~U[2026-04-15 12:36:54Z], ~U[2026-04-15 12:36:54Z]] 12:36:54.003 [info] {"args":{"id":176},"id":2191917,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":549309,"event":"job:stop","queue_time":1820107,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:36:54.419 [debug] Current batch of media processed. Will check again in 1000ms 12:36:55.420 [debug] Current batch of media processed. Will check again in 1000ms 12:36:56.421 [debug] Current batch of media processed. Will check again in 1000ms 12:36:57.422 [debug] Current batch of media processed. Will check again in 1000ms 12:36:58.423 [debug] Current batch of media processed. Will check again in 1000ms 12:36:59.424 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "ألم عصب الأسنان😢 أصعب من ألم طلق الولادة 👶.. الدكتورة نور حلبي طب أسنان في البودكاست الأردني جوكاست", "duration" => 21, "filename" => "/downloads/shorts/محمود الحلبي (جوكاست)/محمود الحلبي (جوكاست) - 2026-03-23 - [nO2gE7cj3ro].mp4", "id" => "nO2gE7cj3ro", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/nO2gE7cj3ro", "playlist_index" => 16, "timestamp" => 1774256457, "title" => "ألم عصب الأسنان😢", "upload_date" => "20260323"} 12:36:59.424 [debug] QUERY OK source="sources" db=0.2ms idle=1046.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" IN (?)) [219] 12:36:59.425 [debug] QUERY OK source="sources" db=0.2ms idle=414.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" = ?) [219] 12:36:59.426 [debug] QUERY OK source="media_items" db=1.2ms idle=415.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-23 09:00:57Z], 219] 12:36:59.429 [debug] QUERY OK source="media_items" db=1.7ms idle=417.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" ["ألم عصب الأسنان😢 أصعب من ألم طلق الولادة 👶.. الدكتورة نور حلبي طب أسنان في البودكاست الأردني جوكاست", "ألم عصب الأسنان😢", "fafcb165-11bb-4f26-b0a9-cd23ea189bf6", 21, false, "nO2gE7cj3ro", "https://www.youtube.com/shorts/nO2gE7cj3ro", 16, "/downloads/shorts/محمود الحلبي (جوكاست)/محمود الحلبي (جوكاست) - 2026-03-23 - [nO2gE7cj3ro].mp4", false, false, true, 219, [], 98, ~U[2026-03-23 09:00:57Z], ~U[2026-04-15 12:36:59Z], ~U[2026-04-15 12:36:59Z], "ألم عصب الأسنان😢 أصعب من ألم طلق الولادة 👶.. الدكتورة نور حلبي طب أسنان في البودكاست الأردني جوكاست", "ألم عصب الأسنان😢", 21, false, "nO2gE7cj3ro", "https://www.youtube.com/shorts/nO2gE7cj3ro", "/downloads/shorts/محمود الحلبي (جوكاست)/محمود الحلبي (جوكاست) - 2026-03-23 - [nO2gE7cj3ro].mp4", true, 219, ~U[2026-03-23 09:00:57Z]] 12:36:59.429 [debug] QUERY OK source="sources" db=0.3ms idle=50.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" = ?) [219] 12:36:59.430 [debug] QUERY OK source="media_profiles" db=0.3ms idle=5.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 12:36:59.431 [debug] QUERY OK source="media_items" db=0.4ms idle=5.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4629796] 12:36:59.431 [debug] Current batch of media processed. Will check again in 1000ms 12:37:00.387 [info] {"args":{"id":548},"id":2191918,"meta":{},"system_time":1776256620387307757,"max_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:37:00.387 [debug] QUERY OK source="sources" db=0.3ms idle=957.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" = ?) [548] 12:37:00.388 [debug] QUERY OK source="settings" db=0.1ms idle=957.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:37:00.388 [debug] QUERY OK source="media_profiles" db=0.3ms idle=957.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" = ?) [2] 12:37:00.389 [debug] QUERY OK source="settings" db=0.2ms idle=8.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:37:00.389 [debug] Fetching recent media IDs from YouTube API for playlist: UUKIe0D8roD7OIY6GUZey4kA 12:37:00.389 [debug] QUERY OK source="settings" db=0.1ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:37:00.389 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 12:37:00.432 [debug] Current batch of media processed. Will check again in 1000ms 12:37:00.724 [debug] QUERY OK source="media_items" db=1.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [548, "PfYHk-vjB_A", "2BuBWoUgyqk", "AAe4lJr8LMM", "f6a1cd0qIxk", "8CazQzCY3t4", "k_P0qA3sX5U", "sXQ4VA_qjEY", "Dp250ZKHJvk", "mPyaYSsntuQ", "fTqrxHYDV5I", "3sQXejmW6wI", "XJMyqh9XYjY", "lU_i_QnA1S4", "P2CObeRek_k", "UwhNyYKx5X0", "428okyYmv44", "6fqMb-oK-Xg", "mHjmfW7C5Uo", "bat3ptnzuc8", "ELACjXyUUtw", "IRUYXKvvbXU", "U8eH_biTWGw", "S5ontcrzHhU", "zybPVOUlIqM", "YjgY6OmtJLs", "dmyIkdPaWP8", "zlieCi6Tfsg", "5IgGWjGjOZc", "JR2faI1-OQU", "kpdNGZo3xQs", "L5VHg61PP5c", "HqM_WjUA12o", "bJgA5PhNu8M", "u4HpsaGxe_A", "wdJNBZvvtmA", "6nDTPvnPiy0", "LWpibL8P5B8", "F4eYz8hOg2g", "Vga4Xk3lkn0", "IWOLQphzwqA", "nKeMdr6iVts", "O29G6yd4URM", "m5qGxBjn1KM", "IYYcLFicyM8", "PfB9Sc92vYA", "ofLrgtXQLq4", "2cpOCFmVcvw", "KSbDk4A_DWc", "g2MNyRTZXIc", ...] 12:37:00.726 [debug] QUERY OK source="media_items" db=1.3ms idle=337.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")))) [548] 12:37:00.728 [debug] QUERY OK source="tasks" db=0.3ms idle=338.7ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2191954, 548, ~U[2026-04-15 12:37:00Z], ~U[2026-04-15 12:37:00Z]] 12:37:00.729 [info] {"args":{"id":548},"id":2191918,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":341676,"event":"job:stop","queue_time":354469,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:37:00.813 [info] {"source":"oban","duration":116,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:37:01.389 [info] {"args":{"id":116},"id":2191919,"meta":{},"system_time":1776256621389115128,"max_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:37:01.389 [debug] QUERY OK source="sources" db=0.3ms idle=659.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" = ?) [116] 12:37:01.390 [debug] QUERY OK source="settings" db=0.2ms idle=653.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:37:01.390 [debug] QUERY OK source="media_profiles" db=0.2ms idle=577.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" = ?) [2] 12:37:01.391 [debug] QUERY OK source="settings" db=0.2ms idle=8.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:37:01.391 [debug] Fetching recent media IDs from YouTube API for playlist: UU4vo6vxydWDmBa84KMKhiXw 12:37:01.391 [debug] QUERY OK source="settings" db=0.1ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:37:01.391 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 12:37:01.433 [debug] Current batch of media processed. Will check again in 1000ms 12:37:01.918 [debug] QUERY OK source="media_items" db=1.3ms 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 WHERE ((m0."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [116, "678MQRWDzLE", "kfMP1FlsZ-Y", "IB-kOvrzKX8", "TdtuOizJSew", "AQUU0tZDwfI", "Wn3MRd9Wuro", "S7DdtEy9Jgg", "CV5yz6G2Z9w", "q36ovsRziNo", "odjn_S9EIdQ", "FSsKyw-iEzY", "wjMtWMa1A80", "ABWJtxsG3eU", "k4XabFYYE7Q", "5pfiBaTNIsQ", "zRDynSEI6Fk", "iD1AGYL4bR0", "t-8_25lfMJM", "Oe_TXmyWqJ8", "0NzC4S1dgM0", "9cULliuD6nE", "EDO5ReEwdio", "XdeqVSzgy2U", "TTAXcbQpEaE", "ECAr_67wdPM", "LLacJ65FK6Y", "muI5rDkVn3A", "EbMCcAmbOOo", "IkKAj4Ki2sc", "SSGgoLGe4tY", "BT7x8jDjP_0", "duHnTnv43l8", "qWRjcOH3A38", "sZeBxpZHl_8", "269E9Qg_TJ8", "K5TDrxiDhmg", "phQpyBEcPbM", "y20UfhdVbKY", "ProjJh_PVb4", "U35NNywKWkw", "HvjbSZ1jNpQ", "ab3H7nqA4iQ", "8Fg9GartJlE", "52y4kIvGb5s", "Q8yBHGBwAnc", "rFtQq4npWC4", "5LTTw4DBUwQ", "IhN1EwbuSJE", "wIZyMQGpzEs", ...] 12:37:01.926 [debug] QUERY OK source="media_items" db=6.0ms idle=529.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")))) [116] 12:37:01.928 [debug] QUERY OK source="tasks" db=0.3ms idle=536.1ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2191955, 116, ~U[2026-04-15 12:37:01Z], ~U[2026-04-15 12:37:01Z]] 12:37:01.928 [info] {"args":{"id":116},"id":2191919,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":539181,"event":"job:stop","queue_time":227102,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:37:02.434 [debug] Current batch of media processed. Will check again in 1000ms 12:37:03.435 [debug] Current batch of media processed. Will check again in 1000ms 12:37:04.436 [debug] Current batch of media processed. Will check again in 1000ms 12:37:05.394 [info] {"args":{"id":191},"id":2191920,"meta":{},"system_time":1776256625394125475,"max_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:37:05.394 [debug] QUERY OK source="sources" db=0.3ms idle=384.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" = ?) [191] 12:37:05.395 [debug] QUERY OK source="settings" db=0.2ms idle=384.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:37:05.395 [debug] QUERY OK source="media_profiles" db=0.3ms idle=385.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" = ?) [2] 12:37:05.396 [debug] QUERY OK source="settings" db=0.2ms idle=8.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:37:05.396 [debug] Fetching recent media IDs from YouTube API for playlist: UUaA8WJj7rZtNb41Bb34tnTA 12:37:05.396 [debug] QUERY OK source="settings" db=0.1ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:37:05.396 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 12:37:05.437 [debug] Current batch of media processed. Will check again in 1000ms 12:37:05.731 [debug] QUERY OK source="media_items" db=1.1ms idle=335.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [191, "jZPBvl0cOVg", "JAPsrunU5Lg", "9Vx5IKgj6FE", "ISsGIXK0DAo", "Id20bd5X2iU", "x6VkSJy4HNw", "2IR8K7NYkNo", "_DKN9NK3Vg4", "gG7-BfNX30Q", "liy01fr1yBE", "Jlh8uBe7RFY", "9cXfBEwntzA", "qacVmM42e_o", "O4wwG8qBqXs", "1fBaNL_3JHs", "BzxEZMf3Rjc", "AvL2XPACjik", "tuWjvViGp4o", "hzy4lCK6rM8", "H0KL7u9cC1M", "8XEOshhKUPU", "rTXEC3VFqVo", "SNRZzKVH754", "eZEP7qSvMWQ", "DsbsadX-7Rw", "oNX2TzH926Q", "ClJpxV5rPkE", "5GGq9OhxbeY", "bZMwkPXAI-0", "aGAwKq2voMw", "A7Z9XghbCsE", "jBEX06n7cWQ", "UPbV21bn7Mg", "1UgURk7PuQg", "_vndBPsf0vQ", "0UJZmJzzLVI", "EUGuC62oYgg", "ABAOXlx_WuY", "4siwTxHoj5k", "IJthhi9-Ex4", "EL8VyinqjXI", "ElgT-WHpxvk", "XigqTb7Y5OQ", "RIT7GX_bO1Y", "3wQqHyMG3yo", "X6JeIE1t1pQ", "swJSgogb9ys", "DRZ6y0qceR4", "CS-oesi4GLs", ...] 12:37:05.735 [debug] QUERY OK source="media_items" db=2.4ms idle=337.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")))) [191] 12:37:05.736 [debug] QUERY OK source="tasks" db=0.3ms idle=339.7ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2191956, 191, ~U[2026-04-15 12:37:05Z], ~U[2026-04-15 12:37:05Z]] 12:37:05.737 [info] {"args":{"id":191},"id":2191920,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":342709,"event":"job:stop","queue_time":415883,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:37:06.438 [debug] Current batch of media processed. Will check again in 1000ms 12:37:07.439 [debug] Current batch of media processed. Will check again in 1000ms 12:37:08.440 [debug] Current batch of media processed. Will check again in 1000ms 12:37:09.441 [debug] Current batch of media processed. Will check again in 1000ms 12:37:10.442 [debug] Current batch of media processed. Will check again in 1000ms 12:37:11.435 [info] {"source":"oban","duration":17787,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:37:11.443 [debug] Current batch of media processed. Will check again in 1000ms 12:37:12.444 [debug] Current batch of media processed. Will check again in 1000ms 12:37:12.784 [info] GET /sources/478/media/4342205 12:37:12.784 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "4342205", "prevent_download" => "true", "source_id" => "478"} Pipelines: [:browser] 12:37:12.784 [debug] QUERY OK source="media_items" db=0.2ms idle=1774.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" = ?) [4342205] 12:37:12.785 [debug] QUERY OK source="tasks" db=0.1ms idle=1774.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" [4342205] 12:37:12.785 [debug] QUERY OK source="sources" db=0.3ms idle=1391.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" = ?) [478] 12:37:12.786 [debug] QUERY OK source="settings" db=0.1ms idle=1350.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:37:12.786 [debug] QUERY OK source="settings" db=0.2ms idle=391.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:37:12.787 [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 [] 12:37:12.787 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 12:37:12.789 [info] Sent 200 in 5ms 12:37:13.445 [debug] Current batch of media processed. Will check again in 1000ms 12:37:14.446 [debug] Current batch of media processed. Will check again in 1000ms 12:37:15.447 [debug] Current batch of media processed. Will check again in 1000ms 12:37:16.448 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "", "duration" => 34, "filename" => "/downloads/shorts/محمود الحلبي (جوكاست)/محمود الحلبي (جوكاست) - 2026-03-21 - [O3ZCKaQ2vBk].mp4", "id" => "O3ZCKaQ2vBk", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/O3ZCKaQ2vBk", "playlist_index" => 17, "timestamp" => 1774110429, "title" => "اسئلة سريعة عن الادمان والمخدرات مع انس بيك الطنطاوي بودكاست جوكاست تقديم محمود الحلبي#مخدات #الأردن", "upload_date" => "20260321"} 12:37:16.448 [debug] QUERY OK source="sources" db=0.1ms idle=438.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" IN (?)) [219] 12:37:16.448 [debug] QUERY OK source="sources" db=0.1ms idle=438.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" = ?) [219] 12:37:16.449 [debug] QUERY OK source="media_items" db=0.7ms idle=438.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-21 16:27:09Z], 219] 12:37:16.450 [debug] QUERY OK source="media_items" db=0.4ms idle=439.6ms INSERT INTO "media_items" AS m0 ("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) 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" ["اسئلة سريعة عن الادمان والمخدرات مع انس بيك الطنطاوي بودكاست جوكاست تقديم محمود الحلبي#مخدات #الأردن", "6996c0e8-d0bf-4e44-96f0-749fbc99b75d", 34, false, "O3ZCKaQ2vBk", "https://www.youtube.com/shorts/O3ZCKaQ2vBk", 17, "/downloads/shorts/محمود الحلبي (جوكاست)/محمود الحلبي (جوكاست) - 2026-03-21 - [O3ZCKaQ2vBk].mp4", false, false, true, 219, [], 98, ~U[2026-03-21 16:27:09Z], ~U[2026-04-15 12:37:16Z], ~U[2026-04-15 12:37:16Z], "", "اسئلة سريعة عن الادمان والمخدرات مع انس بيك الطنطاوي بودكاست جوكاست تقديم محمود الحلبي#مخدات #الأردن", 34, false, "O3ZCKaQ2vBk", "https://www.youtube.com/shorts/O3ZCKaQ2vBk", "/downloads/shorts/محمود الحلبي (جوكاست)/محمود الحلبي (جوكاست) - 2026-03-21 - [O3ZCKaQ2vBk].mp4", true, 219, ~U[2026-03-21 16:27:09Z]] 12:37:16.451 [debug] QUERY OK source="sources" db=0.5ms idle=51.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" = ?) [219] 12:37:16.451 [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" = ?) [2] 12:37:16.451 [debug] QUERY OK source="media_items" db=0.2ms idle=2.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4629798] 12:37:16.451 [debug] Current batch of media processed. Will check again in 1000ms 12:37:17.452 [debug] Current batch of media processed. Will check again in 1000ms 12:37:18.453 [debug] Current batch of media processed. Will check again in 1000ms 12:37:19.454 [debug] Current batch of media processed. Will check again in 1000ms 12:37:20.455 [debug] Current batch of media processed. Will check again in 1000ms 12:37:21.456 [debug] Current batch of media processed. Will check again in 1000ms 12:37:22.457 [debug] Current batch of media processed. Will check again in 1000ms 12:37:23.458 [debug] Current batch of media processed. Will check again in 1000ms 12:37:24.459 [debug] Current batch of media processed. Will check again in 1000ms 12:37:25.460 [debug] Current batch of media processed. Will check again in 1000ms 12:37:26.461 [debug] Current batch of media processed. Will check again in 1000ms 12:37:27.462 [debug] Current batch of media processed. Will check again in 1000ms 12:37:28.463 [debug] Current batch of media processed. Will check again in 1000ms 12:37:29.464 [debug] Current batch of media processed. Will check again in 1000ms 12:37:30.465 [debug] Current batch of media processed. Will check again in 1000ms 12:37:31.466 [debug] Current batch of media processed. Will check again in 1000ms 12:37:32.467 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "", "duration" => 30, "filename" => "/downloads/shorts/محمود الحلبي (جوكاست)/محمود الحلبي (جوكاست) - 2026-03-20 - [G33gbJpDVho].mp4", "id" => "G33gbJpDVho", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/G33gbJpDVho", "playlist_index" => 18, "timestamp" => 1774044313, "title" => "إشاعة الملك ميشع اخترع المنسف مع المؤرخ والدكتور بكر خازر المجالي. جوكاست تقديم محمود الحلبي #منسف", "upload_date" => "20260320"} 12:37:32.467 [debug] QUERY OK source="sources" db=0.1ms idle=457.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" IN (?)) [219] 12:37:32.468 [debug] QUERY OK source="sources" db=0.1ms idle=457.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" = ?) [219] 12:37:32.469 [debug] QUERY OK source="media_items" db=1.1ms idle=458.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-20 22:05:13Z], 219] 12:37:32.470 [debug] QUERY OK source="media_items" db=0.7ms idle=459.5ms INSERT INTO "media_items" AS m0 ("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) 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" ["إشاعة الملك ميشع اخترع المنسف مع المؤرخ والدكتور بكر خازر المجالي. جوكاست تقديم محمود الحلبي #منسف", "ced92766-baf8-4cfb-badb-72715d34af08", 30, false, "G33gbJpDVho", "https://www.youtube.com/shorts/G33gbJpDVho", 18, "/downloads/shorts/محمود الحلبي (جوكاست)/محمود الحلبي (جوكاست) - 2026-03-20 - [G33gbJpDVho].mp4", false, false, true, 219, [], 98, ~U[2026-03-20 22:05:13Z], ~U[2026-04-15 12:37:32Z], ~U[2026-04-15 12:37:32Z], "", "إشاعة الملك ميشع اخترع المنسف مع المؤرخ والدكتور بكر خازر المجالي. جوكاست تقديم محمود الحلبي #منسف", 30, false, "G33gbJpDVho", "https://www.youtube.com/shorts/G33gbJpDVho", "/downloads/shorts/محمود الحلبي (جوكاست)/محمود الحلبي (جوكاست) - 2026-03-20 - [G33gbJpDVho].mp4", true, 219, ~U[2026-03-20 22:05:13Z]] 12:37:32.471 [debug] QUERY OK source="sources" db=0.2ms idle=50.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" = ?) [219] 12:37:32.471 [debug] QUERY OK source="media_profiles" db=0.3ms idle=3.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 12:37:32.472 [debug] QUERY OK source="media_items" db=0.3ms idle=3.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4629800] 12:37:32.472 [debug] Current batch of media processed. Will check again in 1000ms 12:37:33.473 [debug] Current batch of media processed. Will check again in 1000ms 12:37:34.474 [debug] Current batch of media processed. Will check again in 1000ms 12:37:35.475 [debug] Current batch of media processed. Will check again in 1000ms 12:37:36.476 [debug] Current batch of media processed. Will check again in 1000ms 12:37:37.477 [debug] Current batch of media processed. Will check again in 1000ms 12:37:38.478 [debug] Current batch of media processed. Will check again in 1000ms 12:37:39.479 [debug] Current batch of media processed. Will check again in 1000ms 12:37:40.480 [debug] Current batch of media processed. Will check again in 1000ms 12:37:41.453 [info] {"source":"oban","duration":17491,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:37:41.481 [debug] Current batch of media processed. Will check again in 1000ms 12:37:42.482 [debug] Current batch of media processed. Will check again in 1000ms 12:37:43.483 [debug] Current batch of media processed. Will check again in 1000ms 12:37:44.484 [debug] Current batch of media processed. Will check again in 1000ms 12:37:45.485 [debug] Current batch of media processed. Will check again in 1000ms 12:37:46.486 [debug] Current batch of media processed. Will check again in 1000ms 12:37:47.487 [debug] Current batch of media processed. Will check again in 1000ms 12:37:48.488 [debug] Current batch of media processed. Will check again in 1000ms 12:37:49.489 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "ابشع جريمة حدثت لطفل بسبب المخدات يرويها انس الطنطاوي في برنامج وبودكاست جوكاست تقديم محمود الحلبي", "duration" => 55, "filename" => "/downloads/shorts/محمود الحلبي (جوكاست)/محمود الحلبي (جوكاست) - 2026-03-19 - [5OxKsAfSbf0].mp4", "id" => "5OxKsAfSbf0", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/5OxKsAfSbf0", "playlist_index" => 19, "timestamp" => 1773882005, "title" => "ابشع جريمة", "upload_date" => "20260319"} 12:37:49.489 [debug] QUERY OK source="sources" db=0.2ms idle=1479.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" IN (?)) [219] 12:37:49.490 [debug] QUERY OK source="sources" db=0.1ms idle=1479.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" = ?) [219] 12:37:49.491 [debug] QUERY OK source="media_items" db=1.1ms idle=1053.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-19 01:00:05Z], 219] 12:37:49.492 [debug] QUERY OK source="media_items" db=0.7ms idle=481.8ms 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" ["ابشع جريمة حدثت لطفل بسبب المخدات يرويها انس الطنطاوي في برنامج وبودكاست جوكاست تقديم محمود الحلبي", "ابشع جريمة", "149ce655-df33-4646-b78f-9ce1b3598afb", 55, false, "5OxKsAfSbf0", "https://www.youtube.com/shorts/5OxKsAfSbf0", 19, "/downloads/shorts/محمود الحلبي (جوكاست)/محمود الحلبي (جوكاست) - 2026-03-19 - [5OxKsAfSbf0].mp4", false, false, true, 219, [], 98, ~U[2026-03-19 01:00:05Z], ~U[2026-04-15 12:37:49Z], ~U[2026-04-15 12:37:49Z], "ابشع جريمة حدثت لطفل بسبب المخدات يرويها انس الطنطاوي في برنامج وبودكاست جوكاست تقديم محمود الحلبي", "ابشع جريمة", 55, false, "5OxKsAfSbf0", "https://www.youtube.com/shorts/5OxKsAfSbf0", "/downloads/shorts/محمود الحلبي (جوكاست)/محمود الحلبي (جوكاست) - 2026-03-19 - [5OxKsAfSbf0].mp4", true, 219, ~U[2026-03-19 01:00:05Z]] 12:37:49.493 [debug] QUERY OK source="sources" db=0.3ms idle=55.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" = ?) [219] 12:37:49.494 [debug] QUERY OK source="media_profiles" db=0.8ms idle=3.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 12:37:49.495 [debug] QUERY OK source="media_items" db=0.3ms idle=4.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 [4629802] 12:37:49.495 [debug] Current batch of media processed. Will check again in 1000ms 12:37:50.496 [debug] Current batch of media processed. Will check again in 1000ms 12:37:51.497 [debug] Current batch of media processed. Will check again in 1000ms 12:37:52.498 [debug] Current batch of media processed. Will check again in 1000ms 12:37:53.499 [debug] Current batch of media processed. Will check again in 1000ms 12:37:54.500 [debug] Current batch of media processed. Will check again in 1000ms 12:37:55.501 [debug] Current batch of media processed. Will check again in 1000ms 12:37:56.502 [debug] Current batch of media processed. Will check again in 1000ms 12:37:57.503 [debug] Current batch of media processed. Will check again in 1000ms 12:37:58.504 [debug] Current batch of media processed. Will check again in 1000ms 12:37:59.505 [debug] Current batch of media processed. Will check again in 1000ms 12:38:00.506 [debug] Current batch of media processed. Will check again in 1000ms 12:38:00.814 [info] {"source":"oban","duration":132,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:38:01.458 [info] {"args":{"id":398},"id":2191922,"meta":{},"system_time":1776256681458176044,"max_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:38:01.458 [debug] QUERY OK source="sources" db=0.3ms idle=448.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" = ?) [398] 12:38:01.459 [debug] QUERY OK source="settings" db=0.3ms idle=448.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:38:01.459 [debug] QUERY OK source="media_profiles" db=0.3ms idle=449.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" = ?) [2] 12:38:01.460 [debug] QUERY OK source="settings" db=0.2ms idle=8.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:38:01.460 [debug] Fetching recent media IDs from YouTube API for playlist: UUCbIqqUYqlvskcT4UJKgp0A 12:38:01.460 [debug] QUERY OK source="settings" db=0.1ms idle=2.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:38:01.461 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 12:38:01.507 [debug] Current batch of media processed. Will check again in 1000ms 12:38:01.788 [debug] QUERY OK source="media_items" db=1.4ms idle=328.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [398, "TMMZYc9IgDA", "17sWgRsYQqY", "ZpjrNISTUh0", "NEeBdV2GB8U", "6UEKxr0CjGg", "NWCVD7myp4o", "MhK3gfLvTNw", "eEHajx5JzSs", "I4XkUPlVuNA", "BBHjfuE8uYc", "oaummeIbyiE", "IAYtkgRgV1o", "4zhXB40pfuQ", "O0-9r7OeVjg", "BR1SZVInqnw", "7wBlas-p7zU", "xEHgIoiu8WU", "2zWSjk5Vqn8", "7xtXhYC1oLM", "8bg5pYHU1rU", "StfQN_0vmWs", "kSuw_nrQou0", "--cc1UnTZOM", "v02AjJzWA5c", "gTuMrWqxe7s", "p-v9j1CbD5s", "3YFqKJeDWQk", "X5EsXmOGxkQ", "zkCjl4vhiVI", "QBLbqY5Ea-U", "p1Ca3rBtM_0", "80PF1Vatv4o", "cof4ynZjXTg", "aNEFg5WCC_s", "1l8S9eDgjms", "fQG9_ZWhmps", "mG6ZDr2-_0E", "SGZJHTfLUFY", "sIbaqt6JzeU", "YTFHrYqpmDA", "EggNQNf4-xg", "SDmB0xlDdw0", "d55qkSwiDEo", "75tg3p5h8K8", "NN-DFa3l_xs", "ICTzn9oQJjQ", "lGi0YQw2FHw", "uo6mStUoJjc", "fYOGrcWS7vk", ...] 12:38:01.792 [debug] QUERY OK source="media_items" db=1.9ms idle=330.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")))) [398] 12:38:01.794 [debug] QUERY OK source="tasks" db=0.4ms idle=333.0ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2191957, 398, ~U[2026-04-15 12:38:01Z], ~U[2026-04-15 12:38:01Z]] 12:38:01.795 [info] {"args":{"id":398},"id":2191922,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":336364,"event":"job:stop","queue_time":451930,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:38:02.508 [debug] Current batch of media processed. Will check again in 1000ms 12:38:03.509 [debug] Current batch of media processed. Will check again in 1000ms 12:38:04.510 [debug] Current batch of media processed. Will check again in 1000ms 12:38:05.511 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "يقوم المزارعين بأخذ البذور استخدامها للموسم القادم ولكن البذور المعدلة لا تصلح لذلك #جوكاست", "duration" => 33, "filename" => "/downloads/shorts/محمود الحلبي (جوكاست)/محمود الحلبي (جوكاست) - 2026-03-17 - [48Vwd1HdA_o].mp4", "id" => "48Vwd1HdA_o", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/48Vwd1HdA_o", "playlist_index" => 20, "timestamp" => 1773766808, "title" => "البذور المعدلة لا تصلح ليث دويكات", "upload_date" => "20260317"} 12:38:05.512 [debug] QUERY OK source="sources" db=0.3ms idle=501.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" IN (?)) [219] 12:38:05.512 [debug] QUERY OK source="sources" db=0.2ms idle=502.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" = ?) [219] 12:38:05.514 [debug] QUERY OK source="media_items" db=1.2ms idle=502.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-17 17:00:08Z], 219] 12:38:05.515 [debug] QUERY OK source="media_items" db=0.8ms idle=504.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" ["يقوم المزارعين بأخذ البذور استخدامها للموسم القادم ولكن البذور المعدلة لا تصلح لذلك #جوكاست", "البذور المعدلة لا تصلح ليث دويكات", "2c6c0e42-19d2-4782-b921-e55d1ba6ebbe", 33, false, "48Vwd1HdA_o", "https://www.youtube.com/shorts/48Vwd1HdA_o", 20, "/downloads/shorts/محمود الحلبي (جوكاست)/محمود الحلبي (جوكاست) - 2026-03-17 - [48Vwd1HdA_o].mp4", false, false, true, 219, [], 98, ~U[2026-03-17 17:00:08Z], ~U[2026-04-15 12:38:05Z], ~U[2026-04-15 12:38:05Z], "يقوم المزارعين بأخذ البذور استخدامها للموسم القادم ولكن البذور المعدلة لا تصلح لذلك #جوكاست", "البذور المعدلة لا تصلح ليث دويكات", 33, false, "48Vwd1HdA_o", "https://www.youtube.com/shorts/48Vwd1HdA_o", "/downloads/shorts/محمود الحلبي (جوكاست)/محمود الحلبي (جوكاست) - 2026-03-17 - [48Vwd1HdA_o].mp4", true, 219, ~U[2026-03-17 17:00:08Z]] 12:38:05.515 [debug] QUERY OK source="sources" db=0.3ms idle=58.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" = ?) [219] 12:38:05.516 [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" = ?) [2] 12:38:05.517 [debug] QUERY OK source="media_items" db=0.4ms idle=4.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4629804] 12:38:05.517 [debug] Current batch of media processed. Will check again in 1000ms 12:38:06.518 [debug] Current batch of media processed. Will check again in 1000ms 12:38:07.519 [debug] Current batch of media processed. Will check again in 1000ms 12:38:08.520 [debug] Current batch of media processed. Will check again in 1000ms 12:38:09.521 [debug] Current batch of media processed. Will check again in 1000ms 12:38:10.522 [debug] Current batch of media processed. Will check again in 1000ms 12:38:11.472 [info] {"source":"oban","duration":18081,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:38:11.523 [debug] Current batch of media processed. Will check again in 1000ms 12:38:12.524 [debug] Current batch of media processed. Will check again in 1000ms 12:38:13.525 [debug] Current batch of media processed. Will check again in 1000ms 12:38:14.474 [info] {"args":{"id":411},"id":2191923,"meta":{},"system_time":1776256694474154672,"max_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:38:14.474 [debug] QUERY OK source="sources" db=0.2ms idle=1464.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" = ?) [411] 12:38:14.475 [debug] QUERY OK source="settings" db=0.8ms idle=1464.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:38:14.476 [debug] QUERY OK source="media_profiles" db=0.2ms idle=1010.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" = ?) [2] 12:38:14.476 [debug] QUERY OK source="settings" db=0.2ms idle=9.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:38:14.476 [debug] Fetching recent media IDs from YouTube API for playlist: UUDItXi7_EXg4AEviycQNaLQ 12:38:14.477 [debug] QUERY OK source="settings" db=0.1ms idle=2.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:38:14.477 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 12:38:14.526 [debug] Current batch of media processed. Will check again in 1000ms 12:38:14.634 [info] GET /sources/372/media/4631073/force_download 12:38:14.635 [debug] QUERY OK source="settings" db=0.1ms idle=160.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:38:14.635 [debug] QUERY OK source="settings" db=0.1ms idle=159.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:38:14.635 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 12:38:14.635 [error] #PID<0.5303.0> running PinchflatWeb.Endpoint (connection #PID<0.5302.0>, stream id 1) terminated Server: jak.hibeex.com:80 (http) Request: GET /sources/372/media/4631073/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/372/media/4631073/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5302.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/372/media/4631073/force_download", host: "jak.hibeex.com", peer: {{172, 22, 0, 1}, 37110}, bindings: %{}, sock: {{172, 22, 0, 4}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "from" => "gptbot(at)openai.com", "host" => "jak.hibeex.com", "referer" => "https://jak.hibeex.com/sources/372/media/4631073?prevent_download=true", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.232", "x-forwarded-proto" => "https", "x-openai-host-hash" => "41517590", "x-real-ip" => "74.7.243.232" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "jak.hibeex.com", method: "GET", owner: #PID<0.5303.0>, params: %{}, path_info: ["sources", "372", "media", "4631073", "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://jak.hibeex.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 22, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"connection", "close"}, {"from", "gptbot(at)openai.com"}, {"host", "jak.hibeex.com"}, {"referer", "https://jak.hibeex.com/sources/372/media/4631073?prevent_download=true"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)"}, {"x-forwarded-for", "74.7.243.232"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "41517590"}, {"x-real-ip", "74.7.243.232"} ], request_path: "/sources/372/media/4631073/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKaIDYGalW99sC4AAfSC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5302.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/372/media/4631073/force_download", host: "jak.hibeex.com", peer: {{172, 22, 0, 1}, 37110}, bindings: %{}, sock: {{172, 22, 0, 4}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "from" => "gptbot(at)openai.com", "host" => "jak.hibeex.com", "referer" => "https://jak.hibeex.com/sources/372/media/4631073?prevent_download=true", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.232", "x-forwarded-proto" => "https", "x-openai-host-hash" => "41517590", "x-real-ip" => "74.7.243.232" }, method: "GET", body_length: 0, path_info: :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/372/media/4631073/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5302.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/372/media/4631073/force_download", host: "jak.hibeex.com", peer: {{172, 22, 0, 1}, 37110}, bindings: %{}, sock: {{172, 22, 0, 4}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "from" => "gptbot(at)openai.com", "host" => "jak.hibeex.com", "referer" => "https://jak.hibeex.com/sources/372/media/4631073?prevent_download=true", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.232", "x-forwarded-proto" => "https", "x-openai-host-hash" => "41517590", "x-real-ip" => "74.7.243.232" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "jak.hibeex.com", method: "GET", owner: #PID<0.5303.0>, params: %{}, path_info: ["sources", "372", "media", "4631073", "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://jak.hibeex.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, (truncated) 12:38:14.773 [debug] QUERY OK source="media_items" db=1.3ms idle=295.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [411, "JuDij37WcMQ", "rfg7AvtzW-w", "9D2z-swZk04", "z8Yxq-sXAEY", "M9BoVFGH0RY", "t8d0ZZmhz0U", "-yt8Js4ud6A", "4dW9FV5t4Yo", "ATPqDugamkY", "AXV7sIoRgkM", "TMmET7MMEYk", "fAXX1Gaj5XA", "s-1LQGqIeyM", "Td5Sf4q51bk", "QRrz7bLpg5Q", "iKP4LnL6Iy0", "EO4McLmPyJQ", "Ir9G5100kN0", "gA_5V8GkswQ", "Bq2dgjvq74I", "u7Q0hVQPYkE", "VH2u9XmsStE", "WC5MwjCb-m4", "UDCNa698Jrk", "hba6Wln8hFY", "ap2i_nGoQ4c", "UWGhRXAqpAA", "XeMCi0Np7cI", "4z4pMvSEcb0", "GvXJejZfMdY", "E0XS1NX_tcQ", "0q7aRwmrbtg", "CUmm-3krENA", "2rZzuysCjmg", "sbN8KmyhtQk", "d6rZg1_QO_M", "4PSn3m7r7O8", "W_yHf301OD0", "88HufGqVfCU", "FAbVG6RVX-M", "5oMDMqp8aNg", "7trWvdh3-xM", "EmvBf7NJPDo", "AfD6sytM9e8", "rckwoxIA8zI", "DC9ihJ9j8tg", "i8M4cmPln74", "aY6KSMYwGhA", "FITQe52CL6k", ...] 12:38:14.779 [debug] QUERY OK source="media_items" db=5.1ms idle=297.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")))) [411] 12:38:14.781 [debug] QUERY OK source="tasks" db=0.2ms idle=145.7ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2191958, 411, ~U[2026-04-15 12:38:14Z], ~U[2026-04-15 12:38:14Z]] 12:38:14.782 [info] {"args":{"id":411},"id":2191923,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":307427,"event":"job:stop","queue_time":506601,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:38:15.527 [debug] Current batch of media processed. Will check again in 1000ms 12:38:16.477 [info] {"args":{"id":174},"id":2191924,"meta":{},"system_time":1776256696477040288,"max_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:38:16.477 [debug] QUERY OK source="sources" db=0.2ms idle=467.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" = ?) [174] 12:38:16.478 [debug] QUERY OK source="settings" db=0.2ms idle=467.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:38:16.478 [debug] QUERY OK source="media_profiles" db=0.3ms idle=468.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" = ?) [2] 12:38:16.479 [debug] QUERY OK source="settings" db=0.3ms idle=8.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:38:16.479 [debug] Fetching recent media IDs from YouTube API for playlist: UUgh7hDxRUy44n2C0fpuweuA 12:38:16.479 [debug] QUERY OK source="settings" db=0.1ms idle=2.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:38:16.479 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 12:38:16.528 [debug] Current batch of media processed. Will check again in 1000ms 12:38:16.874 [debug] QUERY OK source="media_items" db=1.2ms idle=394.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [174, "mnC32YQtLaM", "jFCnvX91Mf4", "ZBliwo9EBTQ", "ZtWxlUBlUeo", "O_YT14LOkV8", "vYkXCwBxaWk", "GQMcWcp7iII", "PM2hH6k6FAI", "OnPyArQdyqU", "yTmwiByqRB4", "2R_i6g6M1mU", "h6D3xHSmiN0", "LinnkM4bD5s", "mdTPRWg-mDY", "TNWDyRo9sgE", "jHQ67V9Qb_Y", "6KE_NGb5aQY", "9rxm1nOYr8U", "ALNHb-rmLqA", "5LZmm3G4abs", "hdGp9pZRWkE", "1-1VVVYCDxY", "PGgqj8Oc8qc", "BrRSe7jghBo", "ByP2G4j7jWE", "5bz0UaSzhe8", "OeUKShLLZoo", "PW3wFLy8tTM", "nY_bmBNlXO4", "nHoIck64yfU", "Ua1t9a59osg", "4Ipt1YC6Rsk", "Z0BjSmk8gCY", "Dz55V0-TnsE", "YXP5BmHMuJ8", "TSCLkDgFNis", "uwCW0TMNShU", "tBg3xMaUV7I", "Bj43Cq2_Wds", "361tk2e_sQc", "2W-0YlJUzHE", "YmvxFHR1Upg", "_ERvQbE6Qcg", "JKKOKWe6WUY", "h9ZvZQR8S6Q", "fw5S0jLGyw0", "Q9K5nuhZXso", "sOfyTqif9yg", "_4saIvJyiZY", ...] 12:38:16.878 [debug] QUERY OK source="media_items" db=3.1ms idle=397.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")))) [174] 12:38:16.880 [debug] QUERY OK source="tasks" db=0.2ms idle=400.3ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2191959, 174, ~U[2026-04-15 12:38:16Z], ~U[2026-04-15 12:38:16Z]] 12:38:16.880 [info] {"args":{"id":174},"id":2191924,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":403347,"event":"job:stop","queue_time":326534,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:38:17.529 [debug] Current batch of media processed. Will check again in 1000ms 12:38:18.530 [debug] Current batch of media processed. Will check again in 1000ms 12:38:19.531 [debug] Current batch of media processed. Will check again in 1000ms 12:38:20.532 [debug] Current batch of media processed. Will check again in 1000ms 12:38:21.533 [debug] Current batch of media processed. Will check again in 1000ms 12:38:22.174 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@mahmoud_alhalabi/shorts --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/shorts/محمود الحلبي (جوكاست)/محمود الحلبي (جوكاست) - %(upload_date>%Y-%m-%d)S - [%(id)S].%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --break-on-existing --download-archive /tmp/pinchflat/data/ed/83/ed833ab78569469f4e72e28ca0dca9a210f7196e9dafe2d1cd13fb812d31fa48.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/f3/b1/f3b182c14f552df8b63598daf888814650f36bd956cce3f0b472e53e553079a7.json --sleep-requests 4 --sleep-interval 4 --sleep-subtitles 4 --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 101 with: 12:38:22.175 [debug] Gracefully stopping file follower 12:38:22.176 [debug] QUERY OK source="sources" db=0.2ms idle=696.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" IN (?)) [219] 12:38:22.176 [debug] QUERY OK source="sources" db=0.1ms idle=166.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" = ?) [219] 12:38:22.177 [debug] QUERY OK source="media_items" db=0.7ms idle=166.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-14 17:38:47Z], 219] 12:38:22.178 [debug] QUERY OK source="media_items" db=0.4ms idle=167.3ms 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" ["قصة صادمة بحجة الشرف يرويها الدكتور مؤمن الحديد طبيب شرعي في بودكاست وبرنامج جوكاست تقديم محمود الحلبي #قصة", "جريمة من غير شرف", "8cb802a1-5dfa-4cd3-9b7e-cac2f6a8d71d", 56, false, "gcclW5ETymU", "https://www.youtube.com/shorts/gcclW5ETymU", 1, "/downloads/shorts/محمود الحلبي (جوكاست)/محمود الحلبي (جوكاست) - 2026-04-14 - [gcclW5ETymU].mp4", false, false, true, 219, [], 98, ~U[2026-04-14 17:38:47Z], ~U[2026-04-15 12:38:22Z], ~U[2026-04-15 12:38:22Z], "قصة صادمة بحجة الشرف يرويها الدكتور مؤمن الحديد طبيب شرعي في بودكاست وبرنامج جوكاست تقديم محمود الحلبي #قصة", "جريمة من غير شرف", 56, false, "gcclW5ETymU", "https://www.youtube.com/shorts/gcclW5ETymU", "/downloads/shorts/محمود الحلبي (جوكاست)/محمود الحلبي (جوكاست) - 2026-04-14 - [gcclW5ETymU].mp4", true, 219, ~U[2026-04-14 17:38:47Z]] 12:38:22.178 [debug] QUERY OK source="sources" db=0.1ms idle=168.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" = ?) [219] 12:38:22.179 [debug] QUERY OK source="media_items" db=0.6ms idle=2.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-13 17:45:58Z], 219] 12:38:22.180 [debug] QUERY OK source="media_items" db=0.4ms idle=3.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" ["كيف شكل ربنا؟ سؤال من الطفلة ماريا الى المس رندة في حلقة اسئلة الطفولة في بودكاست وبرنامج جوكاست تقديم محمود الحلبي \n#مس_رندة #جوكاست #أطفالنا", "كيف شكل ربنا؟", "ae663be3-1082-480b-b835-c825d5de720c", 19, false, "YJ752zSJgdw", "https://www.youtube.com/shorts/YJ752zSJgdw", 2, "/downloads/shorts/محمود الحلبي (جوكاست)/محمود الحلبي (جوكاست) - 2026-04-13 - [YJ752zSJgdw].mp4", false, false, true, 219, [], 98, ~U[2026-04-13 17:45:58Z], ~U[2026-04-15 12:38:22Z], ~U[2026-04-15 12:38:22Z], "كيف شكل ربنا؟ سؤال من الطفلة ماريا الى المس رندة في حلقة اسئلة الطفولة في بودكاست وبرنامج جوكاست تقديم محمود الحلبي \n#مس_رندة #جوكاست #أطفالنا", "كيف شكل ربنا؟", 19, false, "YJ752zSJgdw", "https://www.youtube.com/shorts/YJ752zSJgdw", "/downloads/shorts/محمود الحلبي (جوكاست)/محمود الحلبي (جوكاست) - 2026-04-13 - [YJ752zSJgdw].mp4", true, 219, ~U[2026-04-13 17:45:58Z]] 12:38:22.180 [debug] QUERY OK source="sources" db=0.2ms idle=2.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [219] 12:38:22.181 [debug] QUERY OK source="media_items" db=0.9ms idle=2.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-11 16:47:35Z], 219] 12:38:22.182 [debug] QUERY OK source="media_items" db=0.7ms idle=3.2ms 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" ["ثقافة البوس والتقبيل خصوصا عند الاشخاص المرشحين ، استشاري الامراض الباطنية/ الامراض الصدرية و تنظير القصبات وامراض النوم في بودكاست وبرنامج جوكاست تقديم محمود الحلبي", "المباوسة", "1ff6e7f9-80f7-4c2c-8b9e-ffc65d761d4f", 18, false, "l4GYcCJ7-UY", "https://www.youtube.com/shorts/l4GYcCJ7-UY", 3, "/downloads/shorts/محمود الحلبي (جوكاست)/محمود الحلبي (جوكاست) - 2026-04-11 - [l4GYcCJ7-UY].mp4", false, false, true, 219, [], 97, ~U[2026-04-11 16:47:35Z], ~U[2026-04-15 12:38:22Z], ~U[2026-04-15 12:38:22Z], "ثقافة البوس والتقبيل خصوصا عند الاشخاص المرشحين ، استشاري الامراض الباطنية/ الامراض الصدرية و تنظير القصبات وامراض النوم في بودكاست وبرنامج جوكاست تقديم محمود الحلبي", "المباوسة", 18, false, "l4GYcCJ7-UY", "https://www.youtube.com/shorts/l4GYcCJ7-UY", "/downloads/shorts/محمود الحلبي (جوكاست)/محمود الحلبي (جوكاست) - 2026-04-11 - [l4GYcCJ7-UY].mp4", true, 219, ~U[2026-04-11 16:47:35Z]] 12:38:22.183 [debug] QUERY OK source="sources" db=0.3ms 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" = ?) [219] 12:38:22.184 [debug] QUERY OK source="media_items" db=0.9ms idle=3.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-11 10:34:16Z], 219] 12:38:22.185 [debug] QUERY OK source="media_items" db=0.6ms idle=4.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" ["التدخين عادة ام ادمان؟ استشاري الامراض الباطنية/ الامراض الصدرية و تنظير القصبات وامراض النوم في بودكاست وبرنامج جوكاست تقديم محمود الحلبي #تدخين", "التدخين ادمان", "b37cf1d2-8942-49ea-a4e5-dfc1ca60df78", 26, false, "PNIFPSdPLlM", "https://www.youtube.com/shorts/PNIFPSdPLlM", 4, "/downloads/shorts/محمود الحلبي (جوكاست)/محمود الحلبي (جوكاست) - 2026-04-11 - [PNIFPSdPLlM].mp4", false, false, true, 219, [], 97, ~U[2026-04-11 10:34:16Z], ~U[2026-04-15 12:38:22Z], ~U[2026-04-15 12:38:22Z], "التدخين عادة ام ادمان؟ استشاري الامراض الباطنية/ الامراض الصدرية و تنظير القصبات وامراض النوم في بودكاست وبرنامج جوكاست تقديم محمود الحلبي #تدخين", "التدخين ادمان", 26, false, "PNIFPSdPLlM", "https://www.youtube.com/shorts/PNIFPSdPLlM", "/downloads/shorts/محمود الحلبي (جوكاست)/محمود الحلبي (جوكاست) - 2026-04-11 - [PNIFPSdPLlM].mp4", true, 219, ~U[2026-04-11 10:34:16Z]] 12:38:22.185 [debug] QUERY OK source="sources" db=0.3ms idle=4.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" = ?) [219] 12:38:22.187 [debug] QUERY OK source="media_items" db=0.9ms idle=3.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-10 15:00:27Z], 219] 12:38:22.188 [debug] QUERY OK source="media_items" db=0.7ms idle=4.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" ["كيف سيعذب الله الشيطان بالنار وهو مخلوق من نار؟ سؤال من الطفل أحمد الى المس رندة في حلقة اسئلة الطفولة في بودكاست وبرنامج جوكاست تقديم محمود الحلبي \n#مس_رندة #جوكاست #أطفالنا", "سؤال طفولي", "93e0cc6b-5ad2-413e-8813-8af165151dc2", 24, false, "Gb-kyy7go0I", "https://www.youtube.com/shorts/Gb-kyy7go0I", 5, "/downloads/shorts/محمود الحلبي (جوكاست)/محمود الحلبي (جوكاست) - 2026-04-10 - [Gb-kyy7go0I].mp4", false, false, true, 219, [], 97, ~U[2026-04-10 15:00:27Z], ~U[2026-04-15 12:38:22Z], ~U[2026-04-15 12:38:22Z], "كيف سيعذب الله الشيطان بالنار وهو مخلوق من نار؟ سؤال من الطفل أحمد الى المس رندة في حلقة اسئلة الطفولة في بودكاست وبرنامج جوكاست تقديم محمود الحلبي \n#مس_رندة #جوكاست #أطفالنا", "سؤال طفولي", 24, false, "Gb-kyy7go0I", "https://www.youtube.com/shorts/Gb-kyy7go0I", "/downloads/shorts/محمود الحلبي (جوكاست)/محمود الحلبي (جوكاست) - 2026-04-10 - [Gb-kyy7go0I].mp4", true, 219, ~U[2026-04-10 15:00:27Z]] 12:38:22.188 [debug] QUERY OK source="sources" db=0.3ms 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" = ?) [219] 12:38:22.189 [debug] QUERY OK source="media_items" db=0.9ms idle=3.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-10 12:00:44Z], 219] 12:38:22.190 [debug] QUERY OK source="media_items" db=0.7ms idle=4.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" ["من حقك اثناء ذهابك لفحص قيادة السيارات للحصول على الرخصة ان تطلب من الفاحص ان تجري الفحص على السيارة التي تدربت عليها كي لا ترتبك وانت متعود على هذه السيارة، المدرب نضال الفاعوري في بودكاست وبرنامج جوكاست تقديم محمود الحلبي #تعليم_القيادة #رخصة #فحص", "حقك اثناء الفحص", "146f1681-e0c3-40db-9d36-347536d74cd2", 21, false, "NYGvFPVmozg", "https://www.youtube.com/shorts/NYGvFPVmozg", 6, "/downloads/shorts/محمود الحلبي (جوكاست)/محمود الحلبي (جوكاست) - 2026-04-10 - [NYGvFPVmozg].mp4", false, false, true, 219, [], 97, ~U[2026-04-10 12:00:44Z], ~U[2026-04-15 12:38:22Z], ~U[2026-04-15 12:38:22Z], "من حقك اثناء ذهابك لفحص قيادة السيارات للحصول على الرخصة ان تطلب من الفاحص ان تجري الفحص على السيارة التي تدربت عليها كي لا ترتبك وانت متعود على هذه السيارة، المدرب نضال الفاعوري في بودكاست وبرنامج جوكاست تقديم محمود الحلبي #تعليم_القيادة #رخصة #فحص", "حقك اثناء الفحص", 21, false, "NYGvFPVmozg", "https://www.youtube.com/shorts/NYGvFPVmozg", "/downloads/shorts/محمود الحلبي (جوكاست)/محمود الحلبي (جوكاست) - 2026-04-10 - [NYGvFPVmozg].mp4", true, 219, ~U[2026-04-10 12:00:44Z]] 12:38:22.191 [debug] QUERY OK source="sources" db=0.3ms idle=4.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" = ?) [219] 12:38:22.192 [debug] QUERY OK source="media_items" db=0.9ms idle=3.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-09 19:13:08Z], 219] 12:38:22.193 [debug] QUERY OK source="media_items" db=0.6ms idle=4.1ms INSERT INTO "media_items" AS m0 ("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) 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" ["عقاب النحلة السكرانة الدكتور عزام جابر في بودكاست وبرنامج جوكاست تقديم محمود الحلبي #عسل_طبيعي", "e0a19053-7da9-4798-bbae-45bf0401acf4", 26, false, "qR17VYh2sf4", "https://www.youtube.com/shorts/qR17VYh2sf4", 7, "/downloads/shorts/محمود الحلبي (جوكاست)/محمود الحلبي (جوكاست) - 2026-04-09 - [qR17VYh2sf4].mp4", false, false, true, 219, [], 97, ~U[2026-04-09 19:13:08Z], ~U[2026-04-15 12:38:22Z], ~U[2026-04-15 12:38:22Z], "", "عقاب النحلة السكرانة الدكتور عزام جابر في بودكاست وبرنامج جوكاست تقديم محمود الحلبي #عسل_طبيعي", 26, false, "qR17VYh2sf4", "https://www.youtube.com/shorts/qR17VYh2sf4", "/downloads/shorts/محمود الحلبي (جوكاست)/محمود الحلبي (جوكاست) - 2026-04-09 - [qR17VYh2sf4].mp4", true, 219, ~U[2026-04-09 19:13:08Z]] 12:38:22.194 [debug] QUERY OK source="sources" db=0.3ms 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" = ?) [219] 12:38:22.195 [debug] QUERY OK source="media_items" db=0.9ms idle=3.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-09 11:30:44Z], 219] 12:38:22.196 [debug] QUERY OK source="media_items" db=0.7ms idle=3.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" ["هل يعقل ان الانسان هو الكائن الوحيد الذي بعد الفطام ما زال يشرب الحليب؟، ضياء عايد اخصائي تغذية شمولية وحمية الكيتو، في برنامج وبودكاست جوكاست تقديم محمود الحلبي", "شرب الحليب خطأ", "cab6562b-56de-437d-99b4-d1f009e4c74e", 26, false, "nr9VXBUSw6M", "https://www.youtube.com/shorts/nr9VXBUSw6M", 8, "/downloads/shorts/محمود الحلبي (جوكاست)/محمود الحلبي (جوكاست) - 2026-04-09 - [nr9VXBUSw6M].mp4", false, false, true, 219, [], 97, ~U[2026-04-09 11:30:44Z], ~U[2026-04-15 12:38:22Z], ~U[2026-04-15 12:38:22Z], "هل يعقل ان الانسان هو الكائن الوحيد الذي بعد الفطام ما زال يشرب الحليب؟، ضياء عايد اخصائي تغذية شمولية وحمية الكيتو، في برنامج وبودكاست جوكاست تقديم محمود الحلبي", "شرب الحليب خطأ", 26, false, "nr9VXBUSw6M", "https://www.youtube.com/shorts/nr9VXBUSw6M", "/downloads/shorts/محمود الحلبي (جوكاست)/محمود الحلبي (جوكاست) - 2026-04-09 - [nr9VXBUSw6M].mp4", true, 219, ~U[2026-04-09 11:30:44Z]] 12:38:22.196 [debug] QUERY OK source="sources" db=0.3ms 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" = ?) [219] 12:38:22.197 [debug] QUERY OK source="media_items" db=0.9ms idle=3.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-08 12:01:15Z], 219] 12:38:22.198 [debug] QUERY OK source="media_items" db=0.6ms idle=4.1ms 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" ["من اسئلة الطفولة، لماذا اغلب الإنبياء لبني اسرائيل؟ سؤال تجيب علية مس رندة في برنامج وبودكاست جوكاست تقديم محمود الحلبي", "من حلقة مس رندة", "d50b0b5a-e761-4562-92f1-7eb2cb534997", 47, false, "hZ1sFHdfcV8", "https://www.youtube.com/shorts/hZ1sFHdfcV8", 9, "/downloads/shorts/محمود الحلبي (جوكاست)/محمود الحلبي (جوكاست) - 2026-04-08 - [hZ1sFHdfcV8].mp4", false, false, true, 219, [], 98, ~U[2026-04-08 12:01:15Z], ~U[2026-04-15 12:38:22Z], ~U[2026-04-15 12:38:22Z], "من اسئلة الطفولة، لماذا اغلب الإنبياء لبني اسرائيل؟ سؤال تجيب علية مس رندة في برنامج وبودكاست جوكاست تقديم محمود الحلبي", "من حلقة مس رندة", 47, false, "hZ1sFHdfcV8", "https://www.youtube.com/shorts/hZ1sFHdfcV8", "/downloads/shorts/محمود الحلبي (جوكاست)/محمود الحلبي (جوكاست) - 2026-04-08 - [hZ1sFHdfcV8].mp4", true, 219, ~U[2026-04-08 12:01:15Z]] 12:38:22.199 [debug] QUERY OK source="sources" db=0.3ms 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" = ?) [219] 12:38:22.200 [debug] QUERY OK source="media_items" db=0.9ms idle=3.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-06 16:30:11Z], 219] 12:38:22.201 [debug] QUERY OK source="media_items" db=0.6ms idle=4.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" ["عملية قص المعدة جريمة، ضياء عايد مختص في التغذية الشمولية والكيتو في بودكاست وبرنامج جوكاست تقديم محمود الحلبي #كيتو #قص_معدة", "قص المعدة", "49caf2b8-39ee-4a45-94e7-07ed5f786ac3", 27, false, "ZachAZX-qHo", "https://www.youtube.com/shorts/ZachAZX-qHo", 10, "/downloads/shorts/محمود الحلبي (جوكاست)/محمود الحلبي (جوكاست) - 2026-04-06 - [ZachAZX-qHo].mp4", false, false, true, 219, [], 98, ~U[2026-04-06 16:30:11Z], ~U[2026-04-15 12:38:22Z], ~U[2026-04-15 12:38:22Z], "عملية قص المعدة جريمة، ضياء عايد مختص في التغذية الشمولية والكيتو في بودكاست وبرنامج جوكاست تقديم محمود الحلبي #كيتو #قص_معدة", "قص المعدة", 27, false, "ZachAZX-qHo", "https://www.youtube.com/shorts/ZachAZX-qHo", "/downloads/shorts/محمود الحلبي (جوكاست)/محمود الحلبي (جوكاست) - 2026-04-06 - [ZachAZX-qHo].mp4", true, 219, ~U[2026-04-06 16:30:11Z]] 12:38:22.202 [debug] QUERY OK source="sources" db=0.3ms 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" = ?) [219] 12:38:22.203 [debug] QUERY OK source="media_items" db=0.9ms idle=3.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-02 13:39:42Z], 219] 12:38:22.204 [debug] QUERY OK source="media_items" db=0.6ms idle=4.0ms INSERT INTO "media_items" AS m0 ("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) 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" ["معنى كلمة اديغا المشهورة عند الشركس ومنظومة الاخلاق لديهم ، المؤرخ علي كشت الحلبي#adiga #شركس", "78fa5797-76aa-4719-94cf-d68d752d7c71", 27, false, "Mcqf1ySpY2M", "https://www.youtube.com/shorts/Mcqf1ySpY2M", 11, "/downloads/shorts/محمود الحلبي (جوكاست)/محمود الحلبي (جوكاست) - 2026-04-02 - [Mcqf1ySpY2M].mp4", false, false, true, 219, [], 98, ~U[2026-04-02 13:39:42Z], ~U[2026-04-15 12:38:22Z], ~U[2026-04-15 12:38:22Z], "", "معنى كلمة اديغا المشهورة عند الشركس ومنظومة الاخلاق لديهم ، المؤرخ علي كشت الحلبي#adiga #شركس", 27, false, "Mcqf1ySpY2M", "https://www.youtube.com/shorts/Mcqf1ySpY2M", "/downloads/shorts/محمود الحلبي (جوكاست)/محمود الحلبي (جوكاست) - 2026-04-02 - [Mcqf1ySpY2M].mp4", true, 219, ~U[2026-04-02 13:39:42Z]] 12:38:22.204 [debug] QUERY OK source="sources" db=0.3ms 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" = ?) [219] 12:38:22.206 [debug] QUERY OK source="media_items" db=0.9ms idle=3.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-01 14:20:25Z], 219] 12:38:22.207 [debug] QUERY OK source="media_items" db=1.3ms idle=3.9ms INSERT INTO "media_items" AS m0 ("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) 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" ["كذبة اسمها فضة، المهندس ابراهيم الكردي تاجر مجوهرات وذهب ومتداول في بودكاست جوكاست ، محمود الحلبي", "c9d2dbb9-cc88-4747-a18a-5281a143c76b", 20, false, "2WYfnW8c7nA", "https://www.youtube.com/shorts/2WYfnW8c7nA", 12, "/downloads/shorts/محمود الحلبي (جوكاست)/محمود الحلبي (جوكاست) - 2026-04-01 - [2WYfnW8c7nA].mp4", false, false, true, 219, [], 98, ~U[2026-04-01 14:20:25Z], ~U[2026-04-15 12:38:22Z], ~U[2026-04-15 12:38:22Z], "", "كذبة اسمها فضة، المهندس ابراهيم الكردي تاجر مجوهرات وذهب ومتداول في بودكاست جوكاست ، محمود الحلبي", 20, false, "2WYfnW8c7nA", "https://www.youtube.com/shorts/2WYfnW8c7nA", "/downloads/shorts/محمود الحلبي (جوكاست)/محمود الحلبي (جوكاست) - 2026-04-01 - [2WYfnW8c7nA].mp4", true, 219, ~U[2026-04-01 14:20:25Z]] 12:38:22.208 [debug] QUERY OK source="sources" db=0.3ms 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" FROM "sources" AS s0 WHERE (s0."id" = ?) [219] 12:38:22.209 [debug] QUERY OK source="media_items" db=0.9ms idle=4.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-29 20:00:00Z], 219] 12:38:22.211 [debug] QUERY OK source="media_items" db=2.1ms idle=4.7ms 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" ["لا تجعل بطارية السيارة الكهربائية تنخفض اكثر من عشرين بالمائة، المهندس أحمد بدر في بودكاست وبرنامج جوكاست تقديم محمود الحلبي\n#سيارات #سيارة_كهربائية #بطارية #جوكاست #podtok", "تلف البطارية", "e1c9e9f0-2282-49fe-b381-0fde4c60a402", 18, false, "cPYFqKMVFx8", "https://www.youtube.com/shorts/cPYFqKMVFx8", 13, "/downloads/shorts/محمود الحلبي (جوكاست)/محمود الحلبي (جوكاست) - 2026-03-29 - [cPYFqKMVFx8].mp4", false, false, true, 219, [], 98, ~U[2026-03-29 20:00:00Z], ~U[2026-04-15 12:38:22Z], ~U[2026-04-15 12:38:22Z], "لا تجعل بطارية السيارة الكهربائية تنخفض اكثر من عشرين بالمائة، المهندس أحمد بدر في بودكاست وبرنامج جوكاست تقديم محمود الحلبي\n#سيارات #سيارة_كهربائية #بطارية #جوكاست #podtok", "تلف البطارية", 18, false, "cPYFqKMVFx8", "https://www.youtube.com/shorts/cPYFqKMVFx8", "/downloads/shorts/محمود الحلبي (جوكاست)/محمود الحلبي (جوكاست) - 2026-03-29 - [cPYFqKMVFx8].mp4", true, 219, ~U[2026-03-29 20:00:00Z]] 12:38:22.212 [debug] QUERY OK source="sources" db=0.3ms 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" = ?) [219] 12:38:22.213 [debug] QUERY OK source="media_items" db=0.9ms idle=4.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-28 17:08:42Z], 219] 12:38:22.214 [debug] QUERY OK source="media_items" db=0.6ms idle=5.5ms INSERT INTO "media_items" AS m0 ("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) 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" ["لا تشحن السيارة الكهربائية أكثر من 80٪", "3a7e5366-c0d9-454a-a28c-903f2c10b525", 26, false, "7H4IvucWRio", "https://www.youtube.com/shorts/7H4IvucWRio", 14, "/downloads/shorts/محمود الحلبي (جوكاست)/محمود الحلبي (جوكاست) - 2026-03-28 - [7H4IvucWRio].mp4", false, false, true, 219, [], 98, ~U[2026-03-28 17:08:42Z], ~U[2026-04-15 12:38:22Z], ~U[2026-04-15 12:38:22Z], "", "لا تشحن السيارة الكهربائية أكثر من 80٪", 26, false, "7H4IvucWRio", "https://www.youtube.com/shorts/7H4IvucWRio", "/downloads/shorts/محمود الحلبي (جوكاست)/محمود الحلبي (جوكاست) - 2026-03-28 - [7H4IvucWRio].mp4", true, 219, ~U[2026-03-28 17:08:42Z]] 12:38:22.215 [debug] QUERY OK source="sources" db=0.3ms 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" FROM "sources" AS s0 WHERE (s0."id" = ?) [219] 12:38:22.216 [debug] QUERY OK source="media_items" db=0.9ms idle=3.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-27 23:30:00Z], 219] 12:38:22.217 [debug] QUERY OK source="media_items" db=0.6ms idle=4.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" ["ان تصبح كابتن تطبيق اصبح مشروع فاشل، مستشار الادارة المالية الشخصية الاستاذ محمد درويش في برنامج وبودكاست جوكاست تقديم محمود الحلبي #ديون #كابتن #كباتن", "مشروع اوبر و كريم", "cf64547c-83c1-4749-b35f-1edca6b37521", 27, false, "9OH0HRZLxkY", "https://www.youtube.com/shorts/9OH0HRZLxkY", 15, "/downloads/shorts/محمود الحلبي (جوكاست)/محمود الحلبي (جوكاست) - 2026-03-27 - [9OH0HRZLxkY].mp4", false, false, true, 219, [], 98, ~U[2026-03-27 23:30:00Z], ~U[2026-04-15 12:38:22Z], ~U[2026-04-15 12:38:22Z], "ان تصبح كابتن تطبيق اصبح مشروع فاشل، مستشار الادارة المالية الشخصية الاستاذ محمد درويش في برنامج وبودكاست جوكاست تقديم محمود الحلبي #ديون #كابتن #كباتن", "مشروع اوبر و كريم", 27, false, "9OH0HRZLxkY", "https://www.youtube.com/shorts/9OH0HRZLxkY", "/downloads/shorts/محمود الحلبي (جوكاست)/محمود الحلبي (جوكاست) - 2026-03-27 - [9OH0HRZLxkY].mp4", true, 219, ~U[2026-03-27 23:30:00Z]] 12:38:22.217 [debug] QUERY OK source="sources" db=0.3ms 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" = ?) [219] 12:38:22.218 [debug] QUERY OK source="media_items" db=0.9ms idle=3.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-23 09:00:57Z], 219] 12:38:22.220 [debug] QUERY OK source="media_items" db=0.6ms idle=4.1ms 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" ["ألم عصب الأسنان😢 أصعب من ألم طلق الولادة 👶.. الدكتورة نور حلبي طب أسنان في البودكاست الأردني جوكاست", "ألم عصب الأسنان😢", "17ecbeb9-66cd-4e02-b1e8-26e92c794574", 21, false, "nO2gE7cj3ro", "https://www.youtube.com/shorts/nO2gE7cj3ro", 16, "/downloads/shorts/محمود الحلبي (جوكاست)/محمود الحلبي (جوكاست) - 2026-03-23 - [nO2gE7cj3ro].mp4", false, false, true, 219, [], 98, ~U[2026-03-23 09:00:57Z], ~U[2026-04-15 12:38:22Z], ~U[2026-04-15 12:38:22Z], "ألم عصب الأسنان😢 أصعب من ألم طلق الولادة 👶.. الدكتورة نور حلبي طب أسنان في البودكاست الأردني جوكاست", "ألم عصب الأسنان😢", 21, false, "nO2gE7cj3ro", "https://www.youtube.com/shorts/nO2gE7cj3ro", "/downloads/shorts/محمود الحلبي (جوكاست)/محمود الحلبي (جوكاست) - 2026-03-23 - [nO2gE7cj3ro].mp4", true, 219, ~U[2026-03-23 09:00:57Z]] 12:38:22.220 [debug] QUERY OK source="sources" db=0.4ms idle=4.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" = ?) [219] 12:38:22.221 [debug] QUERY OK source="media_items" db=0.9ms idle=3.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-21 16:27:09Z], 219] 12:38:22.222 [debug] QUERY OK source="media_items" db=0.6ms idle=4.2ms INSERT INTO "media_items" AS m0 ("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) 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" ["اسئلة سريعة عن الادمان والمخدرات مع انس بيك الطنطاوي بودكاست جوكاست تقديم محمود الحلبي#مخدات #الأردن", "af439a32-9b20-4b6d-aaed-731580b7a99e", 34, false, "O3ZCKaQ2vBk", "https://www.youtube.com/shorts/O3ZCKaQ2vBk", 17, "/downloads/shorts/محمود الحلبي (جوكاست)/محمود الحلبي (جوكاست) - 2026-03-21 - [O3ZCKaQ2vBk].mp4", false, false, true, 219, [], 98, ~U[2026-03-21 16:27:09Z], ~U[2026-04-15 12:38:22Z], ~U[2026-04-15 12:38:22Z], "", "اسئلة سريعة عن الادمان والمخدرات مع انس بيك الطنطاوي بودكاست جوكاست تقديم محمود الحلبي#مخدات #الأردن", 34, false, "O3ZCKaQ2vBk", "https://www.youtube.com/shorts/O3ZCKaQ2vBk", "/downloads/shorts/محمود الحلبي (جوكاست)/محمود الحلبي (جوكاست) - 2026-03-21 - [O3ZCKaQ2vBk].mp4", true, 219, ~U[2026-03-21 16:27:09Z]] 12:38:22.223 [debug] QUERY OK source="sources" db=0.3ms idle=4.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" = ?) [219] 12:38:22.224 [debug] QUERY OK source="media_items" db=0.9ms idle=3.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-20 22:05:13Z], 219] 12:38:22.225 [debug] QUERY OK source="media_items" db=0.6ms idle=4.1ms INSERT INTO "media_items" AS m0 ("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) 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" ["إشاعة الملك ميشع اخترع المنسف مع المؤرخ والدكتور بكر خازر المجالي. جوكاست تقديم محمود الحلبي #منسف", "4a168676-7304-41a1-97d3-ba3e8d9fc61f", 30, false, "G33gbJpDVho", "https://www.youtube.com/shorts/G33gbJpDVho", 18, "/downloads/shorts/محمود الحلبي (جوكاست)/محمود الحلبي (جوكاست) - 2026-03-20 - [G33gbJpDVho].mp4", false, false, true, 219, [], 98, ~U[2026-03-20 22:05:13Z], ~U[2026-04-15 12:38:22Z], ~U[2026-04-15 12:38:22Z], "", "إشاعة الملك ميشع اخترع المنسف مع المؤرخ والدكتور بكر خازر المجالي. جوكاست تقديم محمود الحلبي #منسف", 30, false, "G33gbJpDVho", "https://www.youtube.com/shorts/G33gbJpDVho", "/downloads/shorts/محمود الحلبي (جوكاست)/محمود الحلبي (جوكاست) - 2026-03-20 - [G33gbJpDVho].mp4", true, 219, ~U[2026-03-20 22:05:13Z]] 12:38:22.226 [debug] QUERY OK source="sources" db=0.3ms 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" = ?) [219] 12:38:22.227 [debug] QUERY OK source="media_items" db=0.9ms idle=3.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-19 01:00:05Z], 219] 12:38:22.228 [debug] QUERY OK source="media_items" db=0.6ms idle=4.1ms 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" ["ابشع جريمة حدثت لطفل بسبب المخدات يرويها انس الطنطاوي في برنامج وبودكاست جوكاست تقديم محمود الحلبي", "ابشع جريمة", "c96e65c6-18bf-4e33-90d2-7843ef87d047", 55, false, "5OxKsAfSbf0", "https://www.youtube.com/shorts/5OxKsAfSbf0", 19, "/downloads/shorts/محمود الحلبي (جوكاست)/محمود الحلبي (جوكاست) - 2026-03-19 - [5OxKsAfSbf0].mp4", false, false, true, 219, [], 98, ~U[2026-03-19 01:00:05Z], ~U[2026-04-15 12:38:22Z], ~U[2026-04-15 12:38:22Z], "ابشع جريمة حدثت لطفل بسبب المخدات يرويها انس الطنطاوي في برنامج وبودكاست جوكاست تقديم محمود الحلبي", "ابشع جريمة", 55, false, "5OxKsAfSbf0", "https://www.youtube.com/shorts/5OxKsAfSbf0", "/downloads/shorts/محمود الحلبي (جوكاست)/محمود الحلبي (جوكاست) - 2026-03-19 - [5OxKsAfSbf0].mp4", true, 219, ~U[2026-03-19 01:00:05Z]] 12:38:22.228 [debug] QUERY OK source="sources" db=0.3ms 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" = ?) [219] 12:38:22.230 [debug] QUERY OK source="media_items" db=1.0ms idle=3.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-17 17:00:08Z], 219] 12:38:22.231 [debug] QUERY OK source="media_items" db=0.6ms idle=4.1ms 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" ["يقوم المزارعين بأخذ البذور استخدامها للموسم القادم ولكن البذور المعدلة لا تصلح لذلك #جوكاست", "البذور المعدلة لا تصلح ليث دويكات", "819880fa-388c-471e-aa4f-3f1071d2546b", 33, false, "48Vwd1HdA_o", "https://www.youtube.com/shorts/48Vwd1HdA_o", 20, "/downloads/shorts/محمود الحلبي (جوكاست)/محمود الحلبي (جوكاست) - 2026-03-17 - [48Vwd1HdA_o].mp4", false, false, true, 219, [], 98, ~U[2026-03-17 17:00:08Z], ~U[2026-04-15 12:38:22Z], ~U[2026-04-15 12:38:22Z], "يقوم المزارعين بأخذ البذور استخدامها للموسم القادم ولكن البذور المعدلة لا تصلح لذلك #جوكاست", "البذور المعدلة لا تصلح ليث دويكات", 33, false, "48Vwd1HdA_o", "https://www.youtube.com/shorts/48Vwd1HdA_o", "/downloads/shorts/محمود الحلبي (جوكاست)/محمود الحلبي (جوكاست) - 2026-03-17 - [48Vwd1HdA_o].mp4", true, 219, ~U[2026-03-17 17:00:08Z]] 12:38:22.231 [debug] QUERY OK source="sources" db=0.4ms idle=4.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" = ?) [219] 12:38:22.232 [debug] QUERY OK source="media_items" db=0.9ms idle=3.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-16 17:00:09Z], 219] 12:38:22.233 [debug] QUERY OK source="media_items" db=0.6ms idle=4.3ms 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" ["رواتب المدراء في مؤسسة الضمان الإجتماعي #اكسبلور #محمودالحلبي #بودكاست #جوكاست", "رواتب المدراء في مؤسسة الضمان الإجتماعي", "4e310248-77fe-42f8-84c6-0cd794ec6066", 52, false, "5WPp7i2v1qU", "https://www.youtube.com/shorts/5WPp7i2v1qU", 21, "/downloads/shorts/محمود الحلبي (جوكاست)/محمود الحلبي (جوكاست) - 2026-03-16 - [5WPp7i2v1qU].mp4", false, false, true, 219, [], 97, ~U[2026-03-16 17:00:09Z], ~U[2026-04-15 12:38:22Z], ~U[2026-04-15 12:38:22Z], "رواتب المدراء في مؤسسة الضمان الإجتماعي #اكسبلور #محمودالحلبي #بودكاست #جوكاست", "رواتب المدراء في مؤسسة الضمان الإجتماعي", 52, false, "5WPp7i2v1qU", "https://www.youtube.com/shorts/5WPp7i2v1qU", "/downloads/shorts/محمود الحلبي (جوكاست)/محمود الحلبي (جوكاست) - 2026-03-16 - [5WPp7i2v1qU].mp4", true, 219, ~U[2026-03-16 17:00:09Z]] 12:38:22.234 [debug] QUERY OK source="sources" db=0.3ms idle=4.1ms UPDATE "sources" SET "last_indexed_at" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-04-15 12:38:22Z], ~U[2026-04-15 12:38:22Z], 219] 12:38:22.236 [debug] QUERY OK source="media_items" db=1.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 ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [219] 12:38:22.238 [debug] QUERY OK source="media_items" db=1.4ms idle=4.8ms SELECT count(*) FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [219] 12:38:22.238 [debug] QUERY OK source="media_items" db=0.3ms idle=5.2ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [219] 12:38:22.238 [info] No notification servers provided for source 219 12:38:22.241 [debug] QUERY OK source="tasks" db=0.3ms idle=4.3ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2191960, 219, ~U[2026-04-15 12:38:22Z], ~U[2026-04-15 12:38:22Z]] 12:38:22.241 [info] {"args":{"id":219},"id":2187057,"meta":{},"state":"success","max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","duration":346188941,"event":"job:stop","queue_time":730547,"attempt":1,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 12:38:41.490 [info] {"source":"oban","duration":17696,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:39:00.815 [info] {"source":"oban","duration":152,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:39:06.478 [info] GET /sources/236/media/2043495 12:39:06.478 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "2043495", "prevent_download" => "true", "source_id" => "236"} Pipelines: [:browser] 12:39:06.479 [debug] QUERY OK source="media_items" db=0.2ms idle=952.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" = ?) [2043495] 12:39:06.479 [debug] QUERY OK source="tasks" db=0.1ms idle=469.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" [2043495] 12:39:06.480 [debug] QUERY OK source="sources" db=0.3ms idle=469.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" = ?) [236] 12:39:06.480 [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 [] 12:39:06.480 [debug] QUERY OK source="settings" db=0.1ms 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 [] 12:39:06.481 [debug] QUERY OK source="settings" db=0.1ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:39:06.482 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 12:39:06.483 [info] Sent 200 in 5ms 12:39:07.537 [info] {"args":{"id":100},"id":2191925,"meta":{},"system_time":1776256747537069449,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:39:07.537 [debug] QUERY OK source="sources" db=0.2ms idle=1055.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" = ?) [100] 12:39:07.538 [debug] QUERY OK source="settings" db=0.2ms idle=1055.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:39:07.539 [debug] QUERY OK source="media_profiles" db=0.8ms idle=1010.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" = ?) [2] 12:39:07.539 [debug] QUERY OK source="settings" db=0.2ms idle=8.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:39:07.539 [debug] Fetching recent media IDs from YouTube API for playlist: UUe5eYsugVJLzIF_JALMiXzQ 12:39:07.540 [debug] QUERY OK source="settings" db=0.1ms idle=2.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:39:07.540 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 12:39:07.866 [debug] QUERY OK source="media_items" db=1.2ms idle=327.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [100, "251xUyoUFwg", "N2ipy5JDalQ", "kwb-PhsCYBs", "MsrYWuItd7M", "E_sH2dN0kLg", "e0KZ0IHrG38", "dqX4Wzvq6sE", "izbcjE3AhD8", "cSdsZhAlfJI", "hvvYmjS_A90", "eicfPUdBAuo", "d_L6gomAhAg", "IiDMkKhe71A", "NkjKnpUUYmU", "NzW9fg2vgpA", "egrx1u5F1V4", "fmBdaL3VqEY", "_lN_Qri648M", "97Q6zfv-jk4", "3FL4GzxXxOc", "cQyXgxGMkcc", "rBdx1qmknhU", "61v3sPjKngk", "dyQ2TD5i6LQ", "iC1_GDcfYM8", "1i-bNe1xx14", "ZB9QJ_bJO2Y", "-ddV4twx7dE", "19GEQhlOxzE", "6GsO5ByqFkE", "47qCdYJCmKo", "d6nWvWpnwP8", "8uApOUjCOe4", "9eJgR2PLrGo", "UVShufL4rRA", "ypbB3IZvnLs", "0Dkjqs3zg6A", "szU5BDthN00", "zHNFzLaRD74", "3osfwVYvr9Q", "6MQOSazKIBM", "65YPmUwlpOg", "1kxUvL8EOXM", "EZbTesfSMkw", "d9mbd0b-7YM", "Jd2q_DsdbmQ", "yPzBBP5JzxI", "8aig78KaZiA", "7gEvgXFd1Vg", ...] 12:39:07.869 [debug] QUERY OK source="media_items" db=1.5ms idle=329.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")))) [100] 12:39:07.871 [debug] QUERY OK source="tasks" db=0.2ms idle=330.9ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2191961, 100, ~U[2026-04-15 12:39:07Z], ~U[2026-04-15 12:39:07Z]] 12:39:07.871 [info] {"args":{"id":100},"id":2191925,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":334235,"event":"job:stop","queue_time":13269,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:39:11.510 [info] {"source":"oban","duration":17985,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:39:23.557 [info] {"args":{"id":48},"id":2191926,"meta":{},"system_time":1776256763557133170,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:39:23.557 [debug] QUERY OK source="sources" db=0.2ms idle=547.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" = ?) [48] 12:39:23.558 [debug] QUERY OK source="settings" db=0.8ms idle=547.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:39:23.559 [debug] QUERY OK source="media_profiles" db=0.2ms idle=548.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" = ?) [2] 12:39:23.559 [debug] QUERY OK source="settings" db=0.2ms idle=9.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:39:23.559 [debug] Fetching recent media IDs from YouTube API for playlist: UUMelszsqkhcGFC4vfLkGVOQ 12:39:23.560 [debug] QUERY OK source="settings" db=0.1ms idle=2.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:39:23.560 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 12:39:23.847 [debug] QUERY OK source="media_items" db=1.2ms idle=288.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [48, "PmG3oybHKdY", "_au26pq8dGI", "eItpUPME364", "sdXyr_GtpB8", "AViGvZhRZWQ", "rRsanBnxj8Y", "xIRRFVLdHWw", "nFpks9azxFw", "p1dN7GOS8lk", "5MIUwZCfYtE", "EbwfvogGFZI", "iCBSuwWnudY", "1_r0Q-v4isU", "c_MmMRfb9gs", "qj2F5CI116o", "yggPzlFyVxs", "hV5N4uTcwsM", "7CUt9DeECmM", "T4tn4URrQvY", "uNlSwNbXHSo", "HCk5v3zY5Nk", "jgGc7tsZX3Q", "j_GiVJ_DPuo", "42v1XziVgaQ", "RZc4HW07UR8", "058OTXSVAjI", "q6yvVULNEqE", "ZtoPi5lgdH4", "ArW4C-L3E58", "0ytb1nxp6pY", "x1bU7OyY1Qo", "_ceRQgRGZOA", "Ki8vlLEIAPg", "IXLO15CzwYE", "zq5XJNfiSB8", "NFLfR5DkC0E", "qW6QqvULhAo", "nVAN5M-acTo", "ItwW3qI-ISY", "AFytYHMjSVE", "Tqm0F4kwXe4", "8dY1jaKiYzk", "PWNCBzXAY8k", "ChBJS2NSuOo", "ujlSTgsjcco", "hyjshuuA1XA", "A1sIH6inhbk", "ma0MiXa6YXE", "1TXgsjGeo3A", ...] 12:39:23.850 [debug] QUERY OK source="media_items" db=0.9ms idle=290.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")))) [48] 12:39:23.852 [debug] QUERY OK source="tasks" db=0.2ms idle=291.5ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2191962, 48, ~U[2026-04-15 12:39:23Z], ~U[2026-04-15 12:39:23Z]] 12:39:23.852 [info] {"args":{"id":48},"id":2191926,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":295066,"event":"job:stop","queue_time":500638,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:39:41.528 [info] {"source":"oban","duration":17537,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:40:00.816 [info] {"source":"oban","duration":124,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:40:07.547 [info] GET /sources/443/media/4682085 12:40:07.547 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "4682085", "prevent_download" => "true", "source_id" => "443"} Pipelines: [:browser] 12:40:07.547 [debug] QUERY OK source="media_items" db=0.2ms idle=1537.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" = ?) [4682085] 12:40:07.548 [debug] QUERY OK source="tasks" db=0.2ms idle=952.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" [4682085] 12:40:07.548 [debug] QUERY OK source="sources" db=0.3ms idle=537.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" = ?) [443] 12:40:07.549 [debug] QUERY OK source="settings" db=0.1ms idle=538.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:07.549 [debug] QUERY OK source="settings" db=0.2ms idle=539.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:07.550 [debug] QUERY OK source="settings" db=0.1ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:40:07.550 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 12:40:07.552 [info] Sent 200 in 5ms 12:40:11.547 [info] {"source":"oban","duration":18002,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:40:14.612 [info] {"args":{"id":369},"id":2191927,"meta":{},"system_time":1776256814612021690,"max_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:14.613 [debug] QUERY OK source="sources" db=0.8ms idle=1602.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" = ?) [369] 12:40:14.613 [debug] QUERY OK source="settings" db=0.2ms idle=1603.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:14.614 [debug] QUERY OK source="media_profiles" db=0.8ms idle=1009.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" = ?) [2] 12:40:14.615 [debug] QUERY OK source="settings" db=0.2ms idle=9.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:40:14.615 [debug] Fetching recent media IDs from YouTube API for playlist: UUFip-ErYXshRD3JDzriXN8A 12:40:14.615 [debug] QUERY OK source="settings" db=0.1ms idle=3.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:40:14.615 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 12:40:14.900 [debug] QUERY OK source="media_items" db=1.2ms idle=285.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [369, "DQv6aNQGC7U", "bRWEUhphHPE", "VvVu3U8zWOk", "ymIGDQ_lFic", "sn5er6zKTOM", "l9SYxo3_WYA", "osD94bZvUNI", "x8k0cka3Jrs", "7DViK_gisxQ", "1kUHccnNCBE", "AT_LfjiIfBs", "z7VTLIQIyXU", "Gdhcgro17Jw", "OD4Qw7uHCDY", "yLhAyK4fueE", "S1Rqu2jZ3UQ", "EMT89YeL3_g", "8vYZG1ZQo8Y", "jz0YVdItrbE", "aKVtJOvfKzo", "tghPmSQT2Wk", "jdyjuGoXtDM", "StnfONNEX2I", "WN2lzujwn_E", "rginTPQL0Cg", "FTjStFQp_t8", "raC19wUTKFg", "mSuYy69iqzc", "iGQa4KKLsZs", "yDL4zfreZoA", "qQ3Pu_-jSV0", "jaWsFdp-IOY", "sCmYYToePnc", "B516P24Ybv8", "VZdGUFgS_4c", "rwWM2fmlaAs", "nynfq_Mkh-g", "qVK33N5Bub8", "uf23M5FpLuI", "dJwsQ1VZN30", "ZYqB8-5sm1U", "-NFujChdR2Y", "0GdSItbC5Zo", "YW2nunQNtoc", "7bZxSj5IWrw", "TVgZaGPrRQc", "edD3Xrrqb-w", "xZrmgMBcPlI", "sTSgoM5zlHI", ...] 12:40:14.902 [debug] QUERY OK source="media_items" db=0.7ms idle=287.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")))) [369] 12:40:14.904 [debug] QUERY OK source="tasks" db=0.3ms idle=288.2ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2191963, 369, ~U[2026-04-15 12:40:14Z], ~U[2026-04-15 12:40:14Z]] 12:40:14.904 [info] {"args":{"id":369},"id":2191927,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":292226,"event":"job:stop","queue_time":473601,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:40:41.565 [info] {"source":"oban","duration":17824,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:40:44.645 [info] {"args":{"id":377},"id":2187084,"meta":{},"system_time":1776256844645315427,"max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 12:40:44.645 [debug] QUERY OK source="sources" db=0.3ms idle=635.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" = ?) [377] 12:40:44.646 [debug] QUERY OK source="settings" db=0.2ms idle=635.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:44.647 [debug] QUERY OK source="media_items" db=1.1ms idle=636.4ms SELECT count(*) FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [377] 12:40:44.648 [debug] QUERY OK source="media_items" db=0.2ms idle=9.5ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [377] 12:40:44.648 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 12:40:44.649 [debug] QUERY OK source="settings" db=0.1ms idle=3.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:40:44.649 [debug] QUERY OK source="settings" db=0.1ms idle=2.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:40:44.650 [debug] QUERY OK source="media_items" db=0.8ms idle=2.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" = ?) ORDER BY m0."uploaded_at" DESC LIMIT 50 OFFSET 20 [377] 12:40:44.658 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 12:40:44.659 [debug] Current batch of media processed. Will check again in 1000ms 12:40:44.659 [debug] QUERY OK source="settings" db=0.1ms idle=10.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:40:44.659 [debug] QUERY OK source="settings" db=0.1ms idle=10.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:40:44.659 [debug] QUERY OK source="settings" db=0.1ms idle=10.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:40:44.660 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@Danacas_t/shorts --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/shorts/Dana Cast/Dana Cast - %(upload_date>%Y-%m-%d)S - [%(id)S].%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --break-on-existing --download-archive /tmp/pinchflat/data/6f/64/6f6490a43cb59ff35d8f515408858e67988490a7aed4c17e74c6c48059dbcd67.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/bf/66/bf662277d1d8fd888137d5e697964832d841a025e361a6975f511bd02d6b8851.json --cookies /config/extras/cookies.txt --sleep-requests 5 --sleep-interval 4 --sleep-subtitles 5 --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 12:40:45.660 [debug] Current batch of media processed. Will check again in 1000ms 12:40:46.661 [debug] Current batch of media processed. Will check again in 1000ms 12:40:47.662 [debug] Current batch of media processed. Will check again in 1000ms 12:40:48.663 [debug] Current batch of media processed. Will check again in 1000ms 12:40:49.664 [debug] Current batch of media processed. Will check again in 1000ms 12:40:50.665 [debug] Current batch of media processed. Will check again in 1000ms 12:40:51.666 [debug] Current batch of media processed. Will check again in 1000ms 12:40:52.667 [debug] Current batch of media processed. Will check again in 1000ms 12:40:53.668 [debug] Current batch of media processed. Will check again in 1000ms 12:40:54.669 [debug] Current batch of media processed. Will check again in 1000ms 12:40:55.670 [debug] Current batch of media processed. Will check again in 1000ms 12:40:56.671 [debug] Current batch of media processed. Will check again in 1000ms 12:40:57.672 [debug] Current batch of media processed. Will check again in 1000ms 12:40:58.673 [debug] Current batch of media processed. Will check again in 1000ms 12:40:59.674 [debug] Current batch of media processed. Will check again in 1000ms 12:41:00.675 [debug] Current batch of media processed. Will check again in 1000ms 12:41:00.817 [info] {"source":"oban","duration":117,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:41:01.676 [debug] Current batch of media processed. Will check again in 1000ms 12:41:02.258 [info] GET /sources/182/media/4642717/force_download 12:41:02.258 [debug] QUERY OK source="settings" db=0.2ms idle=601.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:41:02.259 [debug] QUERY OK source="settings" db=0.1ms idle=248.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:02.259 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 12:41:02.259 [error] #PID<0.5342.0> running PinchflatWeb.Endpoint (connection #PID<0.5341.0>, stream id 1) terminated Server: jak.hibeex.com:80 (http) Request: GET /sources/182/media/4642717/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/182/media/4642717/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5341.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/182/media/4642717/force_download", host: "jak.hibeex.com", peer: {{172, 22, 0, 1}, 36108}, bindings: %{}, sock: {{172, 22, 0, 4}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYc2k4aFdWZkZySE5FaUNyZm5WdGpBaTBM.WYnWoG8a4-bMsoPSp1hdnsPj03FLDZUp1PDwaKNDJbc", "from" => "gptbot(at)openai.com", "host" => "jak.hibeex.com", "referer" => "https://jak.hibeex.com/sources/182/media/4642717?prevent_download=true", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.232", "x-forwarded-proto" => "https", "x-openai-host-hash" => "41517590", "x-real-ip" => "74.7.243.232" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYc2k4aFdWZkZySE5FaUNyZm5WdGpBaTBM.WYnWoG8a4-bMsoPSp1hdnsPj03FLDZUp1PDwaKNDJbc" }, halted: false, host: "jak.hibeex.com", method: "GET", owner: #PID<0.5342.0>, params: %{}, path_info: ["sources", "182", "media", "4642717", "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://jak.hibeex.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 22, 0, 1}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYc2k4aFdWZkZySE5FaUNyZm5WdGpBaTBM.WYnWoG8a4-bMsoPSp1hdnsPj03FLDZUp1PDwaKNDJbc" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"connection", "close"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYc2k4aFdWZkZySE5FaUNyZm5WdGpBaTBM.WYnWoG8a4-bMsoPSp1hdnsPj03FLDZUp1PDwaKNDJbc"}, {"from", "gptbot(at)openai.com"}, {"host", "jak.hibeex.com"}, {"referer", "https://jak.hibeex.com/sources/182/media/4642717?prevent_download=true"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)"}, {"x-forwarded-for", "74.7.243.232"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "41517590"}, {"x-real-ip", "74.7.243.232"} ], request_path: "/sources/182/media/4642717/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKaINIjA_-rAcVYAAzAB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5341.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/182/media/4642717/force_download", host: "jak.hibeex.com", peer: {{172, 22, 0, 1}, 36108}, bindings: %{}, sock: {{172, 22, 0, 4}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYc2k4aFdWZkZySE5FaUNyZm5WdGpBaTBM.WYnWoG8a4-bMsoPSp1hdnsPj03FLDZUp1PDwaKNDJbc", "from" => "gptbot(at)openai.com", "host" => "jak.hibeex.com", "referer" => "https://jak.hibeex.com/sources/182/media/4642717?prevent_download=true", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.232", "x-forwarded-proto" => "https", "x-openai-host-hash" => "41517590", "x-real-ip" => "74.7.243.232" }, method: "GET", body_length: 0, path_info: :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/182/media/4642717/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5341.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/182/media/4642717/force_download", host: "jak.hibeex.com", peer: {{172, 22, 0, 1}, 36108}, bindings: %{}, sock: {{172, 22, 0, 4}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYc2k4aFdWZkZySE5FaUNyZm5WdGpBaTBM.WYnWoG8a4-bMsoPSp1hdnsPj03FLDZUp1PDwaKNDJbc", "from" => "gptbot(at)openai.com", "host" => "jak.hibeex.com", "referer" => "https://jak.hibeex.com/sources/182/media/4642717?prevent_download=true", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.232", "x-forwarded-proto" => "https", "x-openai-host-hash" => "41517590", "x-real-ip" => "74.7.243.232" }, method: "GET", body_length: 0, path_info: :und (truncated) 12:41:02.677 [debug] Current batch of media processed. Will check again in 1000ms 12:41:03.678 [debug] Current batch of media processed. Will check again in 1000ms 12:41:04.679 [debug] Current batch of media processed. Will check again in 1000ms 12:41:05.668 [info] {"args":{"id":46},"id":2191928,"meta":{},"system_time":1776256865668202875,"max_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:05.668 [debug] QUERY OK source="sources" db=0.2ms idle=1658.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" = ?) [46] 12:41:05.669 [debug] QUERY OK source="settings" db=0.2ms idle=1658.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:05.669 [debug] QUERY OK source="media_profiles" db=0.2ms idle=1009.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" = ?) [2] 12:41:05.670 [debug] QUERY OK source="settings" db=0.2ms idle=8.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:41:05.670 [debug] Fetching recent media IDs from YouTube API for playlist: UU6A5Hm2n4ua3gYOHAXxbwbg 12:41:05.670 [debug] QUERY OK source="settings" db=0.1ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:41:05.670 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 12:41:05.680 [debug] Current batch of media processed. Will check again in 1000ms 12:41:05.964 [debug] QUERY OK source="media_items" db=1.2ms idle=294.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [46, "91FeGvZJScY", "CYBhH_JYrao", "bZT12EHs9Yg", "kbyoiRxn4PI", "SOBkcZSh9II", "zxgDhss5Exw", "amWmTGGET0E", "lHSr_TCLAhk", "fAvcbWRtbyY", "sSD4o9fv_Ew", "krEyWTE0BnQ", "Kz54TXV2ZA4", "PtuYWSOmUPg", "xjw6HjH1noU", "hC2iGUBovAE", "dI34Vp0NFxo", "iH5m0ygselg", "HxUaarF3cOE", "MMOATdS4HTY", "hNctdULnqXQ", "hri9lwiAmbU", "MpuKiJvR3iU", "ZGhsiJ7xyMM", "FlX8Oi3j2lA", "qotJKnBv_XY", "S-NmaIYR_9A", "nOUKPh8FyOA", "sPXEIXVBQPc", "VLm4ts60Jlw", "cM_ILEVbG38", "tZvrO4sGQS0", "OZP4vBfv8cY", "zyjZ2Ywo-sE", "0h-0sZswhS0", "LPVlRTKp4LY", "Jw9Oufynn44", "-SAsUMbDi0c", "vULJb128GAs", "PHs_eSgo9O4", "9CenR6dKkp4", "iO8InAwJARw", "pxSbAVwVPtg", "jvQiQnJUkYE", "okvHOwXHwrs", "Ske0itt1bEY", "T0L4hNCy_9Q", "A0ZpqNJzNcM", "y1yd3nZ9CEk", "pNZjleftqOs", ...] 12:41:05.968 [debug] QUERY OK source="media_items" db=2.2ms idle=296.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")))) [46] 12:41:05.970 [debug] QUERY OK source="tasks" db=0.3ms idle=299.0ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2191964, 46, ~U[2026-04-15 12:41:05Z], ~U[2026-04-15 12:41:05Z]] 12:41:05.970 [info] {"args":{"id":46},"id":2191928,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":301943,"event":"job:stop","queue_time":453400,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:41:06.681 [debug] Current batch of media processed. Will check again in 1000ms 12:41:07.682 [debug] Current batch of media processed. Will check again in 1000ms 12:41:08.683 [debug] Current batch of media processed. Will check again in 1000ms 12:41:09.684 [debug] Current batch of media processed. Will check again in 1000ms 12:41:10.685 [debug] Current batch of media processed. Will check again in 1000ms 12:41:11.584 [info] {"source":"oban","duration":17446,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:41:11.686 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "", "duration" => 26, "filename" => "/downloads/shorts/Dana Cast/Dana Cast - 2025-07-08 - [LYnzNuP2H8o].mp4", "id" => "LYnzNuP2H8o", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/LYnzNuP2H8o", "playlist_index" => 1, "timestamp" => 1751999139, "title" => "8 July 2025", "upload_date" => "20250708"} 12:41:11.686 [debug] QUERY OK source="sources" db=0.2ms idle=676.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" IN (?)) [377] 12:41:11.687 [debug] QUERY OK source="sources" db=0.1ms idle=676.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" = ?) [377] 12:41:11.687 [debug] QUERY OK source="media_items" db=0.3ms idle=677.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-07-08 18:25:39Z], 377] 12:41:11.688 [debug] QUERY OK source="media_items" db=0.5ms idle=103.5ms INSERT INTO "media_items" AS m0 ("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) 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" ["8 July 2025", "2aa4534a-f578-4e5c-ba48-1d01307d6ad2", 26, false, "LYnzNuP2H8o", "https://www.youtube.com/shorts/LYnzNuP2H8o", 1, "/downloads/shorts/Dana Cast/Dana Cast - 2025-07-08 - [LYnzNuP2H8o].mp4", false, false, true, 377, [], 98, ~U[2025-07-08 18:25:39Z], ~U[2026-04-15 12:41:11Z], ~U[2026-04-15 12:41:11Z], "", "8 July 2025", 26, false, "LYnzNuP2H8o", "https://www.youtube.com/shorts/LYnzNuP2H8o", "/downloads/shorts/Dana Cast/Dana Cast - 2025-07-08 - [LYnzNuP2H8o].mp4", true, 377, ~U[2025-07-08 18:25:39Z]] 12:41:11.689 [debug] QUERY OK source="sources" db=0.3ms idle=19.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [377] 12:41:11.689 [debug] QUERY OK source="media_profiles" db=0.3ms 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" = ?) [2] 12:41:11.690 [debug] QUERY OK source="media_items" db=0.3ms 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 [4630127] 12:41:11.690 [debug] Current batch of media processed. Will check again in 1000ms 12:41:12.691 [debug] Current batch of media processed. Will check again in 1000ms 12:41:13.692 [debug] Current batch of media processed. Will check again in 1000ms 12:41:14.693 [debug] Current batch of media processed. Will check again in 1000ms 12:41:15.694 [debug] Current batch of media processed. Will check again in 1000ms 12:41:16.695 [debug] Current batch of media processed. Will check again in 1000ms 12:41:17.696 [debug] Current batch of media processed. Will check again in 1000ms 12:41:18.686 [info] {"args":{"id":162},"id":2191929,"meta":{},"system_time":1776256878686210399,"max_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:18.686 [debug] QUERY OK source="sources" db=0.2ms idle=1676.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" = ?) [162] 12:41:18.687 [debug] QUERY OK source="settings" db=0.8ms idle=1676.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:18.688 [debug] QUERY OK source="media_profiles" db=0.2ms 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" = ?) [2] 12:41:18.688 [debug] QUERY OK source="settings" db=0.2ms idle=9.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:41:18.688 [debug] Fetching recent media IDs from YouTube API for playlist: UUABzsyFLLA-fKu05lR-49RA 12:41:18.689 [debug] QUERY OK source="settings" db=0.1ms idle=2.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:41:18.689 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 12:41:18.697 [debug] Current batch of media processed. Will check again in 1000ms 12:41:18.932 [debug] QUERY OK source="media_items" db=1.1ms idle=244.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [162, "ekjubKROBRg", "4pyotqfBLhM", "2rPbJvL3j4Y", "2O90s2wLTos", "8ZEYPhSYVIE", "MhmiUOWYTxY", "T3HEM7ZNQPA", "V9g3NsG6ut4", "KFgnlLa1D3c", "xuK6RuwvSqs", "d1T9zgY6e8U", "U37vbS9xCmA", "4VfVt3CmdrE", "LHNQ0Hi1a0Q", "kiBovELN07k", "_BwwTsb2TI0", "O9nDiWzdXlo", "T0ZcxY4D2aA", "-12pzaDhv_A", "p2YtdDNlU6k", "FJ9jGXXdoUo", "QbRHZBbwpbA", "jo9TYjGV7uQ", "eECh3m0EVG0", "VvwxdVWgXh0", "qVXJvOy80Q4", "3F4x-FMlEjA", "Tf07AdpNyww", "eP5Nph4v_DE", "ZnLiB07EjmM", "SRE_KFmxcq8", "Lx_lGb9dkYQ", "dMZ3w9NsjrM", "saSk7K_qJEo", "zrRiTNHXA1w", "JDEMAWmI6hU", "PODXln9kxPI", "ewnhb2rTabk", "ZbgB2Wdq6pA", "83PGdBO5sJk", "Z5K6fG36bDM", "snQvJ89e53Y", "15cm2QYHlSY", "Sh9rBNM8AHk", "NOZ6drrRrI8", "PHEHlvvVeAw", "t9omgey7Q0w", "6IYTsuTZeuI", "swAglzdSLts", ...] 12:41:18.936 [debug] QUERY OK source="media_items" db=2.6ms idle=246.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")))) [162] 12:41:18.938 [debug] QUERY OK source="tasks" db=0.2ms idle=248.9ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2191965, 162, ~U[2026-04-15 12:41:18Z], ~U[2026-04-15 12:41:18Z]] 12:41:18.939 [info] {"args":{"id":162},"id":2191929,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":252382,"event":"job:stop","queue_time":487736,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:41:19.698 [debug] Current batch of media processed. Will check again in 1000ms 12:41:20.699 [debug] Current batch of media processed. Will check again in 1000ms 12:41:21.700 [debug] Current batch of media processed. Will check again in 1000ms 12:41:22.701 [debug] Current batch of media processed. Will check again in 1000ms 12:41:23.702 [debug] Current batch of media processed. Will check again in 1000ms 12:41:24.703 [debug] Current batch of media processed. Will check again in 1000ms 12:41:25.704 [debug] Current batch of media processed. Will check again in 1000ms 12:41:26.705 [debug] Current batch of media processed. Will check again in 1000ms 12:41:27.706 [debug] Current batch of media processed. Will check again in 1000ms 12:41:28.707 [debug] Current batch of media processed. Will check again in 1000ms 12:41:29.708 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "", "duration" => 24, "filename" => "/downloads/shorts/Dana Cast/Dana Cast - 2025-05-27 - [jtAvo-8tkT0].mp4", "id" => "jtAvo-8tkT0", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/jtAvo-8tkT0", "playlist_index" => 2, "timestamp" => 1748364241, "title" => "Dana Cast Season 3 | Stay Tuned 🔥", "upload_date" => "20250527"} 12:41:29.708 [debug] QUERY OK source="sources" db=0.2ms idle=1698.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" IN (?)) [377] 12:41:29.709 [debug] QUERY OK source="sources" db=0.2ms 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" = ?) [377] 12:41:29.710 [debug] QUERY OK source="media_items" db=0.4ms idle=1699.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-05-27 16:44:01Z], 377] 12:41:29.711 [debug] QUERY OK source="media_items" db=0.6ms idle=1015.4ms INSERT INTO "media_items" AS m0 ("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) 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" ["Dana Cast Season 3 | Stay Tuned 🔥", "f7334fc0-8aef-4225-9647-567e937caf31", 24, false, "jtAvo-8tkT0", "https://www.youtube.com/shorts/jtAvo-8tkT0", 2, "/downloads/shorts/Dana Cast/Dana Cast - 2025-05-27 - [jtAvo-8tkT0].mp4", false, false, true, 377, [], 98, ~U[2025-05-27 16:44:01Z], ~U[2026-04-15 12:41:29Z], ~U[2026-04-15 12:41:29Z], "", "Dana Cast Season 3 | Stay Tuned 🔥", 24, false, "jtAvo-8tkT0", "https://www.youtube.com/shorts/jtAvo-8tkT0", "/downloads/shorts/Dana Cast/Dana Cast - 2025-05-27 - [jtAvo-8tkT0].mp4", true, 377, ~U[2025-05-27 16:44:01Z]] 12:41:29.711 [debug] QUERY OK source="sources" db=0.3ms idle=15.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [377] 12:41:29.712 [debug] QUERY OK source="media_profiles" db=0.4ms idle=3.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 12:41:29.713 [debug] QUERY OK source="media_items" db=0.3ms idle=3.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4422077] 12:41:29.713 [debug] Current batch of media processed. Will check again in 1000ms 12:41:30.714 [debug] Current batch of media processed. Will check again in 1000ms 12:41:31.715 [debug] Current batch of media processed. Will check again in 1000ms 12:41:32.716 [debug] Current batch of media processed. Will check again in 1000ms 12:41:33.717 [debug] Current batch of media processed. Will check again in 1000ms 12:41:34.718 [debug] Current batch of media processed. Will check again in 1000ms 12:41:35.719 [debug] Current batch of media processed. Will check again in 1000ms 12:41:36.720 [debug] Current batch of media processed. Will check again in 1000ms 12:41:37.721 [debug] Current batch of media processed. Will check again in 1000ms 12:41:38.722 [debug] Current batch of media processed. Will check again in 1000ms 12:41:39.723 [debug] Current batch of media processed. Will check again in 1000ms 12:41:40.724 [debug] Current batch of media processed. Will check again in 1000ms 12:41:41.603 [info] {"source":"oban","duration":17889,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:41:41.725 [debug] Current batch of media processed. Will check again in 1000ms 12:41:42.726 [debug] Current batch of media processed. Will check again in 1000ms 12:41:43.727 [debug] Current batch of media processed. Will check again in 1000ms 12:41:44.728 [debug] Current batch of media processed. Will check again in 1000ms 12:41:45.729 [debug] Current batch of media processed. Will check again in 1000ms 12:41:46.730 [debug] Current batch of media processed. Will check again in 1000ms 12:41:47.731 [debug] Current batch of media processed. Will check again in 1000ms 12:41:48.732 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "", "duration" => 24, "filename" => "/downloads/shorts/Dana Cast/Dana Cast - 2025-02-22 - [qnppFRwLfM4].mp4", "id" => "qnppFRwLfM4", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/qnppFRwLfM4", "playlist_index" => 3, "timestamp" => 1740245537, "title" => "اصعب شي بالدنيا فقدان الام 💔 #بودكاست #danacast #اكسبلور #whowillbemylifepartnerta", "upload_date" => "20250222"} 12:41:48.732 [debug] QUERY OK source="sources" db=0.1ms idle=1722.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" IN (?)) [377] 12:41:48.733 [debug] QUERY OK source="sources" db=0.1ms idle=1722.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" = ?) [377] 12:41:48.733 [debug] QUERY OK source="media_items" db=0.3ms idle=1723.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-02-22 17:32:17Z], 377] 12:41:48.734 [debug] QUERY OK source="media_items" db=0.6ms idle=1016.2ms INSERT INTO "media_items" AS m0 ("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) 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" ["اصعب شي بالدنيا فقدان الام 💔 #بودكاست #danacast #اكسبلور #whowillbemylifepartnerta", "d2f7b076-3689-4faa-97fe-9030decfb44a", 24, false, "qnppFRwLfM4", "https://www.youtube.com/shorts/qnppFRwLfM4", 3, "/downloads/shorts/Dana Cast/Dana Cast - 2025-02-22 - [qnppFRwLfM4].mp4", false, false, true, 377, [], 98, ~U[2025-02-22 17:32:17Z], ~U[2026-04-15 12:41:48Z], ~U[2026-04-15 12:41:48Z], "", "اصعب شي بالدنيا فقدان الام 💔 #بودكاست #danacast #اكسبلور #whowillbemylifepartnerta", 24, false, "qnppFRwLfM4", "https://www.youtube.com/shorts/qnppFRwLfM4", "/downloads/shorts/Dana Cast/Dana Cast - 2025-02-22 - [qnppFRwLfM4].mp4", true, 377, ~U[2025-02-22 17:32:17Z]] 12:41:48.735 [debug] QUERY OK source="sources" db=0.2ms idle=16.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [377] 12:41:48.735 [debug] QUERY OK source="media_profiles" db=0.2ms 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" = ?) [2] 12:41:48.736 [debug] QUERY OK source="media_items" db=0.3ms idle=2.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4188503] 12:41:48.736 [debug] Current batch of media processed. Will check again in 1000ms 12:41:49.737 [debug] Current batch of media processed. Will check again in 1000ms 12:41:50.738 [debug] Current batch of media processed. Will check again in 1000ms 12:41:51.739 [debug] Current batch of media processed. Will check again in 1000ms 12:41:52.740 [debug] Current batch of media processed. Will check again in 1000ms 12:41:53.741 [debug] Current batch of media processed. Will check again in 1000ms 12:41:54.742 [debug] Current batch of media processed. Will check again in 1000ms 12:41:55.563 [info] GET /sources/158/media/4689625 12:41:55.563 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "4689625", "prevent_download" => "true", "source_id" => "158"} Pipelines: [:browser] 12:41:55.564 [debug] QUERY OK source="media_items" db=0.2ms idle=1553.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" = ?) [4689625] 12:41:55.564 [debug] QUERY OK source="tasks" db=0.1ms idle=1554.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" [4689625] 12:41:55.565 [debug] QUERY OK source="sources" db=0.3ms idle=1554.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" = ?) [158] 12:41:55.565 [debug] QUERY OK source="settings" db=0.2ms idle=1555.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:55.566 [debug] QUERY OK source="settings" db=0.1ms idle=840.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:55.566 [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 [] 12:41:55.567 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.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" = ?) [2] 12:41:55.568 [info] Sent 200 in 5ms 12:41:55.743 [debug] Current batch of media processed. Will check again in 1000ms 12:41:56.744 [debug] Current batch of media processed. Will check again in 1000ms 12:41:57.736 [info] {"args":{"id":380},"id":2187090,"meta":{},"system_time":1776256917736189459,"max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 12:41:57.736 [debug] QUERY OK source="sources" db=0.2ms idle=726.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" = ?) [380] 12:41:57.737 [debug] QUERY OK source="settings" db=0.2ms idle=726.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:57.738 [debug] QUERY OK source="media_items" db=0.6ms idle=727.1ms SELECT count(*) FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [380] 12:41:57.739 [debug] QUERY OK source="media_items" db=0.8ms idle=9.0ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [380] 12:41:57.739 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 12:41:57.739 [debug] QUERY OK source="settings" db=0.1ms idle=3.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:41:57.740 [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 [] 12:41:57.742 [debug] QUERY OK source="media_items" db=1.1ms 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 WHERE (m0."source_id" = ?) ORDER BY m0."uploaded_at" DESC LIMIT 50 OFFSET 20 [380] 12:41:57.745 [debug] Current batch of media processed. Will check again in 1000ms 12:41:57.750 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 12:41:57.750 [debug] Current batch of media processed. Will check again in 1000ms 12:41:57.750 [debug] QUERY OK source="settings" db=0.2ms idle=11.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:41:57.751 [debug] QUERY OK source="settings" db=0.2ms idle=11.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:41:57.751 [debug] QUERY OK source="settings" db=0.1ms idle=11.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:41:57.752 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@AkkasCO/shorts --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/shorts/عكاس/عكاس - %(upload_date>%Y-%m-%d)S - [%(id)S].%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --break-on-existing --download-archive /tmp/pinchflat/data/db/fc/dbfcc521ac180ab47baaae1d293f633e7bb35f27e858cf981e150405cdc8187a.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/8c/78/8c787d7d37182226cc3528b1f71fcc7c60b6787a66bf11c6675e1e14f7f287c2.json --sleep-requests 5 --sleep-interval 4 --sleep-subtitles 5 --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 12:41:58.746 [debug] Current batch of media processed. Will check again in 1000ms 12:41:58.751 [debug] Current batch of media processed. Will check again in 1000ms 12:41:59.747 [debug] Current batch of media processed. Will check again in 1000ms 12:41:59.752 [debug] Current batch of media processed. Will check again in 1000ms 12:42:00.748 [debug] Current batch of media processed. Will check again in 1000ms 12:42:00.753 [debug] Current batch of media processed. Will check again in 1000ms 12:42:00.818 [info] {"source":"oban","duration":135,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:42:01.749 [debug] Current batch of media processed. Will check again in 1000ms 12:42:01.754 [debug] Current batch of media processed. Will check again in 1000ms 12:42:02.750 [debug] Current batch of media processed. Will check again in 1000ms 12:42:02.755 [debug] Current batch of media processed. Will check again in 1000ms 12:42:03.751 [debug] Current batch of media processed. Will check again in 1000ms 12:42:03.756 [debug] Current batch of media processed. Will check again in 1000ms 12:42:04.744 [info] {"args":{"id":171},"id":2191930,"meta":{},"system_time":1776256924744054779,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:42:04.744 [debug] QUERY OK source="sources" db=0.2ms idle=1734.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" = ?) [171] 12:42:04.745 [debug] QUERY OK source="settings" db=0.2ms 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 [] 12:42:04.745 [debug] QUERY OK source="media_profiles" db=0.2ms idle=735.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" = ?) [2] 12:42:04.745 [debug] QUERY OK source="settings" db=0.2ms idle=8.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:42:04.746 [debug] Fetching recent media IDs from YouTube API for playlist: UUPCJJLOkkiG_nO9lZkfXnjw 12:42:04.746 [debug] QUERY OK source="settings" db=0.1ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:42:04.746 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 12:42:04.752 [debug] Current batch of media processed. Will check again in 1000ms 12:42:04.757 [debug] Current batch of media processed. Will check again in 1000ms 12:42:05.002 [debug] QUERY OK source="media_items" db=1.3ms idle=255.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [171, "VFX3pYhqhMc", "8akbqnY6xfo", "mQGq7-_ZQpk", "DvU-9b-WRJQ", "qcVMc5qMHMc", "ZyaHtWeeQJo", "ObsLfR-eCfU", "wlrCH1ymC38", "BClWowlDc8Y", "IURONY7yLa0", "tXm7P3osDUM", "fEJp3H2bGIY", "ckYlSSk9ZDY", "6eKiHxor-8w", "m4s-6oJifb4", "J4KgJCBFs3I", "JJX9_mf8FpA", "KYuy8_X3KnQ", "fAKwe1CyPFQ", "25U_zUTaGl4", "OH-Lamsjd9Q", "hswGipBbpOs", "xy6xhSL7UCs", "VV-71sXr_Eg", "GtzJpE7Immk", "rrHhJaJ4PnE", "baWEivZpZpo", "eBYlWe7Cr7U", "k2AXmp7yS9A", "Y2M9tN8gnj0", "6ma-PaQ-e6c", "JOeBw_6a5XU", "LXdTRc3Tzu4", "owNOuAsIk5U", "us6iLwMmGKE", "GaGQuySKjYQ", "LaU1HhuupRQ", "SI-1fDbu4ss", "VgyfdGRM4Pc", "rHAI52w5zxs", "lzGGMh8vkyc", "NoqX1AM-4VA", "UH4xsNgVKrU", "0mT-lxX7dLo", "YuJWnY0puNw", "_BC4l__ihhY", "yH5YAprPCA0", "JKxMb-Ky2P0", "kA0vffcJPD4", ...] 12:42:05.004 [debug] QUERY OK source="media_items" db=1.1ms idle=258.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")))) [171] 12:42:05.006 [debug] QUERY OK source="tasks" db=0.3ms idle=259.7ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2191966, 171, ~U[2026-04-15 12:42:05Z], ~U[2026-04-15 12:42:05Z]] 12:42:05.006 [info] {"args":{"id":171},"id":2191930,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":262464,"event":"job:stop","queue_time":485377,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:42:05.753 [debug] Current batch of media processed. Will check again in 1000ms 12:42:05.758 [debug] Current batch of media processed. Will check again in 1000ms 12:42:06.754 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "", "duration" => 30, "filename" => "/downloads/shorts/Dana Cast/Dana Cast - 2025-02-21 - [mIFXL20N2jo].mp4", "id" => "mIFXL20N2jo", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/mIFXL20N2jo", "playlist_index" => 4, "timestamp" => 1740158192, "title" => "هالمشاعر قادرة تاكد لنا ان الدنيا فيها خير ❤️ #بودكاست #مرضيه #danacast #اكسبلور", "upload_date" => "20250221"} 12:42:06.754 [debug] QUERY OK source="sources" db=0.1ms idle=1015.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" IN (?)) [377] 12:42:06.755 [debug] QUERY OK source="sources" db=0.2ms idle=744.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" = ?) [377] 12:42:06.756 [debug] QUERY OK source="media_items" db=0.4ms idle=745.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-02-21 17:16:32Z], 377] 12:42:06.757 [debug] QUERY OK source="media_items" db=0.6ms idle=746.0ms INSERT INTO "media_items" AS m0 ("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) 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" ["هالمشاعر قادرة تاكد لنا ان الدنيا فيها خير ❤️ #بودكاست #مرضيه #danacast #اكسبلور", "582f43a9-87ba-4efc-81de-5b9a00e1e67c", 30, false, "mIFXL20N2jo", "https://www.youtube.com/shorts/mIFXL20N2jo", 4, "/downloads/shorts/Dana Cast/Dana Cast - 2025-02-21 - [mIFXL20N2jo].mp4", false, false, true, 377, [], 98, ~U[2025-02-21 17:16:32Z], ~U[2026-04-15 12:42:06Z], ~U[2026-04-15 12:42:06Z], "", "هالمشاعر قادرة تاكد لنا ان الدنيا فيها خير ❤️ #بودكاست #مرضيه #danacast #اكسبلور", 30, false, "mIFXL20N2jo", "https://www.youtube.com/shorts/mIFXL20N2jo", "/downloads/shorts/Dana Cast/Dana Cast - 2025-02-21 - [mIFXL20N2jo].mp4", true, 377, ~U[2025-02-21 17:16:32Z]] 12:42:06.757 [debug] QUERY OK source="sources" db=0.4ms idle=17.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [377] 12:42:06.758 [debug] QUERY OK source="media_profiles" db=0.3ms idle=3.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 12:42:06.759 [debug] QUERY OK source="media_items" db=0.4ms idle=3.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4182250] 12:42:06.759 [debug] Current batch of media processed. Will check again in 1000ms 12:42:06.759 [debug] Current batch of media processed. Will check again in 1000ms 12:42:07.760 [debug] Current batch of media processed. Will check again in 1000ms 12:42:07.760 [debug] Current batch of media processed. Will check again in 1000ms 12:42:08.749 [info] {"args":{"id":45},"id":2191931,"meta":{},"system_time":1776256928749169571,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:42:08.749 [debug] QUERY OK source="sources" db=0.3ms idle=739.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" = ?) [45] 12:42:08.750 [debug] QUERY OK source="settings" db=0.1ms idle=739.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:42:08.750 [debug] QUERY OK source="media_profiles" db=0.2ms idle=740.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" = ?) [2] 12:42:08.751 [debug] QUERY OK source="settings" db=0.2ms idle=8.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:42:08.751 [debug] Fetching recent media IDs from YouTube API for playlist: UUMQ18I4n6ccOSNDLfdhrUbQ 12:42:08.751 [debug] QUERY OK source="settings" db=0.1ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:42:08.751 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 12:42:08.761 [debug] Current batch of media processed. Will check again in 1000ms 12:42:08.761 [debug] Current batch of media processed. Will check again in 1000ms 12:42:08.999 [debug] QUERY OK source="media_items" db=1.3ms idle=248.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [45, "1th0U5H3aHc", "HGQV0of6nTE", "tKUGP9uxthw", "zQ3Qx9XHEf4", "oh-kSHOIQ-c", "RIGhyFg4AEY", "v9qp1yPZt94", "gMO10EuN6KY", "guC1BavbIsk", "Fmcoi8sp3kY", "UHXR0zqI9J8", "AAbWLkNEyac", "zlJ3ZE4YpI8", "vJLpHsN9O_M", "kUUO6WBjK7Y", "9MmcAy4OnXQ", "7G_bPyOUvq0", "Rc52Q9uG9p0", "Y8n3lqN1i3g", "dD8t_STorhk", "3dNHma-3EgY", "No3485rTj_Y", "xoIs_xBbBWQ", "3K3hFo6GUvU", "NhOWgP2G6SQ", "Phk0M8YZHc4", "_IAzU1Fd9Ak", "PMpaUqMnKiI", "p0NoIs5o5_8", "dy-0x1OV7mQ", "la8vobugu4g", "x6Ya11dw01M", "btegTB5eZC8", "awVvsRDCfkw", "6RwmzCGOVYk", "DIQ2PB2ht0Y", "vu6koXlG7Po", "Eoe_RDgTSFw", "zSVaXb8nd4E", "0vFVIUPZOto", "lJ-mtNTLrHE", "uZ79fUJjhyQ", "HWMx3-Xlr6Y", "kUtb_rKxgw0", "qmiQw-kcCfI", "PtJ2G8fLzSs", "lmjBT5TyeLc", "PEM_S-3B_Ps", "Klgdof9Tg7g", ...] 12:42:09.003 [debug] QUERY OK source="media_items" db=2.3ms idle=250.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")))) [45] 12:42:09.005 [debug] QUERY OK source="tasks" db=0.3ms idle=253.3ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2191967, 45, ~U[2026-04-15 12:42:09Z], ~U[2026-04-15 12:42:09Z]] 12:42:09.006 [info] {"args":{"id":45},"id":2191931,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":256467,"event":"job:stop","queue_time":394924,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:42:09.762 [debug] Current batch of media processed. Will check again in 1000ms 12:42:09.762 [debug] Current batch of media processed. Will check again in 1000ms 12:42:10.763 [debug] Current batch of media processed. Will check again in 1000ms 12:42:10.763 [debug] Current batch of media processed. Will check again in 1000ms 12:42:11.624 [info] {"source":"oban","duration":20559,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:42:11.764 [debug] Current batch of media processed. Will check again in 1000ms 12:42:11.764 [debug] Current batch of media processed. Will check again in 1000ms 12:42:12.765 [debug] Current batch of media processed. Will check again in 1000ms 12:42:12.765 [debug] Current batch of media processed. Will check again in 1000ms 12:42:13.766 [debug] Current batch of media processed. Will check again in 1000ms 12:42:13.766 [debug] Current batch of media processed. Will check again in 1000ms 12:42:14.767 [debug] Current batch of media processed. Will check again in 1000ms 12:42:14.767 [debug] Current batch of media processed. Will check again in 1000ms 12:42:15.768 [debug] Current batch of media processed. Will check again in 1000ms 12:42:15.768 [debug] Current batch of media processed. Will check again in 1000ms 12:42:16.769 [debug] Current batch of media processed. Will check again in 1000ms 12:42:16.769 [debug] Current batch of media processed. Will check again in 1000ms 12:42:17.770 [debug] Current batch of media processed. Will check again in 1000ms 12:42:17.770 [debug] Current batch of media processed. Will check again in 1000ms 12:42:18.771 [debug] Current batch of media processed. Will check again in 1000ms 12:42:18.771 [debug] Current batch of media processed. Will check again in 1000ms 12:42:19.772 [debug] Current batch of media processed. Will check again in 1000ms 12:42:19.772 [debug] Current batch of media processed. Will check again in 1000ms 12:42:20.773 [debug] Current batch of media processed. Will check again in 1000ms 12:42:20.773 [debug] Current batch of media processed. Will check again in 1000ms 12:42:21.774 [debug] Current batch of media processed. Will check again in 1000ms 12:42:21.774 [debug] Current batch of media processed. Will check again in 1000ms 12:42:22.775 [debug] Current batch of media processed. Will check again in 1000ms 12:42:22.775 [debug] Current batch of media processed. Will check again in 1000ms 12:42:23.776 [debug] Current batch of media processed. Will check again in 1000ms 12:42:23.776 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "", "duration" => 65, "filename" => "/downloads/shorts/عكاس/عكاس - 2026-04-11 - [-K2JUcy3Sw0].mp4", "id" => "-K2JUcy3Sw0", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/-K2JUcy3Sw0", "playlist_index" => 1, "timestamp" => 1775908773, "title" => "حلقة الدكتور: محمد بقنة، بتنزل اليوم الساعة 4:30 مساءً.. مشاهدة ممتعة", "upload_date" => "20260411"} 12:42:23.776 [debug] QUERY OK source="sources" db=0.2ms idle=1766.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" IN (?)) [380] 12:42:23.777 [debug] QUERY OK source="sources" db=0.1ms idle=1017.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" = ?) [380] 12:42:23.777 [debug] QUERY OK source="media_items" db=0.3ms idle=767.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-11 11:59:33Z], 380] 12:42:23.778 [debug] QUERY OK source="media_items" db=0.6ms idle=767.8ms INSERT INTO "media_items" AS m0 ("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) 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" ["حلقة الدكتور: محمد بقنة، بتنزل اليوم الساعة 4:30 مساءً.. مشاهدة ممتعة", "75188a45-57ea-4670-8356-65db3ac2e205", 65, false, "-K2JUcy3Sw0", "https://www.youtube.com/shorts/-K2JUcy3Sw0", 1, "/downloads/shorts/عكاس/عكاس - 2026-04-11 - [-K2JUcy3Sw0].mp4", false, false, true, 380, [], 98, ~U[2026-04-11 11:59:33Z], ~U[2026-04-15 12:42:23Z], ~U[2026-04-15 12:42:23Z], "", "حلقة الدكتور: محمد بقنة، بتنزل اليوم الساعة 4:30 مساءً.. مشاهدة ممتعة", 65, false, "-K2JUcy3Sw0", "https://www.youtube.com/shorts/-K2JUcy3Sw0", "/downloads/shorts/عكاس/عكاس - 2026-04-11 - [-K2JUcy3Sw0].mp4", true, 380, ~U[2026-04-11 11:59:33Z]] 12:42:23.779 [debug] QUERY OK source="sources" db=0.2ms idle=18.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [380] 12:42:23.779 [debug] QUERY OK source="media_profiles" db=0.3ms 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" = ?) [2] 12:42:23.780 [debug] QUERY OK source="media_items" db=0.3ms idle=2.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4688265] 12:42:23.780 [debug] Current batch of media processed. Will check again in 1000ms 12:42:24.777 [debug] Current batch of media processed. Will check again in 1000ms 12:42:24.781 [debug] Current batch of media processed. Will check again in 1000ms 12:42:25.778 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "", "duration" => 62, "filename" => "/downloads/shorts/Dana Cast/Dana Cast - 2025-02-19 - [e2JmvlYzDY0].mp4", "id" => "e2JmvlYzDY0", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/e2JmvlYzDY0", "playlist_index" => 5, "timestamp" => 1739981649, "title" => "19 February 2025", "upload_date" => "20250219"} 12:42:25.778 [debug] QUERY OK source="sources" db=0.2ms idle=768.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" IN (?)) [377] 12:42:25.779 [debug] QUERY OK source="sources" db=0.2ms idle=768.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" = ?) [377] 12:42:25.779 [debug] QUERY OK source="media_items" db=0.3ms idle=769.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-02-19 16:14:09Z], 377] 12:42:25.781 [debug] QUERY OK source="media_items" db=0.6ms idle=769.9ms INSERT INTO "media_items" AS m0 ("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) 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" ["19 February 2025", "6c864cda-91ed-4a5c-b8fc-7edb0c0ab930", 62, false, "e2JmvlYzDY0", "https://www.youtube.com/shorts/e2JmvlYzDY0", 5, "/downloads/shorts/Dana Cast/Dana Cast - 2025-02-19 - [e2JmvlYzDY0].mp4", false, false, true, 377, [], 98, ~U[2025-02-19 16:14:09Z], ~U[2026-04-15 12:42:25Z], ~U[2026-04-15 12:42:25Z], "", "19 February 2025", 62, false, "e2JmvlYzDY0", "https://www.youtube.com/shorts/e2JmvlYzDY0", "/downloads/shorts/Dana Cast/Dana Cast - 2025-02-19 - [e2JmvlYzDY0].mp4", true, 377, ~U[2025-02-19 16:14:09Z]] 12:42:25.781 [debug] QUERY OK source="sources" db=0.2ms idle=17.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" = ?) [377] 12:42:25.781 [debug] QUERY OK source="media_profiles" db=0.2ms 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" = ?) [2] 12:42:25.782 [debug] Current batch of media processed. Will check again in 1000ms 12:42:25.782 [debug] QUERY OK source="media_items" db=0.4ms queue=0.1ms idle=2.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4167043] 12:42:25.782 [debug] Current batch of media processed. Will check again in 1000ms 12:42:26.783 [debug] Current batch of media processed. Will check again in 1000ms 12:42:26.783 [debug] Current batch of media processed. Will check again in 1000ms 12:42:27.784 [debug] Current batch of media processed. Will check again in 1000ms 12:42:27.784 [debug] Current batch of media processed. Will check again in 1000ms 12:42:28.785 [debug] Current batch of media processed. Will check again in 1000ms 12:42:28.785 [debug] Current batch of media processed. Will check again in 1000ms 12:42:29.786 [debug] Current batch of media processed. Will check again in 1000ms 12:42:29.786 [debug] Current batch of media processed. Will check again in 1000ms 12:42:30.787 [debug] Current batch of media processed. Will check again in 1000ms 12:42:30.787 [debug] Current batch of media processed. Will check again in 1000ms 12:42:31.788 [debug] Current batch of media processed. Will check again in 1000ms 12:42:31.788 [debug] Current batch of media processed. Will check again in 1000ms 12:42:32.789 [debug] Current batch of media processed. Will check again in 1000ms 12:42:32.789 [debug] Current batch of media processed. Will check again in 1000ms 12:42:33.790 [debug] Current batch of media processed. Will check again in 1000ms 12:42:33.790 [debug] Current batch of media processed. Will check again in 1000ms 12:42:34.791 [debug] Current batch of media processed. Will check again in 1000ms 12:42:34.791 [debug] Current batch of media processed. Will check again in 1000ms 12:42:35.792 [debug] Current batch of media processed. Will check again in 1000ms 12:42:35.792 [debug] Current batch of media processed. Will check again in 1000ms 12:42:36.793 [debug] Current batch of media processed. Will check again in 1000ms 12:42:36.793 [debug] Current batch of media processed. Will check again in 1000ms 12:42:37.794 [debug] Current batch of media processed. Will check again in 1000ms 12:42:37.794 [debug] Current batch of media processed. Will check again in 1000ms 12:42:38.795 [debug] Current batch of media processed. Will check again in 1000ms 12:42:38.795 [debug] Current batch of media processed. Will check again in 1000ms 12:42:39.796 [debug] Current batch of media processed. Will check again in 1000ms 12:42:39.796 [debug] Current batch of media processed. Will check again in 1000ms 12:42:40.797 [debug] Current batch of media processed. Will check again in 1000ms 12:42:40.797 [debug] Current batch of media processed. Will check again in 1000ms 12:42:41.643 [info] {"source":"oban","duration":18064,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:42:41.789 [info] {"args":{"id":550},"id":2191932,"meta":{},"system_time":1776256961788856157,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:42:41.789 [debug] QUERY OK source="sources" db=0.3ms idle=778.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" = ?) [550] 12:42:41.790 [debug] QUERY OK source="settings" db=0.2ms idle=779.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:42:41.791 [debug] QUERY OK source="media_profiles" db=0.8ms idle=147.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" = ?) [2] 12:42:41.791 [debug] QUERY OK source="settings" db=0.2ms idle=9.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:42:41.791 [debug] Fetching recent media IDs from YouTube API for playlist: UUyVm0Ssw0oOM3GVTFEgfhVg 12:42:41.791 [debug] QUERY OK source="settings" db=0.1ms idle=2.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:42:41.792 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 12:42:41.798 [debug] Current batch of media processed. Will check again in 1000ms 12:42:41.798 [debug] Current batch of media processed. Will check again in 1000ms 12:42:42.046 [debug] QUERY OK source="media_items" db=1.2ms idle=255.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [550, "VVIu4Gd4Bmc", "VGkvWr49xiw", "FdtdrFElwxQ", "BiF8O-aJPsk", "pEPIdeIbSqE", "HVKDahMQhLU", "K1Z5WWHlSs0", "bTV-2GoMx5k", "5sktFoXR3kE", "Iw29TZ6SLvo", "QC4YTqx7lzA", "BIqcmk-5aJw", "YNoKdu3sWVw", "lDBjR9fkeyk", "UUw-e-5nl_w", "dWSKUDO1V2I", "ZxzpHQbUKZ8", "-88OXqMJjwg", "la1zxxjndF4", "d9IgzofO0fw", "o5zrD7rGl30", "quRGt1p1A6k", "IaipBYPY5V4", "iQu6FfiMnF4", "8xBlIDRpM28", "Lfo4DApK5a4", "bCJ3n8KOHYg", "Sjq6OHG4LSA", "8dSZzMsNwyE", "D6scLf0M_fw", "LbqgtTaCN-k", "VipSIn8XPCo", "laY5ME4rd8I", "iEqiRJ55fSM", "KpJw8Q3uePk", "wwRpgDY-BWw", "iV1WybdFWlE", "-orEfZNWjmY", "sBdEudKHhrc", "VBf9tHUdj1E", "whEUmNj9kZE", "n1-6atPiL-g", "xeXJJg6jwm0", "T65vDEtDyu0", "pe0HV6-wnsU", "i0IdbczAU7I", "2tGs0NNZaAM", "bq6i0vWfoZ0", "sRC7ONGF8EQ", ...] 12:42:42.048 [debug] QUERY OK source="media_items" db=0.6ms 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")))) [550] 12:42:42.050 [debug] QUERY OK source="tasks" db=0.3ms idle=257.7ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2191968, 550, ~U[2026-04-15 12:42:42Z], ~U[2026-04-15 12:42:42Z]] 12:42:42.050 [info] {"args":{"id":550},"id":2191932,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":261286,"event":"job:stop","queue_time":464118,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:42:42.799 [debug] Current batch of media processed. Will check again in 1000ms 12:42:42.799 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "", "duration" => 148, "filename" => "/downloads/shorts/عكاس/عكاس - 2026-03-28 - [rece9S8DkD4].mp4", "id" => "rece9S8DkD4", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/rece9S8DkD4", "playlist_index" => 2, "timestamp" => 1774720839, "title" => "وش هي المسيّرات؟ | #الزبدة #اكسبلور", "upload_date" => "20260328"} 12:42:42.799 [debug] QUERY OK source="sources" db=0.3ms idle=749.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" IN (?)) [380] 12:42:42.800 [debug] QUERY OK source="sources" db=0.3ms idle=750.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" = ?) [380] 12:42:42.801 [debug] QUERY OK source="media_items" db=0.3ms idle=750.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-28 18:00:39Z], 380] 12:42:42.817 [debug] QUERY OK source="media_items" db=16.1ms idle=744.6ms INSERT INTO "media_items" AS m0 ("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) 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" ["وش هي المسيّرات؟ | #الزبدة #اكسبلور", "eadb0b69-e88c-4128-8c6c-836c90c97291", 148, false, "rece9S8DkD4", "https://www.youtube.com/shorts/rece9S8DkD4", 2, "/downloads/shorts/عكاس/عكاس - 2026-03-28 - [rece9S8DkD4].mp4", false, false, true, 380, [], 98, ~U[2026-03-28 18:00:39Z], ~U[2026-04-15 12:42:42Z], ~U[2026-04-15 12:42:42Z], "", "وش هي المسيّرات؟ | #الزبدة #اكسبلور", 148, false, "rece9S8DkD4", "https://www.youtube.com/shorts/rece9S8DkD4", "/downloads/shorts/عكاس/عكاس - 2026-03-28 - [rece9S8DkD4].mp4", true, 380, ~U[2026-03-28 18:00:39Z]] 12:42:42.818 [debug] QUERY OK source="sources" db=0.3ms idle=34.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" = ?) [380] 12:42:42.818 [debug] QUERY OK source="media_profiles" db=0.3ms idle=18.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 12:42:42.819 [debug] QUERY OK source="media_items" db=0.4ms idle=18.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 [4630523] 12:42:42.819 [debug] Current batch of media processed. Will check again in 1000ms 12:42:43.800 [debug] Current batch of media processed. Will check again in 1000ms 12:42:43.820 [debug] Current batch of media processed. Will check again in 1000ms 12:42:44.801 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "", "duration" => 29, "filename" => "/downloads/shorts/Dana Cast/Dana Cast - 2025-02-17 - [VER461Kjhcw].mp4", "id" => "VER461Kjhcw", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/VER461Kjhcw", "playlist_index" => 6, "timestamp" => 1739810306, "title" => "17 February 2025", "upload_date" => "20250217"} 12:42:44.801 [debug] QUERY OK source="sources" db=0.2ms idle=791.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" IN (?)) [377] 12:42:44.802 [debug] QUERY OK source="sources" db=0.1ms idle=791.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" = ?) [377] 12:42:44.802 [debug] QUERY OK source="media_items" db=0.3ms idle=792.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-02-17 16:38:26Z], 377] 12:42:44.813 [debug] QUERY OK source="media_items" db=10.5ms idle=792.7ms INSERT INTO "media_items" AS m0 ("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) 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" ["17 February 2025", "5eeff65c-8d9e-48cd-a4bd-c5c93a05063b", 29, false, "VER461Kjhcw", "https://www.youtube.com/shorts/VER461Kjhcw", 6, "/downloads/shorts/Dana Cast/Dana Cast - 2025-02-17 - [VER461Kjhcw].mp4", false, false, true, 377, [], 98, ~U[2025-02-17 16:38:26Z], ~U[2026-04-15 12:42:44Z], ~U[2026-04-15 12:42:44Z], "", "17 February 2025", 29, false, "VER461Kjhcw", "https://www.youtube.com/shorts/VER461Kjhcw", "/downloads/shorts/Dana Cast/Dana Cast - 2025-02-17 - [VER461Kjhcw].mp4", true, 377, ~U[2025-02-17 16:38:26Z]] 12:42:44.814 [debug] QUERY OK source="sources" db=0.2ms idle=28.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" = ?) [377] 12:42:44.814 [debug] QUERY OK source="media_profiles" db=0.3ms idle=12.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 12:42:44.815 [debug] QUERY OK source="media_items" db=0.3ms idle=12.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4154706] 12:42:44.815 [debug] Current batch of media processed. Will check again in 1000ms 12:42:44.821 [debug] Current batch of media processed. Will check again in 1000ms 12:42:45.816 [debug] Current batch of media processed. Will check again in 1000ms 12:42:45.822 [debug] Current batch of media processed. Will check again in 1000ms 12:42:46.817 [debug] Current batch of media processed. Will check again in 1000ms 12:42:46.823 [debug] Current batch of media processed. Will check again in 1000ms 12:42:47.818 [debug] Current batch of media processed. Will check again in 1000ms 12:42:47.824 [debug] Current batch of media processed. Will check again in 1000ms 12:42:48.819 [debug] Current batch of media processed. Will check again in 1000ms 12:42:48.825 [debug] Current batch of media processed. Will check again in 1000ms 12:42:49.820 [debug] Current batch of media processed. Will check again in 1000ms 12:42:49.826 [debug] Current batch of media processed. Will check again in 1000ms 12:42:50.821 [debug] Current batch of media processed. Will check again in 1000ms 12:42:50.827 [debug] Current batch of media processed. Will check again in 1000ms 12:42:51.822 [debug] Current batch of media processed. Will check again in 1000ms 12:42:51.828 [debug] Current batch of media processed. Will check again in 1000ms 12:42:52.823 [debug] Current batch of media processed. Will check again in 1000ms 12:42:52.829 [debug] Current batch of media processed. Will check again in 1000ms 12:42:53.824 [debug] Current batch of media processed. Will check again in 1000ms 12:42:53.830 [debug] Current batch of media processed. Will check again in 1000ms 12:42:54.803 [info] {"args":{"id":432},"id":2191933,"meta":{},"system_time":1776256974803057838,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:42:54.803 [debug] QUERY OK source="sources" db=0.2ms idle=793.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" = ?) [432] 12:42:54.804 [debug] QUERY OK source="settings" db=0.2ms idle=793.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:42:54.804 [debug] QUERY OK source="media_profiles" db=0.2ms idle=793.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" = ?) [3] 12:42:54.804 [debug] QUERY OK source="settings" db=0.2ms idle=8.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:42:54.805 [debug] Fetching recent media IDs from YouTube API for playlist: UUjqNqKjLuFBCfjZ5WoI0_Kw 12:42:54.805 [debug] QUERY OK source="settings" db=0.1ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:42:54.805 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 12:42:54.825 [debug] Current batch of media processed. Will check again in 1000ms 12:42:54.831 [debug] Current batch of media processed. Will check again in 1000ms 12:42:55.826 [debug] Current batch of media processed. Will check again in 1000ms 12:42:55.832 [debug] Current batch of media processed. Will check again in 1000ms 12:42:55.993 [debug] QUERY OK source="media_items" db=1.0ms idle=1188.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [432, "BNcH5os2Azc", "yB1u7nWLyZM", "R9PH1e1T4bE", "mRIpLTPueWs", "eiVtQXCEJNI", "wVff1dLCB2o", "yKp5TotCvCM", "YzSEz5GqB9c", "FVkgWH0fdG4", "Vs9a6lqv2Mk", "m4NrFYSOXM8", "_91NR0tetqI", "y9T5O1B2Y8I", "a447IYbwNjk", "5fyJDR9E5dI", "tNLR5cr-GpM", "SRPizcmFrqI", "CRAuwECvcoE", "BWixeDYPutA", "kdoJee--cYo", "_L0JyHhOPa8", "cYOILGWiA90", "WSk4s-6dWho", "Fcocf1LGh8k", "ALSaV53wF_8", "8210atQw6mk", "xS335AwgMhE", "U7Ao_x_mZrc", "SHtY1j8nD80", "7DaGvK3ZlzM", "oC1KNxej1a0", "UcXUMjckYlI", "aRfBOREb9yk", "TDNwMa688us", "3vlPML1zG3E", "RkmKL4n9xLQ", "JdCOo0MBWM4", "zmj1XdI1edU", "rWxi69DrDWc", "eUftJ6-GB9E", "vbkMwqI6iKw", "qZRVpNRqIPo", "qzAOOwQboR4", "2acjUU6cQh4", "9accY9x0NmQ", "NDhBgmst590", "Uxi8ZvR6KjM", "QQ3kf587e-Y", "x5nb-k2uUzo", ...] 12:42:55.995 [debug] QUERY OK source="media_items" db=0.9ms idle=1190.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")))) [432] 12:42:55.997 [debug] QUERY OK source="tasks" db=0.3ms idle=198.9ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2191969, 432, ~U[2026-04-15 12:42:55Z], ~U[2026-04-15 12:42:55Z]] 12:42:55.997 [info] {"args":{"id":432},"id":2191933,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":1194256,"event":"job:stop","queue_time":224158,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:42:56.827 [debug] Current batch of media processed. Will check again in 1000ms 12:42:56.833 [debug] Current batch of media processed. Will check again in 1000ms 12:42:57.828 [debug] Current batch of media processed. Will check again in 1000ms 12:42:57.834 [debug] Current batch of media processed. Will check again in 1000ms 12:42:58.749 [info] GET /sources/432/media/4281656 12:42:58.750 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "4281656", "prevent_download" => "true", "source_id" => "432"} Pipelines: [:browser] 12:42:58.750 [debug] QUERY OK source="media_items" db=0.3ms idle=1740.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" = ?) [4281656] 12:42:58.751 [debug] QUERY OK source="sources" db=0.1ms idle=1740.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" = ?) [432] 12:42:58.751 [debug] QUERY OK source="tasks" db=0.2ms idle=1740.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" [4281656] 12:42:58.751 [debug] QUERY OK source="settings" db=0.2ms idle=1741.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:42:58.752 [debug] QUERY OK source="settings" db=0.2ms idle=952.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:42:58.752 [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 [] 12:42:58.753 [debug] QUERY OK source="media_profiles" db=0.2ms 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" = ?) [3] 12:42:58.780 [info] Sent 200 in 31ms 12:42:58.829 [debug] Current batch of media processed. Will check again in 1000ms 12:42:58.835 [debug] Current batch of media processed. Will check again in 1000ms 12:42:59.830 [debug] Current batch of media processed. Will check again in 1000ms 12:42:59.836 [debug] Current batch of media processed. Will check again in 1000ms 12:43:00.819 [info] {"source":"oban","duration":108,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:43:00.831 [debug] Current batch of media processed. Will check again in 1000ms 12:43:00.837 [debug] Current batch of media processed. Will check again in 1000ms 12:43:01.832 [debug] Current batch of media processed. Will check again in 1000ms 12:43:01.838 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "", "duration" => 43, "filename" => "/downloads/shorts/عكاس/عكاس - 2026-02-26 - [nSfMmSfv7RM].mp4", "id" => "nSfMmSfv7RM", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/nSfMmSfv7RM", "playlist_index" => 3, "timestamp" => 1772121580, "title" => "اول مرة تصير ان الامهات اصبحوا معلمات! | بودكاست دواير #بودكاست #التربية #اكسبلور", "upload_date" => "20260226"} 12:43:01.838 [debug] QUERY OK source="sources" db=0.2ms idle=1828.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" IN (?)) [380] 12:43:01.839 [debug] QUERY OK source="sources" db=0.2ms idle=1828.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" = ?) [380] 12:43:01.840 [debug] QUERY OK source="media_items" db=0.4ms idle=1036.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-26 15:59:40Z], 380] 12:43:01.841 [debug] QUERY OK source="media_items" db=0.7ms idle=1021.2ms INSERT INTO "media_items" AS m0 ("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) 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" ["اول مرة تصير ان الامهات اصبحوا معلمات! | بودكاست دواير #بودكاست #التربية #اكسبلور", "1811e5c3-66d3-44ff-acd2-a869460e0c77", 43, false, "nSfMmSfv7RM", "https://www.youtube.com/shorts/nSfMmSfv7RM", 3, "/downloads/shorts/عكاس/عكاس - 2026-02-26 - [nSfMmSfv7RM].mp4", false, false, true, 380, [], 98, ~U[2026-02-26 15:59:40Z], ~U[2026-04-15 12:43:01Z], ~U[2026-04-15 12:43:01Z], "", "اول مرة تصير ان الامهات اصبحوا معلمات! | بودكاست دواير #بودكاست #التربية #اكسبلور", 43, false, "nSfMmSfv7RM", "https://www.youtube.com/shorts/nSfMmSfv7RM", "/downloads/shorts/عكاس/عكاس - 2026-02-26 - [nSfMmSfv7RM].mp4", true, 380, ~U[2026-02-26 15:59:40Z]] 12:43:01.841 [debug] QUERY OK source="sources" db=0.3ms idle=37.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" = ?) [380] 12:43:01.842 [debug] QUERY OK source="media_profiles" db=0.3ms 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" = ?) [2] 12:43:01.843 [debug] QUERY OK source="media_items" db=0.4ms idle=3.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 [4630525] 12:43:01.843 [debug] Current batch of media processed. Will check again in 1000ms 12:43:02.833 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "", "duration" => 44, "filename" => "/downloads/shorts/Dana Cast/Dana Cast - 2025-02-10 - [_ObFcDx4rGo].mp4", "id" => "_ObFcDx4rGo", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/_ObFcDx4rGo", "playlist_index" => 7, "timestamp" => 1739200186, "title" => "اذا دانة سألتكم نفس السؤال، شنو بتكون اجابتكم ؟👀", "upload_date" => "20250210"} 12:43:02.833 [debug] QUERY OK source="sources" db=0.1ms idle=992.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" IN (?)) [377] 12:43:02.834 [debug] QUERY OK source="sources" db=0.1ms idle=991.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" = ?) [377] 12:43:02.834 [debug] QUERY OK source="media_items" db=0.4ms idle=991.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-02-10 15:09:46Z], 377] 12:43:02.835 [debug] QUERY OK source="media_items" db=0.6ms idle=991.7ms INSERT INTO "media_items" AS m0 ("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) 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" ["اذا دانة سألتكم نفس السؤال، شنو بتكون اجابتكم ؟👀", "e2dd5191-355b-463d-bec5-2778f5aadd96", 44, false, "_ObFcDx4rGo", "https://www.youtube.com/shorts/_ObFcDx4rGo", 7, "/downloads/shorts/Dana Cast/Dana Cast - 2025-02-10 - [_ObFcDx4rGo].mp4", false, false, true, 377, [], 98, ~U[2025-02-10 15:09:46Z], ~U[2026-04-15 12:43:02Z], ~U[2026-04-15 12:43:02Z], "", "اذا دانة سألتكم نفس السؤال، شنو بتكون اجابتكم ؟👀", 44, false, "_ObFcDx4rGo", "https://www.youtube.com/shorts/_ObFcDx4rGo", "/downloads/shorts/Dana Cast/Dana Cast - 2025-02-10 - [_ObFcDx4rGo].mp4", true, 377, ~U[2025-02-10 15:09:46Z]] 12:43:02.836 [debug] QUERY OK source="sources" db=0.3ms idle=31.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" = ?) [377] 12:43:02.836 [debug] QUERY OK source="media_profiles" db=0.4ms 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" = ?) [2] 12:43:02.837 [debug] QUERY OK source="media_items" db=0.5ms idle=3.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 [4112920] 12:43:02.837 [debug] Current batch of media processed. Will check again in 1000ms 12:43:02.844 [debug] Current batch of media processed. Will check again in 1000ms 12:43:03.838 [debug] Current batch of media processed. Will check again in 1000ms 12:43:03.845 [debug] Current batch of media processed. Will check again in 1000ms 12:43:04.839 [debug] Current batch of media processed. Will check again in 1000ms 12:43:04.846 [debug] Current batch of media processed. Will check again in 1000ms 12:43:05.816 [info] {"args":{"id":371},"id":2191935,"meta":{},"system_time":1776256985816156870,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:43:05.816 [debug] QUERY OK source="sources" db=0.2ms idle=1806.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" = ?) [371] 12:43:05.817 [debug] QUERY OK source="settings" db=0.2ms idle=1806.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:43:05.817 [debug] QUERY OK source="media_profiles" db=0.2ms idle=1009.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" = ?) [2] 12:43:05.818 [debug] QUERY OK source="settings" db=0.2ms idle=8.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:43:05.818 [debug] Fetching recent media IDs from YouTube API for playlist: UUPXKFARrr9KIazKFsIdZrbg 12:43:05.818 [debug] QUERY OK source="settings" db=0.1ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:43:05.818 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 12:43:05.840 [debug] Current batch of media processed. Will check again in 1000ms 12:43:05.847 [debug] Current batch of media processed. Will check again in 1000ms 12:43:06.373 [debug] QUERY OK source="media_items" db=1.2ms idle=555.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [371, "yoERyAZRcQw", "6jUjdCJenQs", "YpYESr2EwGs", "ouj3976UAV0", "LCEc0kTzWF8", "5ZGpRYl6ks8", "3gkOHFl5Ri4", "H255MFb1bs4", "95GWfCxldgI", "H1zRYcAm3Go", "7qp1GsOUzDQ", "JVjUwiWv3hs", "wgQQnINLVO0", "9JU10bS2zL0", "ZR7jEy3Vaso", "j5yCJlYe9eg", "iIY7sssVwrI", "a8lG2_2PvIY", "Pa4wns5otZs", "gr91GSu_Cro", "ajH6eOSCQz8", "v9om7xCpqr8", "KkpgKcSpZEQ", "zMVfXS39Q2U", "eOS-RREFSt8", "HPMKW_Riiy4", "NXLwiiz31bc", "bdTTpJLTrZ4", "dzbra-TCuUQ", "5SPKYzmAJ-Q", "Zsc3l7AVDfQ", "GjqzhuXGFAA", "NpWfLsVWwzI", "l96CSV_PcgQ", "-YGrEcjNLJ8", "JhPNMlhub4g", "5WtA5s9B3JA", "HbRInQ0QJ-8", "px1xWZRhIyA", "WK5LmlHayN0", "fcGFxqcjTyg", "vbMYWclnMJQ", "Wlmj1-25Jbw", "JWh5H2FFZ28", "siaOhImfbmc", "jO81Xp9TIIM", "kXpR9OxpnXw", "p_tveWViZTY", "9GBJPcAPYJM", ...] 12:43:06.384 [debug] QUERY OK source="media_items" db=9.9ms idle=557.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")))) [371] 12:43:06.386 [debug] QUERY OK source="tasks" db=0.3ms idle=567.7ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2191970, 371, ~U[2026-04-15 12:43:06Z], ~U[2026-04-15 12:43:06Z]] 12:43:06.387 [info] {"args":{"id":371},"id":2191935,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":570617,"event":"job:stop","queue_time":110767,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:43:06.841 [debug] Current batch of media processed. Will check again in 1000ms 12:43:06.848 [debug] Current batch of media processed. Will check again in 1000ms 12:43:07.842 [debug] Current batch of media processed. Will check again in 1000ms 12:43:07.849 [debug] Current batch of media processed. Will check again in 1000ms 12:43:08.843 [debug] Current batch of media processed. Will check again in 1000ms 12:43:08.850 [debug] Current batch of media processed. Will check again in 1000ms 12:43:09.844 [debug] Current batch of media processed. Will check again in 1000ms 12:43:09.851 [debug] Current batch of media processed. Will check again in 1000ms 12:43:10.845 [debug] Current batch of media processed. Will check again in 1000ms 12:43:10.852 [debug] Current batch of media processed. Will check again in 1000ms 12:43:11.658 [info] {"source":"oban","duration":14350,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:43:11.846 [debug] Current batch of media processed. Will check again in 1000ms 12:43:11.853 [debug] Current batch of media processed. Will check again in 1000ms 12:43:12.847 [debug] Current batch of media processed. Will check again in 1000ms 12:43:12.854 [debug] Current batch of media processed. Will check again in 1000ms 12:43:13.848 [debug] Current batch of media processed. Will check again in 1000ms 12:43:13.855 [debug] Current batch of media processed. Will check again in 1000ms 12:43:14.849 [debug] Current batch of media processed. Will check again in 1000ms 12:43:14.856 [debug] Current batch of media processed. Will check again in 1000ms 12:43:15.850 [debug] Current batch of media processed. Will check again in 1000ms 12:43:15.857 [debug] Current batch of media processed. Will check again in 1000ms 12:43:16.851 [debug] Current batch of media processed. Will check again in 1000ms 12:43:16.858 [debug] Current batch of media processed. Will check again in 1000ms 12:43:17.852 [debug] Current batch of media processed. Will check again in 1000ms 12:43:17.859 [debug] Current batch of media processed. Will check again in 1000ms 12:43:18.853 [debug] Current batch of media processed. Will check again in 1000ms 12:43:18.860 [debug] Current batch of media processed. Will check again in 1000ms 12:43:19.854 [debug] Current batch of media processed. Will check again in 1000ms 12:43:19.861 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "", "duration" => 43, "filename" => "/downloads/shorts/عكاس/عكاس - 2026-02-24 - [wI4L3G5V6Bk].mp4", "id" => "wI4L3G5V6Bk", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/wI4L3G5V6Bk", "playlist_index" => 4, "timestamp" => 1771958527, "title" => "الامهات اصبحوا معلمات! | بودكاست دواير #بودكاست #اكسبلور", "upload_date" => "20260224"} 12:43:19.861 [debug] QUERY OK source="sources" db=0.2ms idle=1851.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" IN (?)) [380] 12:43:19.862 [debug] QUERY OK source="sources" db=0.2ms idle=1851.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" = ?) [380] 12:43:19.862 [debug] QUERY OK source="media_items" db=0.4ms idle=1039.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-24 18:42:07Z], 380] 12:43:19.864 [debug] QUERY OK source="media_items" db=0.7ms idle=853.0ms INSERT INTO "media_items" AS m0 ("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) 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" ["الامهات اصبحوا معلمات! | بودكاست دواير #بودكاست #اكسبلور", "2db0cbc2-8d3f-488d-8d4c-eb18e0f34209", 43, false, "wI4L3G5V6Bk", "https://www.youtube.com/shorts/wI4L3G5V6Bk", 4, "/downloads/shorts/عكاس/عكاس - 2026-02-24 - [wI4L3G5V6Bk].mp4", false, false, true, 380, [], 97, ~U[2026-02-24 18:42:07Z], ~U[2026-04-15 12:43:19Z], ~U[2026-04-15 12:43:19Z], "", "الامهات اصبحوا معلمات! | بودكاست دواير #بودكاست #اكسبلور", 43, false, "wI4L3G5V6Bk", "https://www.youtube.com/shorts/wI4L3G5V6Bk", "/downloads/shorts/عكاس/عكاس - 2026-02-24 - [wI4L3G5V6Bk].mp4", true, 380, ~U[2026-02-24 18:42:07Z]] 12:43:19.865 [debug] QUERY OK source="sources" db=0.8ms idle=39.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" = ?) [380] 12:43:19.865 [debug] QUERY OK source="media_profiles" db=0.4ms 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" = ?) [2] 12:43:19.866 [debug] QUERY OK source="media_items" db=0.3ms idle=3.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 [4630527] 12:43:19.866 [debug] Current batch of media processed. Will check again in 1000ms 12:43:20.855 [debug] Current batch of media processed. Will check again in 1000ms 12:43:20.867 [debug] Current batch of media processed. Will check again in 1000ms 12:43:21.856 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "", "duration" => 56, "filename" => "/downloads/shorts/Dana Cast/Dana Cast - 2025-02-05 - [ae06G1N8Bek].mp4", "id" => "ae06G1N8Bek", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/ae06G1N8Bek", "playlist_index" => 8, "timestamp" => 1738768808, "title" => "رندا حجاج | 5/02/2025 | الساعة ٨ م بتوقيت الكويت الموسم الثاني الحلقة 9", "upload_date" => "20250205"} 12:43:21.856 [debug] QUERY OK source="sources" db=0.1ms idle=846.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" IN (?)) [377] 12:43:21.857 [debug] QUERY OK source="sources" db=0.2ms idle=846.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" = ?) [377] 12:43:21.857 [debug] QUERY OK source="media_items" db=0.3ms idle=847.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-02-05 15:20:08Z], 377] 12:43:21.859 [debug] QUERY OK source="media_items" db=0.7ms idle=847.9ms INSERT INTO "media_items" AS m0 ("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) 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" ["رندا حجاج | 5/02/2025 | الساعة ٨ م بتوقيت الكويت الموسم الثاني الحلقة 9", "d064e172-d6ae-4f80-b927-6f6ea75cbc57", 56, false, "ae06G1N8Bek", "https://www.youtube.com/shorts/ae06G1N8Bek", 8, "/downloads/shorts/Dana Cast/Dana Cast - 2025-02-05 - [ae06G1N8Bek].mp4", false, false, true, 377, [], 98, ~U[2025-02-05 15:20:08Z], ~U[2026-04-15 12:43:21Z], ~U[2026-04-15 12:43:21Z], "", "رندا حجاج | 5/02/2025 | الساعة ٨ م بتوقيت الكويت الموسم الثاني الحلقة 9", 56, false, "ae06G1N8Bek", "https://www.youtube.com/shorts/ae06G1N8Bek", "/downloads/shorts/Dana Cast/Dana Cast - 2025-02-05 - [ae06G1N8Bek].mp4", true, 377, ~U[2025-02-05 15:20:08Z]] 12:43:21.859 [debug] QUERY OK source="sources" db=0.3ms idle=32.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" = ?) [377] 12:43:21.860 [debug] QUERY OK source="media_profiles" db=0.2ms idle=3.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 12:43:21.860 [debug] QUERY OK source="media_items" db=0.3ms idle=3.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4078815] 12:43:21.860 [debug] Current batch of media processed. Will check again in 1000ms 12:43:21.868 [debug] Current batch of media processed. Will check again in 1000ms 12:43:22.861 [debug] Current batch of media processed. Will check again in 1000ms 12:43:22.869 [debug] Current batch of media processed. Will check again in 1000ms 12:43:23.862 [debug] Current batch of media processed. Will check again in 1000ms 12:43:23.870 [debug] Current batch of media processed. Will check again in 1000ms 12:43:24.863 [debug] Current batch of media processed. Will check again in 1000ms 12:43:24.871 [debug] Current batch of media processed. Will check again in 1000ms 12:43:25.864 [debug] Current batch of media processed. Will check again in 1000ms 12:43:25.872 [debug] Current batch of media processed. Will check again in 1000ms 12:43:26.865 [debug] Current batch of media processed. Will check again in 1000ms 12:43:26.873 [debug] Current batch of media processed. Will check again in 1000ms 12:43:27.866 [debug] Current batch of media processed. Will check again in 1000ms 12:43:27.874 [debug] Current batch of media processed. Will check again in 1000ms 12:43:28.867 [debug] Current batch of media processed. Will check again in 1000ms 12:43:28.875 [debug] Current batch of media processed. Will check again in 1000ms 12:43:29.868 [debug] Current batch of media processed. Will check again in 1000ms 12:43:29.876 [debug] Current batch of media processed. Will check again in 1000ms 12:43:30.869 [debug] Current batch of media processed. Will check again in 1000ms 12:43:30.877 [debug] Current batch of media processed. Will check again in 1000ms 12:43:31.870 [debug] Current batch of media processed. Will check again in 1000ms 12:43:31.878 [debug] Current batch of media processed. Will check again in 1000ms 12:43:32.871 [debug] Current batch of media processed. Will check again in 1000ms 12:43:32.879 [debug] Current batch of media processed. Will check again in 1000ms 12:43:33.872 [debug] Current batch of media processed. Will check again in 1000ms 12:43:33.880 [debug] Current batch of media processed. Will check again in 1000ms 12:43:34.873 [debug] Current batch of media processed. Will check again in 1000ms 12:43:34.881 [debug] Current batch of media processed. Will check again in 1000ms 12:43:35.874 [debug] Current batch of media processed. Will check again in 1000ms 12:43:35.882 [debug] Current batch of media processed. Will check again in 1000ms 12:43:36.875 [debug] Current batch of media processed. Will check again in 1000ms 12:43:36.883 [debug] Current batch of media processed. Will check again in 1000ms 12:43:37.876 [debug] Current batch of media processed. Will check again in 1000ms 12:43:37.884 [debug] Current batch of media processed. Will check again in 1000ms 12:43:38.877 [debug] Current batch of media processed. Will check again in 1000ms 12:43:38.885 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "", "duration" => 40, "filename" => "/downloads/shorts/عكاس/عكاس - 2026-02-24 - [NlYOLdb0hVk].mp4", "id" => "NlYOLdb0hVk", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/NlYOLdb0hVk", "playlist_index" => 5, "timestamp" => 1771893194, "title" => "خطورة مشاهدة الطفل للوالدين في الخلوة الشرعية❌ | بودكاست دواير #بودكاست #اكسبلور", "upload_date" => "20260224"} 12:43:38.886 [debug] QUERY OK source="sources" db=0.3ms idle=1875.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" IN (?)) [380] 12:43:38.886 [debug] QUERY OK source="sources" db=0.3ms idle=1876.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" = ?) [380] 12:43:38.887 [debug] QUERY OK source="media_items" db=0.4ms queue=0.1ms idle=1876.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-24 00:33:14Z], 380] 12:43:38.888 [debug] QUERY OK source="media_items" db=0.8ms idle=1044.9ms INSERT INTO "media_items" AS m0 ("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) 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" ["خطورة مشاهدة الطفل للوالدين في الخلوة الشرعية❌ | بودكاست دواير #بودكاست #اكسبلور", "70432d62-4d1a-4c36-ac45-02aed012fb0b", 40, false, "NlYOLdb0hVk", "https://www.youtube.com/shorts/NlYOLdb0hVk", 5, "/downloads/shorts/عكاس/عكاس - 2026-02-24 - [NlYOLdb0hVk].mp4", false, false, true, 380, [], 97, ~U[2026-02-24 00:33:14Z], ~U[2026-04-15 12:43:38Z], ~U[2026-04-15 12:43:38Z], "", "خطورة مشاهدة الطفل للوالدين في الخلوة الشرعية❌ | بودكاست دواير #بودكاست #اكسبلور", 40, false, "NlYOLdb0hVk", "https://www.youtube.com/shorts/NlYOLdb0hVk", "/downloads/shorts/عكاس/عكاس - 2026-02-24 - [NlYOLdb0hVk].mp4", true, 380, ~U[2026-02-24 00:33:14Z]] 12:43:38.889 [debug] QUERY OK source="sources" db=0.3ms idle=45.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" = ?) [380] 12:43:38.890 [debug] QUERY OK source="media_profiles" db=0.3ms 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" = ?) [2] 12:43:38.890 [debug] QUERY OK source="media_items" db=0.3ms 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 [4630529] 12:43:38.890 [debug] Current batch of media processed. Will check again in 1000ms 12:43:39.878 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "", "duration" => 31, "filename" => "/downloads/shorts/Dana Cast/Dana Cast - 2025-02-03 - [nkjQBh2O_Mw].mp4", "id" => "nkjQBh2O_Mw", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/nkjQBh2O_Mw", "playlist_index" => 9, "timestamp" => 1738591800, "title" => "3 February 2025", "upload_date" => "20250203"} 12:43:39.878 [debug] QUERY OK source="sources" db=0.1ms idle=989.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" IN (?)) [377] 12:43:39.879 [debug] QUERY OK source="sources" db=0.1ms idle=989.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" = ?) [377] 12:43:39.879 [debug] QUERY OK source="media_items" db=0.3ms idle=989.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-02-03 14:10:00Z], 377] 12:43:39.880 [debug] QUERY OK source="media_items" db=0.6ms idle=989.5ms INSERT INTO "media_items" AS m0 ("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) 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" ["3 February 2025", "b7d8fe3c-939f-4a6d-855b-4affd7d76730", 31, false, "nkjQBh2O_Mw", "https://www.youtube.com/shorts/nkjQBh2O_Mw", 9, "/downloads/shorts/Dana Cast/Dana Cast - 2025-02-03 - [nkjQBh2O_Mw].mp4", false, false, true, 377, [], 98, ~U[2025-02-03 14:10:00Z], ~U[2026-04-15 12:43:39Z], ~U[2026-04-15 12:43:39Z], "", "3 February 2025", 31, false, "nkjQBh2O_Mw", "https://www.youtube.com/shorts/nkjQBh2O_Mw", "/downloads/shorts/Dana Cast/Dana Cast - 2025-02-03 - [nkjQBh2O_Mw].mp4", true, 377, ~U[2025-02-03 14:10:00Z]] 12:43:39.881 [debug] QUERY OK source="sources" db=0.2ms idle=35.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" = ?) [377] 12:43:39.881 [debug] QUERY OK source="media_profiles" db=0.3ms 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" = ?) [2] 12:43:39.882 [debug] QUERY OK source="media_items" db=0.3ms idle=2.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4073272] 12:43:39.882 [debug] Current batch of media processed. Will check again in 1000ms 12:43:39.891 [debug] Current batch of media processed. Will check again in 1000ms 12:43:40.883 [debug] Current batch of media processed. Will check again in 1000ms 12:43:40.892 [debug] Current batch of media processed. Will check again in 1000ms 12:43:41.677 [info] {"source":"oban","duration":17904,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:43:41.884 [debug] Current batch of media processed. Will check again in 1000ms 12:43:41.893 [debug] Current batch of media processed. Will check again in 1000ms 12:43:42.885 [debug] Current batch of media processed. Will check again in 1000ms 12:43:42.894 [debug] Current batch of media processed. Will check again in 1000ms 12:43:43.886 [debug] Current batch of media processed. Will check again in 1000ms 12:43:43.895 [debug] Current batch of media processed. Will check again in 1000ms 12:43:44.887 [debug] Current batch of media processed. Will check again in 1000ms 12:43:44.896 [debug] Current batch of media processed. Will check again in 1000ms 12:43:45.888 [debug] Current batch of media processed. Will check again in 1000ms 12:43:45.897 [debug] Current batch of media processed. Will check again in 1000ms 12:43:46.889 [debug] Current batch of media processed. Will check again in 1000ms 12:43:46.898 [debug] Current batch of media processed. Will check again in 1000ms 12:43:47.890 [debug] Current batch of media processed. Will check again in 1000ms 12:43:47.899 [debug] Current batch of media processed. Will check again in 1000ms 12:43:48.891 [debug] Current batch of media processed. Will check again in 1000ms 12:43:48.900 [debug] Current batch of media processed. Will check again in 1000ms 12:43:49.892 [debug] Current batch of media processed. Will check again in 1000ms 12:43:49.901 [debug] Current batch of media processed. Will check again in 1000ms 12:43:50.893 [debug] Current batch of media processed. Will check again in 1000ms 12:43:50.902 [debug] Current batch of media processed. Will check again in 1000ms 12:43:51.894 [debug] Current batch of media processed. Will check again in 1000ms 12:43:51.903 [debug] Current batch of media processed. Will check again in 1000ms 12:43:52.895 [debug] Current batch of media processed. Will check again in 1000ms 12:43:52.904 [debug] Current batch of media processed. Will check again in 1000ms 12:43:53.896 [debug] Current batch of media processed. Will check again in 1000ms 12:43:53.905 [debug] Current batch of media processed. Will check again in 1000ms 12:43:54.565 [info] GET /sources/416/media/3977140 12:43:54.566 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "3977140", "prevent_download" => "true", "source_id" => "416"} Pipelines: [:browser] 12:43:54.566 [debug] QUERY OK source="media_items" db=0.2ms idle=1556.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" = ?) [3977140] 12:43:54.567 [debug] QUERY OK source="tasks" db=0.1ms idle=1556.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" [3977140] 12:43:54.567 [debug] QUERY OK source="sources" db=0.3ms idle=1556.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" = ?) [416] 12:43:54.567 [debug] QUERY OK source="settings" db=0.1ms idle=1557.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:43:54.568 [debug] QUERY OK source="settings" db=0.1ms idle=706.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:43:54.568 [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 [] 12:43:54.569 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 12:43:54.571 [info] Sent 200 in 5ms 12:43:54.897 [debug] Current batch of media processed. Will check again in 1000ms 12:43:54.906 [debug] Current batch of media processed. Will check again in 1000ms 12:43:55.898 [debug] Current batch of media processed. Will check again in 1000ms 12:43:55.907 [debug] Current batch of media processed. Will check again in 1000ms 12:43:56.899 [debug] Current batch of media processed. Will check again in 1000ms 12:43:56.908 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "", "duration" => 140, "filename" => "/downloads/shorts/عكاس/عكاس - 2026-02-18 - [2IFYnzUZVp4].mp4", "id" => "2IFYnzUZVp4", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/2IFYnzUZVp4", "playlist_index" => 6, "timestamp" => 1771456819, "title" => "الخلاف مع قناة بداية | بودكاست دواير #اكسبلور", "upload_date" => "20260218"} 12:43:56.908 [debug] QUERY OK source="sources" db=0.1ms idle=898.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" IN (?)) [380] 12:43:56.909 [debug] QUERY OK source="sources" db=0.2ms idle=898.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" = ?) [380] 12:43:56.909 [debug] QUERY OK source="media_items" db=0.3ms idle=899.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-18 23:20:19Z], 380] 12:43:56.910 [debug] QUERY OK source="media_items" db=0.6ms idle=899.9ms INSERT INTO "media_items" AS m0 ("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) 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" ["الخلاف مع قناة بداية | بودكاست دواير #اكسبلور", "c33e9ce5-4eac-4117-950a-12eda68bc6f7", 140, false, "2IFYnzUZVp4", "https://www.youtube.com/shorts/2IFYnzUZVp4", 6, "/downloads/shorts/عكاس/عكاس - 2026-02-18 - [2IFYnzUZVp4].mp4", false, false, true, 380, [], 98, ~U[2026-02-18 23:20:19Z], ~U[2026-04-15 12:43:56Z], ~U[2026-04-15 12:43:56Z], "", "الخلاف مع قناة بداية | بودكاست دواير #اكسبلور", 140, false, "2IFYnzUZVp4", "https://www.youtube.com/shorts/2IFYnzUZVp4", "/downloads/shorts/عكاس/عكاس - 2026-02-18 - [2IFYnzUZVp4].mp4", true, 380, ~U[2026-02-18 23:20:19Z]] 12:43:56.911 [debug] QUERY OK source="sources" db=0.4ms idle=46.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [380] 12:43:56.912 [debug] QUERY OK source="media_profiles" db=0.2ms idle=3.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 12:43:56.912 [debug] QUERY OK source="media_items" db=0.4ms idle=3.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4630531] 12:43:56.913 [debug] Current batch of media processed. Will check again in 1000ms 12:43:57.900 [debug] Current batch of media processed. Will check again in 1000ms 12:43:57.914 [debug] Current batch of media processed. Will check again in 1000ms 12:43:58.901 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "", "duration" => 41, "filename" => "/downloads/shorts/Dana Cast/Dana Cast - 2025-01-29 - [hrg2bQwgNnA].mp4", "id" => "hrg2bQwgNnA", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/hrg2bQwgNnA", "playlist_index" => 10, "timestamp" => 1738164365, "title" => "هالفيديو دليل حق كل المتزوجين 👀💍", "upload_date" => "20250129"} 12:43:58.901 [debug] QUERY OK source="sources" db=0.1ms idle=891.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" IN (?)) [377] 12:43:58.902 [debug] QUERY OK source="sources" db=0.1ms idle=891.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" = ?) [377] 12:43:58.902 [debug] QUERY OK source="media_items" db=0.3ms idle=892.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-01-29 15:26:05Z], 377] 12:43:58.904 [debug] QUERY OK source="media_items" db=0.6ms idle=892.9ms INSERT INTO "media_items" AS m0 ("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) 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" ["هالفيديو دليل حق كل المتزوجين 👀💍", "b4e6658f-ca43-44ad-82ba-1484af72a2ca", 41, false, "hrg2bQwgNnA", "https://www.youtube.com/shorts/hrg2bQwgNnA", 10, "/downloads/shorts/Dana Cast/Dana Cast - 2025-01-29 - [hrg2bQwgNnA].mp4", false, false, true, 377, [], 98, ~U[2025-01-29 15:26:05Z], ~U[2026-04-15 12:43:58Z], ~U[2026-04-15 12:43:58Z], "", "هالفيديو دليل حق كل المتزوجين 👀💍", 41, false, "hrg2bQwgNnA", "https://www.youtube.com/shorts/hrg2bQwgNnA", "/downloads/shorts/Dana Cast/Dana Cast - 2025-01-29 - [hrg2bQwgNnA].mp4", true, 377, ~U[2025-01-29 15:26:05Z]] 12:43:58.904 [debug] QUERY OK source="sources" db=0.3ms idle=37.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" = ?) [377] 12:43:58.905 [debug] QUERY OK source="media_profiles" db=0.8ms 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" = ?) [2] 12:43:58.906 [debug] QUERY OK source="media_items" db=0.3ms idle=3.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4036229] 12:43:58.906 [debug] Current batch of media processed. Will check again in 1000ms 12:43:58.915 [debug] Current batch of media processed. Will check again in 1000ms 12:43:59.907 [debug] Current batch of media processed. Will check again in 1000ms 12:43:59.916 [debug] Current batch of media processed. Will check again in 1000ms 12:44:00.820 [info] {"source":"oban","duration":172,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:44:00.908 [debug] Current batch of media processed. Will check again in 1000ms 12:44:00.917 [debug] Current batch of media processed. Will check again in 1000ms 12:44:01.909 [debug] Current batch of media processed. Will check again in 1000ms 12:44:01.918 [debug] Current batch of media processed. Will check again in 1000ms 12:44:02.910 [debug] Current batch of media processed. Will check again in 1000ms 12:44:02.919 [debug] Current batch of media processed. Will check again in 1000ms 12:44:03.911 [debug] Current batch of media processed. Will check again in 1000ms 12:44:03.920 [debug] Current batch of media processed. Will check again in 1000ms 12:44:04.912 [debug] Current batch of media processed. Will check again in 1000ms 12:44:04.921 [debug] Current batch of media processed. Will check again in 1000ms 12:44:05.913 [debug] Current batch of media processed. Will check again in 1000ms 12:44:05.922 [debug] Current batch of media processed. Will check again in 1000ms 12:44:06.914 [debug] Current batch of media processed. Will check again in 1000ms 12:44:06.923 [debug] Current batch of media processed. Will check again in 1000ms 12:44:07.915 [debug] Current batch of media processed. Will check again in 1000ms 12:44:07.924 [debug] Current batch of media processed. Will check again in 1000ms 12:44:08.916 [debug] Current batch of media processed. Will check again in 1000ms 12:44:08.925 [debug] Current batch of media processed. Will check again in 1000ms 12:44:09.917 [debug] Current batch of media processed. Will check again in 1000ms 12:44:09.926 [debug] Current batch of media processed. Will check again in 1000ms 12:44:10.918 [debug] Current batch of media processed. Will check again in 1000ms 12:44:10.927 [debug] Current batch of media processed. Will check again in 1000ms 12:44:11.695 [info] {"source":"oban","duration":17493,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:44:11.919 [debug] Current batch of media processed. Will check again in 1000ms 12:44:11.928 [debug] Current batch of media processed. Will check again in 1000ms 12:44:12.920 [debug] Current batch of media processed. Will check again in 1000ms 12:44:12.929 [debug] Current batch of media processed. Will check again in 1000ms 12:44:13.921 [debug] Current batch of media processed. Will check again in 1000ms 12:44:13.930 [debug] Current batch of media processed. Will check again in 1000ms 12:44:14.922 [debug] Current batch of media processed. Will check again in 1000ms 12:44:14.931 [debug] Current batch of media processed. Will check again in 1000ms 12:44:15.923 [debug] Current batch of media processed. Will check again in 1000ms 12:44:15.932 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "", "duration" => 82, "filename" => "/downloads/shorts/عكاس/عكاس - 2026-02-15 - [4-TCXXKoj-U].mp4", "id" => "4-TCXXKoj-U", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/4-TCXXKoj-U", "playlist_index" => 7, "timestamp" => 1771169753, "title" => "الموسيقى حلال بشروط! | بودكاست دواير #الواقع", "upload_date" => "20260215"} 12:44:15.932 [debug] QUERY OK source="sources" db=0.2ms idle=1922.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" IN (?)) [380] 12:44:15.933 [debug] QUERY OK source="sources" db=0.1ms idle=1922.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" = ?) [380] 12:44:15.933 [debug] QUERY OK source="media_items" db=0.4ms idle=1048.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-15 15:35:53Z], 380] 12:44:15.935 [debug] QUERY OK source="media_items" db=0.7ms idle=924.0ms INSERT INTO "media_items" AS m0 ("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) 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" ["الموسيقى حلال بشروط! | بودكاست دواير #الواقع", "cbda029d-ea1f-4e75-a603-0bb9eacc51da", 82, false, "4-TCXXKoj-U", "https://www.youtube.com/shorts/4-TCXXKoj-U", 7, "/downloads/shorts/عكاس/عكاس - 2026-02-15 - [4-TCXXKoj-U].mp4", false, false, true, 380, [], 98, ~U[2026-02-15 15:35:53Z], ~U[2026-04-15 12:44:15Z], ~U[2026-04-15 12:44:15Z], "", "الموسيقى حلال بشروط! | بودكاست دواير #الواقع", 82, false, "4-TCXXKoj-U", "https://www.youtube.com/shorts/4-TCXXKoj-U", "/downloads/shorts/عكاس/عكاس - 2026-02-15 - [4-TCXXKoj-U].mp4", true, 380, ~U[2026-02-15 15:35:53Z]] 12:44:15.935 [debug] QUERY OK source="sources" db=0.3ms idle=49.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" = ?) [380] 12:44:15.936 [debug] QUERY OK source="media_profiles" db=0.3ms 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" = ?) [2] 12:44:15.937 [debug] QUERY OK source="media_items" db=0.9ms idle=3.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 [4630533] 12:44:15.937 [debug] Current batch of media processed. Will check again in 1000ms 12:44:16.924 [debug] Current batch of media processed. Will check again in 1000ms 12:44:16.938 [debug] Current batch of media processed. Will check again in 1000ms 12:44:17.925 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "", "duration" => 28, "filename" => "/downloads/shorts/Dana Cast/Dana Cast - 2025-01-13 - [IL-qwjub0uM].mp4", "id" => "IL-qwjub0uM", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/IL-qwjub0uM", "playlist_index" => 11, "timestamp" => 1736786321, "title" => "13 January 2025", "upload_date" => "20250113"} 12:44:17.925 [debug] QUERY OK source="sources" db=0.2ms idle=915.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" IN (?)) [377] 12:44:17.926 [debug] QUERY OK source="sources" db=0.2ms idle=915.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" = ?) [377] 12:44:17.926 [debug] QUERY OK source="media_items" db=0.4ms idle=916.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-01-13 16:38:41Z], 377] 12:44:17.928 [debug] QUERY OK source="media_items" db=0.7ms idle=917.0ms INSERT INTO "media_items" AS m0 ("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) 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" ["13 January 2025", "91c65774-91ab-45f4-93e7-aa08a40356b5", 28, false, "IL-qwjub0uM", "https://www.youtube.com/shorts/IL-qwjub0uM", 11, "/downloads/shorts/Dana Cast/Dana Cast - 2025-01-13 - [IL-qwjub0uM].mp4", false, false, true, 377, [], 98, ~U[2025-01-13 16:38:41Z], ~U[2026-04-15 12:44:17Z], ~U[2026-04-15 12:44:17Z], "", "13 January 2025", 28, false, "IL-qwjub0uM", "https://www.youtube.com/shorts/IL-qwjub0uM", "/downloads/shorts/Dana Cast/Dana Cast - 2025-01-13 - [IL-qwjub0uM].mp4", true, 377, ~U[2025-01-13 16:38:41Z]] 12:44:17.928 [debug] QUERY OK source="sources" db=0.4ms idle=40.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" = ?) [377] 12:44:17.929 [debug] QUERY OK source="media_profiles" db=0.3ms idle=3.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 12:44:17.930 [debug] QUERY OK source="media_items" db=0.3ms idle=3.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [3931332] 12:44:17.930 [debug] Current batch of media processed. Will check again in 1000ms 12:44:17.939 [debug] Current batch of media processed. Will check again in 1000ms 12:44:18.897 [info] {"args":{"id":407},"id":2191937,"meta":{},"system_time":1776257058897133086,"max_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:44:18.897 [debug] QUERY OK source="sources" db=0.3ms idle=968.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" = ?) [407] 12:44:18.898 [debug] QUERY OK source="settings" db=0.1ms idle=968.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:18.898 [debug] QUERY OK source="media_profiles" db=0.3ms idle=968.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" = ?) [2] 12:44:18.899 [debug] QUERY OK source="settings" db=0.2ms idle=8.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:44:18.899 [debug] Fetching recent media IDs from YouTube API for playlist: UUga4N76Fl4sgcn30iwBs7aQ 12:44:18.899 [debug] QUERY OK source="settings" db=0.1ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:44:18.899 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 12:44:18.931 [debug] Current batch of media processed. Will check again in 1000ms 12:44:18.940 [debug] Current batch of media processed. Will check again in 1000ms 12:44:19.276 [debug] QUERY OK source="media_items" db=1.5ms idle=376.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [407, "-W6KEugYxBQ", "zQxXycM3IvM", "BrCSskrHOBU", "gMn1XXQ6Xus", "YwcknlhzUEU", "tinS3wZQZu0", "HWH4PB4RVpo", "aDHfYXROc5A", "qzm_Dy_rilA", "MHICU_ehVZk", "I0ZNxiVwykM", "-OsGSH3KGbA", "N00x4OkBGu8", "zqAinHuD6Yo", "cv4FVPWWF8I", "2DysQO78Y3k", "byYpxLw97ic", "8KsVvEyjEpg", "QZIJ2atHpFo", "IH0DS0Hqi1I", "6RbFcKVIMTo", "8DI46MmEzts", "JCyRL-BCGrY", "CKGoJAuUbRw", "zB12EMayFig", "jbcagG6xgqg", "VGjk8hhgRYs", "zqhKlBQ9xWI", "1SKsmmYdYng", "6lt75J3-9lY", "4-f2sw7IWPw", "WMLsLgiPFks", "TOO3B46BiGc", "5oCRsyA3ZLQ", "BWLb5EI620w", "Av1kcYca1yI", "o4yxwefSKrg", "v4aMSQBA6GY", "1v1uQJfn7mU", "wzd5JlenK7U", "lqg9v9c50PQ", "bfsLRqnZBMI", "-L8pp9DEvrs", "48tZLvPwq1A", "HMzzHdRb5bI", "VhPje4BiC6o", "vJfLhWzehCU", "GenA6mFVXtQ", "49YQZrruUlY", ...] 12:44:19.281 [debug] QUERY OK source="media_items" db=3.9ms idle=379.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")))) [407] 12:44:19.283 [debug] QUERY OK source="tasks" db=0.2ms idle=383.5ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2191971, 407, ~U[2026-04-15 12:44:19Z], ~U[2026-04-15 12:44:19Z]] 12:44:19.284 [info] {"args":{"id":407},"id":2191937,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":386390,"event":"job:stop","queue_time":271317,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:44:19.932 [debug] Current batch of media processed. Will check again in 1000ms 12:44:19.941 [debug] Current batch of media processed. Will check again in 1000ms 12:44:20.933 [debug] Current batch of media processed. Will check again in 1000ms 12:44:20.942 [debug] Current batch of media processed. Will check again in 1000ms 12:44:21.903 [info] {"args":{"id":137},"id":2191938,"meta":{},"system_time":1776257061903031068,"max_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:44:21.903 [debug] QUERY OK source="sources" db=0.3ms idle=893.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" = ?) [137] 12:44:21.904 [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 [] 12:44:21.904 [debug] QUERY OK source="media_profiles" db=0.3ms idle=894.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" = ?) [2] 12:44:21.905 [debug] QUERY OK source="settings" db=0.2ms idle=8.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:44:21.905 [debug] Fetching recent media IDs from YouTube API for playlist: UU6VEazPLsTwCHAq2XU0tRyA 12:44:21.905 [debug] QUERY OK source="settings" db=0.1ms idle=2.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:44:21.905 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 12:44:21.934 [debug] Current batch of media processed. Will check again in 1000ms 12:44:21.943 [debug] Current batch of media processed. Will check again in 1000ms 12:44:22.244 [debug] QUERY OK source="media_items" db=1.2ms idle=338.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [137, "TYzW2hwb2eU", "Y0HbsrMblSY", "Ko2rEMjJDqc", "kGP1iyJ5JVk", "8X2Gp4JrjCc", "MEYfauKFQKM", "CCJCd8F_diQ", "jsWkXl3y2V8", "eKrqp-HV73w", "gXDgE1r0fmE", "xP_EQzF8VcA", "RfZpJRL7qPA", "UtFN8sG2dac", "f__SSRXQW_0", "APPiN4Oef3o", "q5MQnKjA87M", "zwkJ95N9B1M", "9l8J-8mZZwk", "F-TBX4m7Omw", "KKl0A-Y7xIU", "Psenv5CPh7w", "MP8WxJWv0VI", "Un04g6T0MBk", "e1dWuglj0wA", "ZnuWLqLfnYQ", "oUu62USr24A", "cRx1_mB9LxE", "PLAlGw5A21E", "hcpVRhBex9U", "LK2LTfPM2Qs", "Z5F2z1XcOSw", "CVaq9bG_tBY", "X-a2XbVX3-c", "apkWIdRFzpQ", "PANiqRRIbqw", "kiTdyj1OowM", "6dQkyg0e1c8", "Cf5yNSD5HGE", "_y3X1HIUBX4", "G-e7QMglAhc", "avXMv4RrRXI", "jC3yDlwTK2A", "myA5gcE-5KE", "bcJnqkTlunE", "nNArfQK259k", "ZG7Bikz9grA", "vo7HA72gZNQ", "TNz5GHFNBj0", "14XtzGLWUtw", ...] 12:44:22.247 [debug] QUERY OK source="media_items" db=2.1ms idle=340.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")))) [137] 12:44:22.249 [debug] QUERY OK source="tasks" db=0.3ms idle=343.3ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2191972, 137, ~U[2026-04-15 12:44:22Z], ~U[2026-04-15 12:44:22Z]] 12:44:22.250 [info] {"args":{"id":137},"id":2191938,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":346515,"event":"job:stop","queue_time":368546,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:44:22.935 [debug] Current batch of media processed. Will check again in 1000ms 12:44:22.944 [debug] Current batch of media processed. Will check again in 1000ms 12:44:23.936 [debug] Current batch of media processed. Will check again in 1000ms 12:44:23.945 [debug] Current batch of media processed. Will check again in 1000ms 12:44:24.937 [debug] Current batch of media processed. Will check again in 1000ms 12:44:24.946 [debug] Current batch of media processed. Will check again in 1000ms 12:44:25.938 [debug] Current batch of media processed. Will check again in 1000ms 12:44:25.947 [debug] Current batch of media processed. Will check again in 1000ms 12:44:26.939 [debug] Current batch of media processed. Will check again in 1000ms 12:44:26.948 [debug] Current batch of media processed. Will check again in 1000ms 12:44:27.940 [debug] Current batch of media processed. Will check again in 1000ms 12:44:27.949 [debug] Current batch of media processed. Will check again in 1000ms 12:44:28.941 [debug] Current batch of media processed. Will check again in 1000ms 12:44:28.950 [debug] Current batch of media processed. Will check again in 1000ms 12:44:29.942 [debug] Current batch of media processed. Will check again in 1000ms 12:44:29.951 [debug] Current batch of media processed. Will check again in 1000ms 12:44:30.943 [debug] Current batch of media processed. Will check again in 1000ms 12:44:30.952 [debug] Current batch of media processed. Will check again in 1000ms 12:44:31.944 [debug] Current batch of media processed. Will check again in 1000ms 12:44:31.953 [debug] Current batch of media processed. Will check again in 1000ms 12:44:32.945 [debug] Current batch of media processed. Will check again in 1000ms 12:44:32.954 [debug] Current batch of media processed. Will check again in 1000ms 12:44:33.946 [debug] Current batch of media processed. Will check again in 1000ms 12:44:33.955 [debug] Current batch of media processed. Will check again in 1000ms 12:44:34.947 [debug] Current batch of media processed. Will check again in 1000ms 12:44:34.956 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "", "duration" => 109, "filename" => "/downloads/shorts/عكاس/عكاس - 2026-01-30 - [Rb__lXbdKr8].mp4", "id" => "Rb__lXbdKr8", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/Rb__lXbdKr8", "playlist_index" => 8, "timestamp" => 1769794222, "title" => "ليش يقولون أرفع قرشك الابيض ليوم الاسود؟ | #الزبده #فلوس #قيمنق #اكسبلور", "upload_date" => "20260130"} 12:44:34.956 [debug] QUERY OK source="sources" db=0.2ms idle=946.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" IN (?)) [380] 12:44:34.957 [debug] QUERY OK source="sources" db=0.1ms idle=946.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" = ?) [380] 12:44:34.957 [debug] QUERY OK source="media_items" db=0.3ms idle=947.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-30 17:30:22Z], 380] 12:44:34.959 [debug] QUERY OK source="media_items" db=0.7ms idle=948.1ms INSERT INTO "media_items" AS m0 ("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) 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" ["ليش يقولون أرفع قرشك الابيض ليوم الاسود؟ | #الزبده #فلوس #قيمنق #اكسبلور", "81de97dd-c30c-43bd-8b6c-ef9174e9bf74", 109, false, "Rb__lXbdKr8", "https://www.youtube.com/shorts/Rb__lXbdKr8", 8, "/downloads/shorts/عكاس/عكاس - 2026-01-30 - [Rb__lXbdKr8].mp4", false, false, true, 380, [], 98, ~U[2026-01-30 17:30:22Z], ~U[2026-04-15 12:44:34Z], ~U[2026-04-15 12:44:34Z], "", "ليش يقولون أرفع قرشك الابيض ليوم الاسود؟ | #الزبده #فلوس #قيمنق #اكسبلور", 109, false, "Rb__lXbdKr8", "https://www.youtube.com/shorts/Rb__lXbdKr8", "/downloads/shorts/عكاس/عكاس - 2026-01-30 - [Rb__lXbdKr8].mp4", true, 380, ~U[2026-01-30 17:30:22Z]] 12:44:34.959 [debug] QUERY OK source="sources" db=0.3ms idle=43.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" = ?) [380] 12:44:34.960 [debug] QUERY OK source="media_profiles" db=0.4ms idle=3.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 12:44:34.961 [debug] QUERY OK source="media_items" db=0.4ms idle=3.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4630535] 12:44:34.961 [debug] Current batch of media processed. Will check again in 1000ms 12:44:35.948 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "", "duration" => 38, "filename" => "/downloads/shorts/Dana Cast/Dana Cast - 2025-01-07 - [8ZpogOI6qqo].mp4", "id" => "8ZpogOI6qqo", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/8ZpogOI6qqo", "playlist_index" => 12, "timestamp" => 1736260552, "title" => "اصعب شي في حياة الانسان اهي الفقد … الله يرحمها ❤️ #بودكاست #danacast #اكسبلور", "upload_date" => "20250107"} 12:44:35.948 [debug] QUERY OK source="sources" db=0.2ms idle=989.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" IN (?)) [377] 12:44:35.949 [debug] QUERY OK source="sources" db=0.2ms idle=989.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" = ?) [377] 12:44:35.950 [debug] QUERY OK source="media_items" db=0.4ms idle=989.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-01-07 14:35:52Z], 377] 12:44:35.951 [debug] QUERY OK source="media_items" db=0.8ms idle=989.1ms INSERT INTO "media_items" AS m0 ("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) 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" ["اصعب شي في حياة الانسان اهي الفقد … الله يرحمها ❤️ #بودكاست #danacast #اكسبلور", "f2612187-48c2-4c6e-8880-2aaadc33c25f", 38, false, "8ZpogOI6qqo", "https://www.youtube.com/shorts/8ZpogOI6qqo", 12, "/downloads/shorts/Dana Cast/Dana Cast - 2025-01-07 - [8ZpogOI6qqo].mp4", false, false, true, 377, [], 98, ~U[2025-01-07 14:35:52Z], ~U[2026-04-15 12:44:35Z], ~U[2026-04-15 12:44:35Z], "", "اصعب شي في حياة الانسان اهي الفقد … الله يرحمها ❤️ #بودكاست #danacast #اكسبلور", 38, false, "8ZpogOI6qqo", "https://www.youtube.com/shorts/8ZpogOI6qqo", "/downloads/shorts/Dana Cast/Dana Cast - 2025-01-07 - [8ZpogOI6qqo].mp4", true, 377, ~U[2025-01-07 14:35:52Z]] 12:44:35.952 [debug] QUERY OK source="sources" db=0.3ms idle=34.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" = ?) [377] 12:44:35.952 [debug] QUERY OK source="media_profiles" db=0.3ms 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" = ?) [2] 12:44:35.953 [debug] QUERY OK source="media_items" db=0.4ms idle=3.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 [3907656] 12:44:35.953 [debug] Current batch of media processed. Will check again in 1000ms 12:44:35.962 [debug] Current batch of media processed. Will check again in 1000ms 12:44:36.954 [debug] Current batch of media processed. Will check again in 1000ms 12:44:36.963 [debug] Current batch of media processed. Will check again in 1000ms 12:44:37.955 [debug] Current batch of media processed. Will check again in 1000ms 12:44:37.964 [debug] Current batch of media processed. Will check again in 1000ms 12:44:38.956 [debug] Current batch of media processed. Will check again in 1000ms 12:44:38.965 [debug] Current batch of media processed. Will check again in 1000ms 12:44:39.957 [debug] Current batch of media processed. Will check again in 1000ms 12:44:39.966 [debug] Current batch of media processed. Will check again in 1000ms 12:44:40.958 [debug] Current batch of media processed. Will check again in 1000ms 12:44:40.967 [debug] Current batch of media processed. Will check again in 1000ms 12:44:41.713 [info] {"source":"oban","duration":17800,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:44:41.959 [debug] Current batch of media processed. Will check again in 1000ms 12:44:41.968 [debug] Current batch of media processed. Will check again in 1000ms 12:44:42.960 [debug] Current batch of media processed. Will check again in 1000ms 12:44:42.969 [debug] Current batch of media processed. Will check again in 1000ms 12:44:43.961 [debug] Current batch of media processed. Will check again in 1000ms 12:44:43.970 [debug] Current batch of media processed. Will check again in 1000ms 12:44:44.934 [info] {"args":{"id":195},"id":2191939,"meta":{},"system_time":1776257084934072261,"max_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:44:44.935 [debug] QUERY OK source="sources" db=0.8ms idle=1924.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" = ?) [195] 12:44:44.935 [debug] QUERY OK source="settings" db=0.2ms idle=1925.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:44.936 [debug] QUERY OK source="media_profiles" db=0.2ms idle=1009.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" = ?) [2] 12:44:44.936 [debug] QUERY OK source="settings" db=0.2ms idle=9.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:44:44.936 [debug] Fetching recent media IDs from YouTube API for playlist: UUBRMiH3Aivfkmh24Sa2dOew 12:44:44.937 [debug] QUERY OK source="settings" db=0.1ms idle=2.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:44:44.937 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 12:44:44.962 [debug] Current batch of media processed. Will check again in 1000ms 12:44:44.971 [debug] Current batch of media processed. Will check again in 1000ms 12:44:45.269 [debug] QUERY OK source="media_items" db=1.3ms idle=333.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [195, "p8SWCk5bHV4", "lGF5Y7n_vLA", "MCEgp0nDF_s", "eT8WC3vCNpM", "FdtHhPaD850", "efb72vQ-B5w", "T8yhYw2qYpU", "rxTb8olkoPk", "04sdzvBin2M", "FmxxJMMfjIQ", "DsF8tlvZfQU", "_nwUUMj2ihk", "ddP7GahgvdE", "igdQ646Rczo", "e6bNcQn6H8U", "VTaZnN2r-C4", "6s0PkW4X18k", "nq4j2vn85k0", "zSg2dCltMlE", "mMLIwZ1Hm-o", "pB0UeWaKMAk", "Zbd7ZR96fhs", "8431epN9yQY", "q9cidfvLSAQ", "TFtz5CBcSaA", "IHxBsWkSNC8", "KFnFetow2Fk", "l-66gKQOFFo", "9hrMhbVRqaQ", "nB7DXM3aXaM", "aJqijOOspFA", "XwtlpPm7d8Y", "XQ7i8_iskPU", "JDvpnFZiW-s", "Sg2smBn7oy4", "J7pPlV84TvE", "z3pnYIzRFNU", "QXwBbQYU1b0", "2EY_87Qp5es", "7oi6e-2M_jw", "5AW4xpNiS9w", "pbu9h-Ed45w", "XiUfyDi-vJA", "8sjUDoIvz3k", "Q4w7S0_bRNE", "IjBWwvWDNeA", "ENJS0N-wJrM", "vZzfd3fTI1I", "jFHXZyZwkzo", ...] 12:44:45.274 [debug] QUERY OK source="media_items" db=3.2ms idle=335.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")))) [195] 12:44:45.276 [debug] QUERY OK source="tasks" db=0.2ms idle=339.1ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2191973, 195, ~U[2026-04-15 12:44:45Z], ~U[2026-04-15 12:44:45Z]] 12:44:45.276 [info] {"args":{"id":195},"id":2191939,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":342465,"event":"job:stop","queue_time":392929,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:44:45.963 [debug] Current batch of media processed. Will check again in 1000ms 12:44:45.972 [debug] Current batch of media processed. Will check again in 1000ms 12:44:46.964 [debug] Current batch of media processed. Will check again in 1000ms 12:44:46.973 [debug] Current batch of media processed. Will check again in 1000ms 12:44:47.764 [info] GET /sources/117/media/4642867/force_download 12:44:47.764 [debug] QUERY OK source="settings" db=0.1ms idle=834.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:47.765 [debug] QUERY OK source="settings" db=0.2ms idle=754.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:47.765 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 12:44:47.765 [error] #PID<0.5398.0> running PinchflatWeb.Endpoint (connection #PID<0.5397.0>, stream id 1) terminated Server: jak.hibeex.com:80 (http) Request: GET /sources/117/media/4642867/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/117/media/4642867/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5397.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/117/media/4642867/force_download", host: "jak.hibeex.com", peer: {{172, 22, 0, 1}, 45644}, bindings: %{}, sock: {{172, 22, 0, 4}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "from" => "gptbot(at)openai.com", "host" => "jak.hibeex.com", "referer" => "https://jak.hibeex.com/sources/117/media/4642867?prevent_download=true", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.232", "x-forwarded-proto" => "https", "x-openai-host-hash" => "41517590", "x-real-ip" => "74.7.243.232" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "jak.hibeex.com", method: "GET", owner: #PID<0.5398.0>, params: %{}, path_info: ["sources", "117", "media", "4642867", "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://jak.hibeex.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 22, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"connection", "close"}, {"from", "gptbot(at)openai.com"}, {"host", "jak.hibeex.com"}, {"referer", "https://jak.hibeex.com/sources/117/media/4642867?prevent_download=true"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)"}, {"x-forwarded-for", "74.7.243.232"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "41517590"}, {"x-real-ip", "74.7.243.232"} ], request_path: "/sources/117/media/4642867/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKaIaQnz09vDDb8AAzuB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5397.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/117/media/4642867/force_download", host: "jak.hibeex.com", peer: {{172, 22, 0, 1}, 45644}, bindings: %{}, sock: {{172, 22, 0, 4}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "from" => "gptbot(at)openai.com", "host" => "jak.hibeex.com", "referer" => "https://jak.hibeex.com/sources/117/media/4642867?prevent_download=true", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.232", "x-forwarded-proto" => "https", "x-openai-host-hash" => "41517590", "x-real-ip" => "74.7.243.232" }, method: "GET", body_length: 0, path_info: :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/117/media/4642867/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5397.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/117/media/4642867/force_download", host: "jak.hibeex.com", peer: {{172, 22, 0, 1}, 45644}, bindings: %{}, sock: {{172, 22, 0, 4}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "from" => "gptbot(at)openai.com", "host" => "jak.hibeex.com", "referer" => "https://jak.hibeex.com/sources/117/media/4642867?prevent_download=true", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.232", "x-forwarded-proto" => "https", "x-openai-host-hash" => "41517590", "x-real-ip" => "74.7.243.232" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "jak.hibeex.com", method: "GET", owner: #PID<0.5398.0>, params: %{}, path_info: ["sources", "117", "media", "4642867", "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://jak.hibeex.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, (truncated) 12:44:47.965 [debug] Current batch of media processed. Will check again in 1000ms 12:44:47.974 [debug] Current batch of media processed. Will check again in 1000ms 12:44:48.966 [debug] Current batch of media processed. Will check again in 1000ms 12:44:48.975 [debug] Current batch of media processed. Will check again in 1000ms 12:44:49.967 [debug] Current batch of media processed. Will check again in 1000ms 12:44:49.976 [debug] Current batch of media processed. Will check again in 1000ms 12:44:50.968 [debug] Current batch of media processed. Will check again in 1000ms 12:44:50.977 [debug] Current batch of media processed. Will check again in 1000ms 12:44:51.969 [debug] Current batch of media processed. Will check again in 1000ms 12:44:51.978 [debug] Current batch of media processed. Will check again in 1000ms 12:44:52.970 [debug] Current batch of media processed. Will check again in 1000ms 12:44:52.979 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "", "duration" => 105, "filename" => "/downloads/shorts/عكاس/عكاس - 2026-01-29 - [-EF11XIy4Bk].mp4", "id" => "-EF11XIy4Bk", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/-EF11XIy4Bk", "playlist_index" => 9, "timestamp" => 1769688314, "title" => "قصة: جساس | يوسف #الزير_سالم #جساس", "upload_date" => "20260129"} 12:44:52.979 [debug] QUERY OK source="sources" db=0.2ms idle=1969.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" IN (?)) [380] 12:44:52.980 [debug] QUERY OK source="sources" db=0.2ms idle=1969.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" = ?) [380] 12:44:52.980 [debug] QUERY OK source="media_items" db=0.4ms idle=1970.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-29 12:05:14Z], 380] 12:44:52.982 [debug] QUERY OK source="media_items" db=0.7ms idle=1046.2ms INSERT INTO "media_items" AS m0 ("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) 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" ["قصة: جساس | يوسف #الزير_سالم #جساس", "ca58ef2b-a505-400e-834a-1e5548e62257", 105, false, "-EF11XIy4Bk", "https://www.youtube.com/shorts/-EF11XIy4Bk", 9, "/downloads/shorts/عكاس/عكاس - 2026-01-29 - [-EF11XIy4Bk].mp4", false, false, true, 380, [], 98, ~U[2026-01-29 12:05:14Z], ~U[2026-04-15 12:44:52Z], ~U[2026-04-15 12:44:52Z], "", "قصة: جساس | يوسف #الزير_سالم #جساس", 105, false, "-EF11XIy4Bk", "https://www.youtube.com/shorts/-EF11XIy4Bk", "/downloads/shorts/عكاس/عكاس - 2026-01-29 - [-EF11XIy4Bk].mp4", true, 380, ~U[2026-01-29 12:05:14Z]] 12:44:52.982 [debug] QUERY OK source="sources" db=0.3ms idle=46.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" = ?) [380] 12:44:52.983 [debug] QUERY OK source="media_profiles" db=0.3ms 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" = ?) [2] 12:44:52.984 [debug] QUERY OK source="media_items" db=0.4ms idle=3.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4630537] 12:44:52.984 [debug] Current batch of media processed. Will check again in 1000ms 12:44:53.971 [debug] Current batch of media processed. Will check again in 1000ms 12:44:53.985 [debug] Current batch of media processed. Will check again in 1000ms 12:44:54.972 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "", "duration" => 44, "filename" => "/downloads/shorts/Dana Cast/Dana Cast - 2025-01-04 - [zMY6eQndoko].mp4", "id" => "zMY6eQndoko", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/zMY6eQndoko", "playlist_index" => 13, "timestamp" => 1736011626, "title" => "شرايكم برد كوثر ؟ 🤔 #بودكاست #danacast #اكسبلور #تيك_توك #صنع_في_الكويت", "upload_date" => "20250104"} 12:44:54.972 [debug] QUERY OK source="sources" db=0.2ms idle=962.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" IN (?)) [377] 12:44:54.973 [debug] QUERY OK source="sources" db=0.1ms idle=962.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" = ?) [377] 12:44:54.974 [debug] QUERY OK source="media_items" db=0.3ms idle=963.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-01-04 17:27:06Z], 377] 12:44:54.975 [debug] QUERY OK source="media_items" db=0.7ms idle=964.0ms INSERT INTO "media_items" AS m0 ("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) 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" ["شرايكم برد كوثر ؟ 🤔 #بودكاست #danacast #اكسبلور #تيك_توك #صنع_في_الكويت", "e79031c2-17eb-4efe-a173-78d056737450", 44, false, "zMY6eQndoko", "https://www.youtube.com/shorts/zMY6eQndoko", 13, "/downloads/shorts/Dana Cast/Dana Cast - 2025-01-04 - [zMY6eQndoko].mp4", false, false, true, 377, [], 98, ~U[2025-01-04 17:27:06Z], ~U[2026-04-15 12:44:54Z], ~U[2026-04-15 12:44:54Z], "", "شرايكم برد كوثر ؟ 🤔 #بودكاست #danacast #اكسبلور #تيك_توك #صنع_في_الكويت", 44, false, "zMY6eQndoko", "https://www.youtube.com/shorts/zMY6eQndoko", "/downloads/shorts/Dana Cast/Dana Cast - 2025-01-04 - [zMY6eQndoko].mp4", true, 377, ~U[2025-01-04 17:27:06Z]] 12:44:54.975 [debug] QUERY OK source="sources" db=0.3ms idle=36.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" = ?) [377] 12:44:54.976 [debug] QUERY OK source="media_profiles" db=0.2ms idle=3.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 12:44:54.976 [debug] QUERY OK source="media_items" db=0.3ms idle=3.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [3907658] 12:44:54.977 [debug] Current batch of media processed. Will check again in 1000ms 12:44:54.986 [debug] Current batch of media processed. Will check again in 1000ms 12:44:55.978 [debug] Current batch of media processed. Will check again in 1000ms 12:44:55.987 [debug] Current batch of media processed. Will check again in 1000ms 12:44:56.979 [debug] Current batch of media processed. Will check again in 1000ms 12:44:56.988 [debug] Current batch of media processed. Will check again in 1000ms 12:44:57.980 [debug] Current batch of media processed. Will check again in 1000ms 12:44:57.989 [debug] Current batch of media processed. Will check again in 1000ms 12:44:58.981 [debug] Current batch of media processed. Will check again in 1000ms 12:44:58.990 [debug] Current batch of media processed. Will check again in 1000ms 12:44:59.982 [debug] Current batch of media processed. Will check again in 1000ms 12:44:59.991 [debug] Current batch of media processed. Will check again in 1000ms 12:45:00.821 [info] {"source":"oban","duration":198,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:45:00.983 [debug] Current batch of media processed. Will check again in 1000ms 12:45:00.992 [debug] Current batch of media processed. Will check again in 1000ms 12:45:01.984 [debug] Current batch of media processed. Will check again in 1000ms 12:45:01.993 [debug] Current batch of media processed. Will check again in 1000ms 12:45:02.985 [debug] Current batch of media processed. Will check again in 1000ms 12:45:02.994 [debug] Current batch of media processed. Will check again in 1000ms 12:45:03.986 [debug] Current batch of media processed. Will check again in 1000ms 12:45:03.995 [debug] Current batch of media processed. Will check again in 1000ms 12:45:04.987 [debug] Current batch of media processed. Will check again in 1000ms 12:45:04.996 [debug] Current batch of media processed. Will check again in 1000ms 12:45:05.988 [debug] Current batch of media processed. Will check again in 1000ms 12:45:05.997 [debug] Current batch of media processed. Will check again in 1000ms 12:45:06.989 [debug] Current batch of media processed. Will check again in 1000ms 12:45:06.998 [debug] Current batch of media processed. Will check again in 1000ms 12:45:07.990 [debug] Current batch of media processed. Will check again in 1000ms 12:45:07.999 [debug] Current batch of media processed. Will check again in 1000ms 12:45:08.991 [debug] Current batch of media processed. Will check again in 1000ms 12:45:09.000 [debug] Current batch of media processed. Will check again in 1000ms 12:45:09.992 [debug] Current batch of media processed. Will check again in 1000ms 12:45:10.001 [debug] Current batch of media processed. Will check again in 1000ms 12:45:10.993 [debug] Current batch of media processed. Will check again in 1000ms 12:45:11.002 [debug] Current batch of media processed. Will check again in 1000ms 12:45:11.732 [info] {"source":"oban","duration":17658,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:45:11.994 [debug] Current batch of media processed. Will check again in 1000ms 12:45:12.003 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "", "duration" => 87, "filename" => "/downloads/shorts/عكاس/عكاس - 2026-01-18 - [EKo79tXwLtg].mp4", "id" => "EKo79tXwLtg", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/EKo79tXwLtg", "playlist_index" => 10, "timestamp" => 1768764941, "title" => "موقف مع ضابط لبناني 🇱🇧 | بودكاست دواير #اكسبلور #لبنان", "upload_date" => "20260118"} 12:45:12.003 [debug] QUERY OK source="sources" db=0.2ms idle=1993.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" IN (?)) [380] 12:45:12.004 [debug] QUERY OK source="sources" db=0.1ms idle=1993.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" = ?) [380] 12:45:12.004 [debug] QUERY OK source="media_items" db=0.2ms idle=1045.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-18 19:35:41Z], 380] 12:45:12.005 [debug] QUERY OK source="media_items" db=0.6ms idle=272.1ms INSERT INTO "media_items" AS m0 ("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) 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" ["موقف مع ضابط لبناني 🇱🇧 | بودكاست دواير #اكسبلور #لبنان", "673abd04-92ff-4bbe-8f1c-3bf68018f6b4", 87, false, "EKo79tXwLtg", "https://www.youtube.com/shorts/EKo79tXwLtg", 10, "/downloads/shorts/عكاس/عكاس - 2026-01-18 - [EKo79tXwLtg].mp4", false, false, true, 380, [], 98, ~U[2026-01-18 19:35:41Z], ~U[2026-04-15 12:45:12Z], ~U[2026-04-15 12:45:12Z], "", "موقف مع ضابط لبناني 🇱🇧 | بودكاست دواير #اكسبلور #لبنان", 87, false, "EKo79tXwLtg", "https://www.youtube.com/shorts/EKo79tXwLtg", "/downloads/shorts/عكاس/عكاس - 2026-01-18 - [EKo79tXwLtg].mp4", true, 380, ~U[2026-01-18 19:35:41Z]] 12:45:12.006 [debug] QUERY OK source="sources" db=0.1ms idle=46.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" = ?) [380] 12:45:12.006 [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" = ?) [2] 12:45:12.007 [debug] QUERY OK source="media_items" db=0.2ms idle=2.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4630539] 12:45:12.007 [debug] Current batch of media processed. Will check again in 1000ms 12:45:12.995 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "", "duration" => 55, "filename" => "/downloads/shorts/Dana Cast/Dana Cast - 2025-01-01 - [1uCC5l8FQoY].mp4", "id" => "1uCC5l8FQoY", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/1uCC5l8FQoY", "playlist_index" => 14, "timestamp" => 1735742904, "title" => "1 January 2025", "upload_date" => "20250101"} 12:45:12.995 [debug] QUERY OK source="sources" db=0.1ms idle=989.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" IN (?)) [377] 12:45:12.996 [debug] QUERY OK source="sources" db=0.2ms idle=989.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" = ?) [377] 12:45:12.996 [debug] QUERY OK source="media_items" db=0.3ms idle=989.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-01-01 14:48:24Z], 377] 12:45:12.997 [debug] QUERY OK source="media_items" db=0.7ms idle=989.7ms INSERT INTO "media_items" AS m0 ("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) 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" ["1 January 2025", "e230941c-9355-4190-9bf2-ca1d76cb87d5", 55, false, "1uCC5l8FQoY", "https://www.youtube.com/shorts/1uCC5l8FQoY", 14, "/downloads/shorts/Dana Cast/Dana Cast - 2025-01-01 - [1uCC5l8FQoY].mp4", false, false, true, 377, [], 98, ~U[2025-01-01 14:48:24Z], ~U[2026-04-15 12:45:12Z], ~U[2026-04-15 12:45:12Z], "", "1 January 2025", 55, false, "1uCC5l8FQoY", "https://www.youtube.com/shorts/1uCC5l8FQoY", "/downloads/shorts/Dana Cast/Dana Cast - 2025-01-01 - [1uCC5l8FQoY].mp4", true, 377, ~U[2025-01-01 14:48:24Z]] 12:45:12.998 [debug] QUERY OK source="sources" db=0.3ms idle=37.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" = ?) [377] 12:45:12.999 [debug] QUERY OK source="media_profiles" db=0.9ms 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" = ?) [2] 12:45:13.000 [debug] QUERY OK source="media_items" db=0.4ms idle=3.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [3907660] 12:45:13.000 [debug] Current batch of media processed. Will check again in 1000ms 12:45:13.008 [debug] Current batch of media processed. Will check again in 1000ms 12:45:14.001 [debug] Current batch of media processed. Will check again in 1000ms 12:45:14.009 [debug] Current batch of media processed. Will check again in 1000ms 12:45:15.002 [debug] Current batch of media processed. Will check again in 1000ms 12:45:15.010 [debug] Current batch of media processed. Will check again in 1000ms 12:45:16.003 [debug] Current batch of media processed. Will check again in 1000ms 12:45:16.011 [debug] Current batch of media processed. Will check again in 1000ms 12:45:16.973 [info] {"args":{"id":96},"id":2191940,"meta":{},"system_time":1776257116973074564,"max_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:45:16.973 [info] {"args":{"id":98},"id":2191941,"meta":{},"system_time":1776257116973145623,"max_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:45:16.974 [debug] QUERY OK source="sources" db=0.5ms idle=963.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" = ?) [96] 12:45:16.974 [debug] QUERY OK source="sources" db=0.6ms idle=963.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" = ?) [98] 12:45:16.974 [debug] QUERY OK source="settings" db=0.3ms idle=963.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:16.974 [debug] QUERY OK source="settings" db=0.4ms idle=8.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:45:16.974 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 12:45:16.975 [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" = ?) [2] 12:45:16.975 [debug] QUERY OK source="settings" db=0.2ms 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:45:16.975 [debug] Fetching recent media IDs from YouTube API for playlist: UUKlJwuBeBliMD0OS9AN1LqA 12:45:16.975 [debug] QUERY OK source="settings" db=0.4ms 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 [] 12:45:16.975 [debug] Fetching recent media IDs from YouTube API for playlist: UUAZb4c10tPnyyAPhEo-vS1w 12:45:16.976 [debug] QUERY OK source="settings" db=0.2ms queue=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 [] 12:45:16.976 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 12:45:16.976 [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 [] 12:45:16.976 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 12:45:17.004 [debug] Current batch of media processed. Will check again in 1000ms 12:45:17.012 [debug] Current batch of media processed. Will check again in 1000ms 12:45:17.225 [debug] QUERY OK source="media_items" db=1.2ms idle=248.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [96, "lgi0gk0izVw", "iwGrG2LwuUU", "x62omneLjUQ", "7ZLylxGWhc8", "2JYaUJayC7M", "8MhWFLNJLcI", "z6uHcqDrdOU", "Cm-5wl2sGAk", "3mYv9NAhrwI", "_zGarVwlhrI", "UenlD8RnRzw", "k8GdyHR_PKI", "ph3d_UDtJmg", "sk3EIXCnj2Y", "gaPNo4hjpOA", "MfBOjMSaUlQ", "4kFWFkA5tzQ", "v4P3-qv5apE", "6sXolxcGHV8", "L0oqBbEp4Do", "eHOMLS47yRg", "fixM4HJ_t0c", "Z49bpbSmeqo", "lFk09LRAqoE", "UCFgrFMnq-M", "mX-ZHvm0EqQ", "6BeHK2sBAsU", "nVxb_6-i4vo", "5AWb3uGaGnM", "U6_uygrlXLQ", "hH-kmDMUdbM", "bECZSbJSUN4", "4NLmKeucGeQ", "So1_9zobHfI", "Q0dEwIee2QU", "owVM8htcVMY", "KdPcD4V4wwI", "ZiNb8EywGWk", "_sDNcewGKdA", "C1T0dqbQ8wY", "aOJPNjwzVoM", "ZnJE8cWMlek", "bLKHwG-zIBA", "gI5W6288Nqg", "PvlO47XZj74", "Sh9pKvCsBaw", "dGqaASnOllk", "J4aKYDp7efI", "V1hn7k2amaQ", ...] 12:45:17.239 [debug] QUERY OK source="media_items" db=13.3ms idle=251.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")))) [96] 12:45:17.241 [debug] QUERY OK source="tasks" db=0.3ms idle=264.9ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2191974, 96, ~U[2026-04-15 12:45:17Z], ~U[2026-04-15 12:45:17Z]] 12:45:17.242 [info] {"args":{"id":96},"id":2191940,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":268532,"event":"job:stop","queue_time":438973,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:45:17.578 [debug] QUERY OK source="media_items" db=1.2ms idle=336.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [98, "Ev9FN-nBkho", "G85Ah7FqgJw", "NMWezFTpuyA", "wpwVJMVDreg", "katvUb1-VtA", "j8v0Ci3CyCM", "39M5ZIuq5R0", "aezweDUgIYI", "o7yt-kZE8Ns", "ryQ2XQL7DM8", "yRENM57s7pk", "s1QGX8WMUIA", "JoMya8mFvqw", "Kl9b5jHoi0g", "MPstTZo5ZTI", "ufjD8yVfMyM", "hkPoP9qiNFc", "uJR-FImplgI", "AJMdBafruQQ", "_3YV1GNd8YM", "48-62pf9pVU", "TSCWJLqr7ts", "yXu61yOXpSE", "BEPkOy3AM9A", "-A3XI4Nev-I", "pWqiicpnZbs", "CjnYvDUygjA", "enO_DLOpBXk", "8-cvEj2h9Jw", "BRoLiutnbv0", "rFTGwrEkzcg", "KQaz_l3M1Zk", "zgLl_BLdBUU", "jcLjRB0wu2M", "bZj0l4Omo6Y", "bf-6IUrtFb4", "ICRJYx5e50Q", "AnEHzdsKX1I", "6yAcLo_1ez0", "kVAVTj64ZYI", "C0JE-lBoYig", "PyoZ_hdaI_E", "rHX8xNJAqgs", "CYFSuOfgFCs", "GPgPJrBC2Ss", "Jn7VbYmvfrc", "utK0QZwBRSw", "s6gLJF7hR6o", "9Awsk83VIIY", ...] 12:45:17.580 [debug] QUERY OK source="media_items" db=0.6ms idle=338.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")))) [98] 12:45:17.582 [debug] QUERY OK source="tasks" db=0.3ms idle=332.4ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2191975, 98, ~U[2026-04-15 12:45:17Z], ~U[2026-04-15 12:45:17Z]] 12:45:17.582 [info] {"args":{"id":98},"id":2191941,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":609100,"event":"job:stop","queue_time":128896,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:45:18.005 [debug] Current batch of media processed. Will check again in 1000ms 12:45:18.013 [debug] Current batch of media processed. Will check again in 1000ms 12:45:19.006 [debug] Current batch of media processed. Will check again in 1000ms 12:45:19.014 [debug] Current batch of media processed. Will check again in 1000ms 12:45:20.007 [debug] Current batch of media processed. Will check again in 1000ms 12:45:20.015 [debug] Current batch of media processed. Will check again in 1000ms 12:45:21.008 [debug] Current batch of media processed. Will check again in 1000ms 12:45:21.016 [debug] Current batch of media processed. Will check again in 1000ms 12:45:22.009 [debug] Current batch of media processed. Will check again in 1000ms 12:45:22.017 [debug] Current batch of media processed. Will check again in 1000ms 12:45:23.010 [debug] Current batch of media processed. Will check again in 1000ms 12:45:23.018 [debug] Current batch of media processed. Will check again in 1000ms 12:45:24.011 [debug] Current batch of media processed. Will check again in 1000ms 12:45:24.019 [debug] Current batch of media processed. Will check again in 1000ms 12:45:25.012 [debug] Current batch of media processed. Will check again in 1000ms 12:45:25.020 [debug] Current batch of media processed. Will check again in 1000ms 12:45:26.013 [debug] Current batch of media processed. Will check again in 1000ms 12:45:26.021 [debug] Current batch of media processed. Will check again in 1000ms 12:45:27.014 [debug] Current batch of media processed. Will check again in 1000ms 12:45:27.022 [debug] Current batch of media processed. Will check again in 1000ms 12:45:28.015 [debug] Current batch of media processed. Will check again in 1000ms 12:45:28.023 [debug] Current batch of media processed. Will check again in 1000ms 12:45:29.016 [debug] Current batch of media processed. Will check again in 1000ms 12:45:29.024 [debug] Current batch of media processed. Will check again in 1000ms 12:45:29.991 [info] {"args":{"id":179},"id":2191942,"meta":{},"system_time":1776257129990979014,"max_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:45:29.991 [debug] QUERY OK source="sources" db=0.3ms idle=981.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" = ?) [179] 12:45:29.992 [debug] QUERY OK source="settings" db=0.3ms idle=981.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:29.992 [debug] QUERY OK source="media_profiles" db=0.3ms idle=982.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" = ?) [2] 12:45:29.993 [debug] QUERY OK source="settings" db=0.2ms idle=8.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:45:29.993 [debug] Fetching recent media IDs from YouTube API for playlist: UUqyUIejEzM0o-weuEpnDi3Q 12:45:29.993 [debug] QUERY OK source="settings" db=0.1ms idle=2.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:45:29.993 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 12:45:30.017 [debug] Current batch of media processed. Will check again in 1000ms 12:45:30.025 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "", "duration" => 94, "filename" => "/downloads/shorts/عكاس/عكاس - 2026-01-14 - [sZpV7AS53cM].mp4", "id" => "sZpV7AS53cM", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/sZpV7AS53cM", "playlist_index" => 11, "timestamp" => 1768401780, "title" => "قصة: جحدر | #يوسف #الزير_سالم #اكسبلور", "upload_date" => "20260114"} 12:45:30.025 [debug] QUERY OK source="sources" db=0.1ms idle=33.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" IN (?)) [380] 12:45:30.026 [debug] QUERY OK source="sources" db=0.2ms idle=33.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" = ?) [380] 12:45:30.026 [debug] QUERY OK source="media_items" db=0.4ms idle=33.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-14 14:43:00Z], 380] 12:45:30.027 [debug] QUERY OK source="media_items" db=0.6ms idle=33.9ms INSERT INTO "media_items" AS m0 ("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) 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" ["قصة: جحدر | #يوسف #الزير_سالم #اكسبلور", "8db0f3e1-2eef-4081-acad-7c3b41da808b", 94, false, "sZpV7AS53cM", "https://www.youtube.com/shorts/sZpV7AS53cM", 11, "/downloads/shorts/عكاس/عكاس - 2026-01-14 - [sZpV7AS53cM].mp4", false, false, true, 380, [], 98, ~U[2026-01-14 14:43:00Z], ~U[2026-04-15 12:45:30Z], ~U[2026-04-15 12:45:30Z], "", "قصة: جحدر | #يوسف #الزير_سالم #اكسبلور", 94, false, "sZpV7AS53cM", "https://www.youtube.com/shorts/sZpV7AS53cM", "/downloads/shorts/عكاس/عكاس - 2026-01-14 - [sZpV7AS53cM].mp4", true, 380, ~U[2026-01-14 14:43:00Z]] 12:45:30.028 [debug] QUERY OK source="sources" db=0.3ms idle=34.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" = ?) [380] 12:45:30.029 [debug] QUERY OK source="media_profiles" db=0.3ms idle=3.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 12:45:30.029 [debug] QUERY OK source="media_items" db=0.4ms idle=3.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4630541] 12:45:30.029 [debug] Current batch of media processed. Will check again in 1000ms 12:45:30.240 [debug] QUERY OK source="media_items" db=1.3ms idle=212.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [179, "pKXdilyXxAI", "GlncALbDrw8", "zf1ggra0IvY", "a6h5d-tGm6c", "uX6xwAMoZZo", "35efgolAJnQ", "6Y7p1LFvufE", "dO5F9yWjbpc", "41s3cMSb7j8", "zGinpJX6IK8", "GpwHRN69eck", "kK2cfv05DUo", "SBnnyouT6Jo", "gUIb3RFsZbM", "v-j7EdHnc2g", "Cs1y_qfIYP8", "uYzepecNaAw", "DgDtCp_z8Q0", "1TEhu1_Tv5U", "ezCec4ndn88", "x9dGduuEFHQ", "YYSe9GnVTF8", "0V6Snvm7WDM", "uml0Z4AZaK0", "5D_o1PuFNBU", "ZNkhOZYGWCo", "HnPtQuRuHjs", "fssPKb80GAk", "uCMuZv0LfQo", "wolCPbqmPKI", "P7hizGN3Qac", "oEjcEbXFr-0", "8ZJwuxwNEVY", "rFQGEqS1Jec", "JG-lowxduWk", "55cfeTeiBrU", "2H6XsOWSSCc", "mALFGAJ4Ank", "AWB5APi4yb8", "QO51is_uUwM", "AVbaqwT6wjA", "dDDhx5UY_bg", "7IGJcXIwM7c", "1286woUnTPg", "i3fhiv7KrnY", "hc5hbCiIt9E", "2nyFunyTN1Q", "9-l8VJK2Ivw", "1g1r_vTXaBE", ...] 12:45:30.244 [debug] QUERY OK source="media_items" db=2.1ms idle=214.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")))) [179] 12:45:30.248 [debug] QUERY OK source="tasks" db=0.2ms idle=2.7ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2191976, 179, ~U[2026-04-15 12:45:30Z], ~U[2026-04-15 12:45:30Z]] 12:45:30.248 [info] {"args":{"id":179},"id":2191942,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":257518,"event":"job:stop","queue_time":410393,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:45:31.018 [debug] Current batch of media processed. Will check again in 1000ms 12:45:31.030 [debug] Current batch of media processed. Will check again in 1000ms 12:45:32.019 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "", "duration" => 26, "filename" => "/downloads/shorts/Dana Cast/Dana Cast - 2024-12-30 - [pwJ0ciUwgOw].mp4", "id" => "pwJ0ciUwgOw", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/pwJ0ciUwgOw", "playlist_index" => 15, "timestamp" => 1735571173, "title" => "تيكتوكر و فنانة، تتوقعون منو ضيفة الحلقة؟!", "upload_date" => "20241230"} 12:45:32.019 [debug] QUERY OK source="sources" db=0.2ms idle=32.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" IN (?)) [377] 12:45:32.020 [debug] QUERY OK source="sources" db=0.3ms idle=9.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [377] 12:45:32.021 [debug] QUERY OK source="media_items" db=0.4ms idle=10.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-12-30 15:06:13Z], 377] 12:45:32.022 [debug] QUERY OK source="media_items" db=0.6ms idle=11.2ms INSERT INTO "media_items" AS m0 ("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) 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" ["تيكتوكر و فنانة، تتوقعون منو ضيفة الحلقة؟!", "c12f9220-b55c-445d-894b-a6bfc1835011", 26, false, "pwJ0ciUwgOw", "https://www.youtube.com/shorts/pwJ0ciUwgOw", 15, "/downloads/shorts/Dana Cast/Dana Cast - 2024-12-30 - [pwJ0ciUwgOw].mp4", false, false, true, 377, [], 98, ~U[2024-12-30 15:06:13Z], ~U[2026-04-15 12:45:32Z], ~U[2026-04-15 12:45:32Z], "", "تيكتوكر و فنانة، تتوقعون منو ضيفة الحلقة؟!", 26, false, "pwJ0ciUwgOw", "https://www.youtube.com/shorts/pwJ0ciUwgOw", "/downloads/shorts/Dana Cast/Dana Cast - 2024-12-30 - [pwJ0ciUwgOw].mp4", true, 377, ~U[2024-12-30 15:06:13Z]] 12:45:32.022 [debug] QUERY OK source="sources" db=0.2ms idle=12.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [377] 12:45:32.023 [debug] QUERY OK source="media_profiles" db=0.2ms idle=3.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 12:45:32.023 [debug] QUERY OK source="media_items" db=0.4ms idle=3.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 [3907662] 12:45:32.024 [debug] Current batch of media processed. Will check again in 1000ms 12:45:32.031 [debug] Current batch of media processed. Will check again in 1000ms 12:45:33.025 [debug] Current batch of media processed. Will check again in 1000ms 12:45:33.032 [debug] Current batch of media processed. Will check again in 1000ms 12:45:33.704 [info] GET /sources/186/media/1754457 12:45:33.705 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "1754457", "prevent_download" => "true", "source_id" => "186"} Pipelines: [:browser] 12:45:33.705 [debug] QUERY OK source="media_items" db=0.2ms idle=1683.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" = ?) [1754457] 12:45:33.706 [debug] QUERY OK source="tasks" db=0.1ms idle=1683.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" [1754457] 12:45:33.706 [debug] QUERY OK source="sources" db=0.3ms idle=1682.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" = ?) [186] 12:45:33.706 [debug] QUERY OK source="settings" db=0.1ms 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 [] 12:45:33.707 [debug] QUERY OK source="settings" db=0.1ms idle=718.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:33.707 [debug] QUERY OK source="settings" db=0.2ms 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 [] 12:45:33.708 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.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:45:33.710 [info] Sent 200 in 5ms 12:45:34.026 [debug] Current batch of media processed. Will check again in 1000ms 12:45:34.033 [debug] Current batch of media processed. Will check again in 1000ms 12:45:35.027 [debug] Current batch of media processed. Will check again in 1000ms 12:45:35.034 [debug] Current batch of media processed. Will check again in 1000ms 12:45:36.028 [debug] Current batch of media processed. Will check again in 1000ms 12:45:36.035 [debug] Current batch of media processed. Will check again in 1000ms 12:45:37.029 [debug] Current batch of media processed. Will check again in 1000ms 12:45:37.036 [debug] Current batch of media processed. Will check again in 1000ms 12:45:38.030 [debug] Current batch of media processed. Will check again in 1000ms 12:45:38.037 [debug] Current batch of media processed. Will check again in 1000ms 12:45:39.003 [info] {"args":{"id":170},"id":2191943,"meta":{},"system_time":1776257139002961605,"max_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:45:39.003 [debug] QUERY OK source="sources" db=0.2ms idle=1992.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" = ?) [170] 12:45:39.004 [debug] QUERY OK source="settings" db=0.3ms idle=1993.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:45:39.004 [debug] QUERY OK source="media_profiles" db=0.3ms idle=1009.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" = ?) [2] 12:45:39.005 [debug] QUERY OK source="settings" db=0.2ms idle=8.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:45:39.005 [debug] Fetching recent media IDs from YouTube API for playlist: UUNdRu8acJfOSM5j3ybyp_8Q 12:45:39.005 [debug] QUERY OK source="settings" db=0.1ms idle=2.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:45:39.005 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 12:45:39.031 [debug] Current batch of media processed. Will check again in 1000ms 12:45:39.038 [debug] Current batch of media processed. Will check again in 1000ms 12:45:39.380 [debug] QUERY OK source="media_items" db=1.2ms idle=375.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [170, "2dII7fUtUYg", "B-nIGwHbAVs", "-CEceffxGFA", "KIZWJA513Ao", "QneeftA53KU", "8CWL7ppNA3o", "cOxCyazeCJw", "0cWGCaFuguk", "6QMfibl-SnI", "jC5eSFR8OCs", "FVDqcFTBKVY", "bNp8eoSN4nA", "FNs2bjyYdtY", "wkMVgzvQNJk", "UcAzsfkB5qg", "zlKNqgl80nM", "NOPKBI0xLhs", "gk_TAIbLoiA", "J6xcM7Qz7UQ", "3H4TvwkjcPQ", "JID7hDNO1P0", "nhxhPipgkRA", "4znyT54MUOA", "XZqby1gGpqk", "JKvUsl_2Ow0", "1KtDgc7yWBo", "07JhQX49XVM", "WIL0xXuMeVs", "ZhZ69ws2rkw", "X7qsGLZmBQU", "2kSaPVi5IEI", "SGr5g0G00zc", "XZeXUHAyVRg", "nGe0RBK8UJE", "oU-MArspg04", "-1jFdB-QkLM", "EP0eS5Z6USo", "cZ6gjlY_KjU", "OmoT95T7a9E", "F0-EPZUydzw", "Ar-wbxmesW4", "I9nthd03SOA", "e2TH7alqLJE", "h6JxkZwuIUI", "cDlpEFf5RjY", "tpD9Yz67hBw", "mejuzJnmSMA", "2X--RidFiDg", "-xh8HQlKlog", ...] 12:45:39.384 [debug] QUERY OK source="media_items" db=2.1ms idle=377.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")))) [170] 12:45:39.385 [debug] QUERY OK source="tasks" db=0.3ms idle=380.0ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2191977, 170, ~U[2026-04-15 12:45:39Z], ~U[2026-04-15 12:45:39Z]] 12:45:39.386 [info] {"args":{"id":170},"id":2191943,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":383078,"event":"job:stop","queue_time":353049,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:45:40.005 [info] {"args":{"id":187},"id":2191944,"meta":{},"system_time":1776257140004951525,"max_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:45:40.005 [debug] QUERY OK source="sources" db=0.3ms idle=619.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" = ?) [187] 12:45:40.006 [debug] QUERY OK source="settings" db=0.2ms idle=619.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:40.006 [debug] QUERY OK source="media_profiles" db=0.3ms 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" = ?) [2] 12:45:40.007 [debug] QUERY OK source="settings" db=0.2ms idle=8.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:45:40.007 [debug] Fetching recent media IDs from YouTube API for playlist: UUigbBPzo9jjMgdG_CcnzJhQ 12:45:40.007 [debug] QUERY OK source="settings" db=0.1ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:45:40.007 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 12:45:40.032 [debug] Current batch of media processed. Will check again in 1000ms 12:45:40.039 [debug] Current batch of media processed. Will check again in 1000ms 12:45:40.244 [debug] QUERY OK source="media_items" db=1.3ms idle=237.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [187, "GWvaTlVbPNs", "84qfh3sRUAM", "ZlQo0Wg0kXE", "0ItF-y4uWew", "kyLG-9ClFFQ", "9Ci4G3TKIlw", "Ah2q5T91oBg", "G1SE0NM-Tbg", "cXLEVcF0DIU", "b5XQ9YhBNJg", "9_mnZd-1qAU", "yE3KKPh9vAk", "VQHaBfC_nWM", "hySWP5Xgqt0", "JlzRUtS79yc", "4Yup64cv6PU", "KDP--RC8T7c", "OlUBw4nrNvk", "kkTQeftsc1c", "jxsIjZJ3P3s", "CtK09-qlSxs", "pf9Rs02F65k", "rg5D_0SVYFs", "kl5PxYGHuTU", "eK4-7gVRdew", "j3ufeFuHN6Q", "fiVtSvdBv-8", "tN32kgkT0a4", "qkIvBGnVwSo", "UDsmYWUHvUE", "VegutkNwCEc", "H2LypidNEJk", "Rwfrdq2bCMc", "ueJbWMXwBKA", "cgJq4MyGTNY", "FBXo_CjG-5o", "0Xesauk55io", "pkb7MavLwuI", "RR5IHrnvHQE", "zHzrDgTVgmc", "2avyAUueWYE", "0WAVmj-UtIM", "VM5JWhfmf8c", "BGk1eSr6IUE", "T-oT349yB0U", "fB4Ex_Hw0pk", "CV2GjlGSxz4", "zPHZ2dRA7cg", "8Z3929e1YW4", ...] 12:45:40.247 [debug] QUERY OK source="media_items" db=1.3ms idle=239.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")))) [187] 12:45:40.249 [debug] QUERY OK source="tasks" db=0.3ms idle=240.9ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2191978, 187, ~U[2026-04-15 12:45:40Z], ~U[2026-04-15 12:45:40Z]] 12:45:40.249 [info] {"args":{"id":187},"id":2191944,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":244133,"event":"job:stop","queue_time":480222,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:45:41.007 [info] {"args":{"id":424},"id":2191945,"meta":{},"system_time":1776257141007087213,"max_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:45:41.007 [debug] QUERY OK source="sources" db=0.2ms idle=758.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" = ?) [424] 12:45:41.008 [debug] QUERY OK source="settings" db=0.2ms idle=758.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:41.008 [debug] QUERY OK source="media_profiles" db=0.2ms idle=752.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" = ?) [2] 12:45:41.009 [debug] QUERY OK source="settings" db=0.3ms idle=8.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:45:41.009 [debug] Fetching recent media IDs from YouTube API for playlist: UUduD22OSc9f98Fg4NuJHU3Q 12:45:41.009 [debug] QUERY OK source="settings" db=0.1ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:45:41.009 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 12:45:41.033 [debug] Current batch of media processed. Will check again in 1000ms 12:45:41.040 [debug] Current batch of media processed. Will check again in 1000ms 12:45:41.415 [debug] QUERY OK source="media_items" db=1.2ms idle=406.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [424, "l-KXAJueeE4", "z6yloe8BVaU", "dZox-F9NY6Y", "Jzdco7kmG84", "PpT5cwX2J2k", "Wizm3xaYchc", "aGi5SNIySXE", "rO9X83U-9bE", "bpQK-NitpVg", "EMyelTKShBo", "c8_G0jFr5NQ", "aJCZzjOOv6g", "X7CxcWOcoUA", "_Urj9iKo5H4", "iXa5pmY_VCg", "gMWyJcoFnVY", "fz2LHk9pSdk", "Rs2ZZgrYK58", "L5Mjxge1yY0", "MpZ-VKedx7A", "zxIif2RJm38", "pf858AX4_U8", "MRMScf-DsO4", "0ftbeL6Y7qU", "qsiKWRrehzQ", "mkjwjTgdMmM", "Fo90Bdg8rNo", "aXG1UPQQofQ", "rTs81amP49Y", "fGSjULrPsx8", "toFpR-wyjfk", "9ElrpAc6_Bw", "l_mOZIne88k", "pHZAnjB8bws", "2m_Uh7xhQGo", "5h5ATFJs09U", "xgVOq6Bfn8A", "2grmoSe0Zrk", "kLWNObhY_tU", "JR2UuHcQH7w", "H_VB0gHAPMo", "tp5TYhBYYCg", "BZF41PXtYmU", "hVKtxCEwPvY", "9_a8vaqhvSY", "V4VJjvZQ_gY", "t4nG1fjFzng", "_ESHmhwSGro", "fhwAZIJtpCM", ...] 12:45:41.422 [debug] QUERY OK source="media_items" db=5.9ms idle=408.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")))) [424] 12:45:41.424 [debug] QUERY OK source="tasks" db=0.3ms idle=414.8ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2191979, 424, ~U[2026-04-15 12:45:41Z], ~U[2026-04-15 12:45:41Z]] 12:45:41.425 [info] {"args":{"id":424},"id":2191945,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":417778,"event":"job:stop","queue_time":295889,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:45:41.751 [info] {"source":"oban","duration":17733,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:45:42.034 [debug] Current batch of media processed. Will check again in 1000ms 12:45:42.041 [debug] Current batch of media processed. Will check again in 1000ms 12:45:43.035 [debug] Current batch of media processed. Will check again in 1000ms 12:45:43.042 [debug] Current batch of media processed. Will check again in 1000ms 12:45:44.036 [debug] Current batch of media processed. Will check again in 1000ms 12:45:44.043 [debug] Current batch of media processed. Will check again in 1000ms 12:45:45.012 [info] {"args":{"id":402},"id":2191946,"meta":{},"system_time":1776257145012060713,"max_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:45:45.012 [debug] QUERY OK source="sources" db=0.2ms idle=2.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [402] 12:45:45.013 [debug] QUERY OK source="settings" db=0.2ms idle=2.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:45:45.014 [debug] QUERY OK source="media_profiles" db=0.8ms 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" = ?) [2] 12:45:45.014 [debug] QUERY OK source="settings" db=0.2ms idle=4.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:45:45.014 [debug] Fetching recent media IDs from YouTube API for playlist: UUv9CRhIdmLdRXwyqWLqT-1Q 12:45:45.014 [debug] QUERY OK source="settings" db=0.1ms idle=2.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:45:45.015 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 12:45:45.037 [debug] Current batch of media processed. Will check again in 1000ms 12:45:45.044 [debug] Current batch of media processed. Will check again in 1000ms 12:45:45.513 [debug] QUERY OK source="media_items" db=1.3ms idle=499.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [402, "3j4xjklMoo4", "gZqaauRhZhs", "JZsQt_4QXgI", "5loSCFTOEb4", "zaih20lw4bs", "SgGtBFbw1kI", "mcgcu1JuGao", "d2GSwD0Il-k", "LxOugY_w3q0", "QGf453DDz1g", "rdmAe2CIRcc", "cxorSoldV_k", "GYTHnZR2Id8", "rowYQBlqD-Y", "U7m925r48Jk", "Iz_79p_yVE0", "dVpdpoG9xZ8", "EW-EpQnW2rM", "Gu8aUxdMI18", "2kOrlz4Nw60", "KrLslSzReHE", "HCjDOBHpbuU", "yBoY59dq0o0", "l57SqLe4IjQ", "TtoNGT10GMQ", "CurEIX5egYY", "epLEnwmvneE", "wZmAnXwbbkM", "V4mfjEXo2jQ", "kvTUlZ4EtlM", "4DWJDctae_w", "bFIKDKTUjyU", "XXE0whBrOe8", "hb64fr-vXyM", "kBfJu4Lr9-g", "ahzLQawdLYU", "7Pw6MSgHz5A", "wZYqqWU3DoU", "E-ZcRNdvjoM", "JV_dskh0-ws", "koGDw3vHTKY", "JC3sGWRDdbs", "e5dO2XUalWY", "aDlVWlAjbV8", "Hq7-l88KNzY", "_GY3Or8ZgYY", "W354MKgc8AM", "X9MULCFLPyg", "psW2wmVYvDk", ...] 12:45:45.517 [debug] QUERY OK source="media_items" db=2.4ms idle=501.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")))) [402] 12:45:45.519 [debug] QUERY OK source="tasks" db=0.3ms idle=503.5ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2191980, 402, ~U[2026-04-15 12:45:45Z], ~U[2026-04-15 12:45:45Z]] 12:45:45.519 [info] {"args":{"id":402},"id":2191946,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":507037,"event":"job:stop","queue_time":278445,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:45:46.038 [debug] Current batch of media processed. Will check again in 1000ms 12:45:46.045 [debug] Current batch of media processed. Will check again in 1000ms 12:45:47.039 [debug] Current batch of media processed. Will check again in 1000ms 12:45:47.046 [debug] Current batch of media processed. Will check again in 1000ms 12:45:48.040 [debug] Current batch of media processed. Will check again in 1000ms 12:45:48.047 [debug] Current batch of media processed. Will check again in 1000ms 12:45:49.041 [debug] Current batch of media processed. Will check again in 1000ms 12:45:49.048 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "", "duration" => 85, "filename" => "/downloads/shorts/عكاس/عكاس - 2026-01-13 - [LMajBMsX4nY].mp4", "id" => "LMajBMsX4nY", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/LMajBMsX4nY", "playlist_index" => 12, "timestamp" => 1768310564, "title" => "وش علاقة البيتزا بغزو العراق للكويت🤒؟ | الزبده #العراق #الكويت #اكسبلور", "upload_date" => "20260113"} 12:45:49.048 [debug] QUERY OK source="sources" db=0.2ms idle=38.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [380] 12:45:49.049 [debug] QUERY OK source="sources" db=0.2ms idle=38.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" = ?) [380] 12:45:49.050 [debug] QUERY OK source="media_items" db=0.4ms idle=39.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-13 13:22:44Z], 380] 12:45:49.051 [debug] QUERY OK source="media_items" db=0.7ms idle=40.0ms INSERT INTO "media_items" AS m0 ("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) 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" ["وش علاقة البيتزا بغزو العراق للكويت🤒؟ | الزبده #العراق #الكويت #اكسبلور", "f8115ae1-2784-40b5-855f-91175faafa9c", 85, false, "LMajBMsX4nY", "https://www.youtube.com/shorts/LMajBMsX4nY", 12, "/downloads/shorts/عكاس/عكاس - 2026-01-13 - [LMajBMsX4nY].mp4", false, false, true, 380, [], 98, ~U[2026-01-13 13:22:44Z], ~U[2026-04-15 12:45:49Z], ~U[2026-04-15 12:45:49Z], "", "وش علاقة البيتزا بغزو العراق للكويت🤒؟ | الزبده #العراق #الكويت #اكسبلور", 85, false, "LMajBMsX4nY", "https://www.youtube.com/shorts/LMajBMsX4nY", "/downloads/shorts/عكاس/عكاس - 2026-01-13 - [LMajBMsX4nY].mp4", true, 380, ~U[2026-01-13 13:22:44Z]] 12:45:49.051 [debug] QUERY OK source="sources" db=0.2ms idle=40.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [380] 12:45:49.052 [debug] QUERY OK source="media_profiles" db=0.3ms idle=3.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 12:45:49.053 [debug] QUERY OK source="media_items" db=0.4ms idle=3.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 [4630543] 12:45:49.053 [debug] Current batch of media processed. Will check again in 1000ms 12:45:50.042 [debug] Current batch of media processed. Will check again in 1000ms 12:45:50.054 [debug] Current batch of media processed. Will check again in 1000ms 12:45:51.043 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "", "duration" => 24, "filename" => "/downloads/shorts/Dana Cast/Dana Cast - 2024-12-22 - [jFCS3tyCm-8].mp4", "id" => "jFCS3tyCm-8", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/jFCS3tyCm-8", "playlist_index" => 16, "timestamp" => 1734881154, "title" => "22 December 2024", "upload_date" => "20241222"} 12:45:51.043 [debug] QUERY OK source="sources" db=0.3ms idle=33.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" IN (?)) [377] 12:45:51.044 [debug] QUERY OK source="sources" db=0.1ms idle=33.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" = ?) [377] 12:45:51.044 [debug] QUERY OK source="media_items" db=0.4ms idle=34.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-12-22 15:25:54Z], 377] 12:45:51.046 [debug] QUERY OK source="media_items" db=0.7ms idle=35.0ms INSERT INTO "media_items" AS m0 ("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) 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" ["22 December 2024", "de0a6184-3eb7-4e3a-afce-a175dd2e4fcd", 24, false, "jFCS3tyCm-8", "https://www.youtube.com/shorts/jFCS3tyCm-8", 16, "/downloads/shorts/Dana Cast/Dana Cast - 2024-12-22 - [jFCS3tyCm-8].mp4", false, false, true, 377, [], 98, ~U[2024-12-22 15:25:54Z], ~U[2026-04-15 12:45:51Z], ~U[2026-04-15 12:45:51Z], "", "22 December 2024", 24, false, "jFCS3tyCm-8", "https://www.youtube.com/shorts/jFCS3tyCm-8", "/downloads/shorts/Dana Cast/Dana Cast - 2024-12-22 - [jFCS3tyCm-8].mp4", true, 377, ~U[2024-12-22 15:25:54Z]] 12:45:51.046 [debug] QUERY OK source="sources" db=0.2ms idle=31.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [377] 12:45:51.047 [debug] QUERY OK source="media_profiles" db=0.3ms idle=3.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 12:45:51.048 [debug] QUERY OK source="media_items" db=0.4ms idle=3.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 [3907664] 12:45:51.048 [debug] Current batch of media processed. Will check again in 1000ms 12:45:51.055 [debug] Current batch of media processed. Will check again in 1000ms 12:45:52.049 [debug] Current batch of media processed. Will check again in 1000ms 12:45:52.056 [debug] Current batch of media processed. Will check again in 1000ms 12:45:53.050 [debug] Current batch of media processed. Will check again in 1000ms 12:45:53.057 [debug] Current batch of media processed. Will check again in 1000ms 12:45:54.051 [debug] Current batch of media processed. Will check again in 1000ms 12:45:54.058 [debug] Current batch of media processed. Will check again in 1000ms 12:45:55.052 [debug] Current batch of media processed. Will check again in 1000ms 12:45:55.059 [debug] Current batch of media processed. Will check again in 1000ms 12:45:56.053 [debug] Current batch of media processed. Will check again in 1000ms 12:45:56.060 [debug] Current batch of media processed. Will check again in 1000ms 12:45:57.054 [debug] Current batch of media processed. Will check again in 1000ms 12:45:57.061 [debug] Current batch of media processed. Will check again in 1000ms 12:45:58.055 [debug] Current batch of media processed. Will check again in 1000ms 12:45:58.062 [debug] Current batch of media processed. Will check again in 1000ms 12:45:59.056 [debug] Current batch of media processed. Will check again in 1000ms 12:45:59.063 [debug] Current batch of media processed. Will check again in 1000ms 12:46:00.057 [debug] Current batch of media processed. Will check again in 1000ms 12:46:00.064 [debug] Current batch of media processed. Will check again in 1000ms 12:46:00.822 [info] {"source":"oban","duration":229,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:46:01.058 [debug] Current batch of media processed. Will check again in 1000ms 12:46:01.065 [debug] Current batch of media processed. Will check again in 1000ms 12:46:02.059 [debug] Current batch of media processed. Will check again in 1000ms 12:46:02.066 [debug] Current batch of media processed. Will check again in 1000ms 12:46:03.060 [debug] Current batch of media processed. Will check again in 1000ms 12:46:03.067 [debug] Current batch of media processed. Will check again in 1000ms 12:46:04.039 [info] {"args":{"id":163},"id":2191947,"meta":{},"system_time":1776257164039123147,"max_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:46:04.039 [debug] QUERY OK source="sources" db=0.3ms idle=1029.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" = ?) [163] 12:46:04.040 [debug] QUERY OK source="settings" db=0.2ms 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 [] 12:46:04.040 [debug] QUERY OK source="media_profiles" db=0.2ms idle=30.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 12:46:04.041 [debug] QUERY OK source="settings" db=0.2ms idle=8.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:46:04.041 [debug] Fetching recent media IDs from YouTube API for playlist: UU8vdjzu_0QMQlG9qNT5D_AQ 12:46:04.041 [debug] QUERY OK source="settings" db=0.1ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:46:04.041 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 12:46:04.061 [debug] Current batch of media processed. Will check again in 1000ms 12:46:04.068 [debug] Current batch of media processed. Will check again in 1000ms 12:46:04.320 [debug] QUERY OK source="media_items" db=1.2ms idle=278.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [163, "AK_QSHnLvjQ", "qALXsYRF_cA", "smnHpsqBLms", "yqdOCd-jdeo", "jyUJuJhWHrs", "ZNHoFwAGFrc", "1srAVSvVOOw", "uk2FISKK7QQ", "2z-ztPJXjEU", "7L1pepENKXA", "Sv6q_F6r4DE", "mFS_V5zGaxs", "1PGqhUa4Bfg", "wbvPGTnY4Z0", "yBBSNz1Ymyo", "E6dquEKdz_M", "zD4_JqiQ7jw", "O_ynHoWd-ys", "ZkugEqFIqY4", "CfTmDWiVEqM", "iPb2DidxP48", "RFemTGJfb3Y", "_Tr7gM3Hzno", "UuvWpHA9eJ0", "0iDqCo9U78I", "b9HbLgu65cw", "2nwaI54hM2A", "2nFeIrPbzvo", "U3JjHuSfiog", "HRl29tSwTSI", "dNiviYe_iGc", "JLn7iuFdKL8", "zZRg322MXkE", "rvNKslgk6yQ", "lxVw40xOmNE", "Xw_9uYceyWo", "bD9_5xiDj8w", "jpfUutCaORQ", "nmxVTzLORDg", "7O9V1yRt15g", "n0oX65icbt4", "ry8AAFQwO-U", "1KPAD3URrFA", "ii1XRwxo04M", "jg0TYRxxYzQ", "8zv1MiJNXIk", "Z2jE4A-T2BU", "Zo9g-Mr4UXo", "qs7A7WPpjVU", ...] 12:46:04.329 [debug] QUERY OK source="media_items" db=7.9ms idle=281.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")))) [163] 12:46:04.332 [debug] QUERY OK source="tasks" db=0.3ms idle=11.8ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2191981, 163, ~U[2026-04-15 12:46:04Z], ~U[2026-04-15 12:46:04Z]] 12:46:04.333 [info] {"args":{"id":163},"id":2191947,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":293186,"event":"job:stop","queue_time":443904,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:46:05.062 [debug] Current batch of media processed. Will check again in 1000ms 12:46:05.069 [debug] Current batch of media processed. Will check again in 1000ms 12:46:06.063 [debug] Current batch of media processed. Will check again in 1000ms 12:46:06.070 [debug] Current batch of media processed. Will check again in 1000ms 12:46:07.064 [debug] Current batch of media processed. Will check again in 1000ms 12:46:07.071 [debug] Current batch of media processed. Will check again in 1000ms 12:46:08.065 [debug] Current batch of media processed. Will check again in 1000ms 12:46:08.072 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "", "duration" => 89, "filename" => "/downloads/shorts/عكاس/عكاس - 2026-01-04 - [meFq0h9kG20].mp4", "id" => "meFq0h9kG20", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/meFq0h9kG20", "playlist_index" => 13, "timestamp" => 1767552824, "title" => "عندك ضمير👁️؟ | يوسف #اكسبلور", "upload_date" => "20260104"} 12:46:08.072 [debug] QUERY OK source="sources" db=0.2ms idle=62.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" IN (?)) [380] 12:46:08.073 [debug] QUERY OK source="sources" db=0.1ms idle=62.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" = ?) [380] 12:46:08.073 [debug] QUERY OK source="media_items" db=0.3ms idle=63.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-04 18:53:44Z], 380] 12:46:08.074 [debug] QUERY OK source="media_items" db=0.7ms idle=63.6ms INSERT INTO "media_items" AS m0 ("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) 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" ["عندك ضمير👁️؟ | يوسف #اكسبلور", "007747bb-13ea-439f-8926-9270e5748096", 89, false, "meFq0h9kG20", "https://www.youtube.com/shorts/meFq0h9kG20", 13, "/downloads/shorts/عكاس/عكاس - 2026-01-04 - [meFq0h9kG20].mp4", false, false, true, 380, [], 98, ~U[2026-01-04 18:53:44Z], ~U[2026-04-15 12:46:08Z], ~U[2026-04-15 12:46:08Z], "", "عندك ضمير👁️؟ | يوسف #اكسبلور", 89, false, "meFq0h9kG20", "https://www.youtube.com/shorts/meFq0h9kG20", "/downloads/shorts/عكاس/عكاس - 2026-01-04 - [meFq0h9kG20].mp4", true, 380, ~U[2026-01-04 18:53:44Z]] 12:46:08.075 [debug] QUERY OK source="sources" db=0.2ms idle=37.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" = ?) [380] 12:46:08.075 [debug] QUERY OK source="media_profiles" db=0.3ms idle=2.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 12:46:08.076 [debug] QUERY OK source="media_items" db=0.4ms idle=2.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4630545] 12:46:08.076 [debug] Current batch of media processed. Will check again in 1000ms 12:46:09.066 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "", "duration" => 38, "filename" => "/downloads/shorts/Dana Cast/Dana Cast - 2024-12-16 - [HdnZVxowGv4].mp4", "id" => "HdnZVxowGv4", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/HdnZVxowGv4", "playlist_index" => 17, "timestamp" => 1734363656, "title" => "\"مو كل أم أم\" تتفقون مع صالح ؟ 🤔", "upload_date" => "20241216"} 12:46:09.066 [debug] QUERY OK source="sources" db=0.2ms idle=991.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" IN (?)) [377] 12:46:09.067 [debug] QUERY OK source="sources" db=0.1ms idle=991.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" = ?) [377] 12:46:09.067 [debug] QUERY OK source="media_items" db=0.4ms idle=991.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-12-16 15:40:56Z], 377] 12:46:09.069 [debug] QUERY OK source="media_items" db=0.8ms idle=992.1ms INSERT INTO "media_items" AS m0 ("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) 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" ["\"مو كل أم أم\" تتفقون مع صالح ؟ 🤔", "f959ce37-4f3e-4958-9658-19e55453f6ed", 38, false, "HdnZVxowGv4", "https://www.youtube.com/shorts/HdnZVxowGv4", 17, "/downloads/shorts/Dana Cast/Dana Cast - 2024-12-16 - [HdnZVxowGv4].mp4", false, false, true, 377, [], 98, ~U[2024-12-16 15:40:56Z], ~U[2026-04-15 12:46:09Z], ~U[2026-04-15 12:46:09Z], "", "\"مو كل أم أم\" تتفقون مع صالح ؟ 🤔", 38, false, "HdnZVxowGv4", "https://www.youtube.com/shorts/HdnZVxowGv4", "/downloads/shorts/Dana Cast/Dana Cast - 2024-12-16 - [HdnZVxowGv4].mp4", true, 377, ~U[2024-12-16 15:40:56Z]] 12:46:09.069 [debug] QUERY OK source="sources" db=0.3ms idle=30.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" = ?) [377] 12:46:09.070 [debug] QUERY OK source="media_profiles" db=0.3ms idle=3.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 12:46:09.071 [debug] QUERY OK source="media_items" db=0.4ms idle=3.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 [3907666] 12:46:09.071 [debug] Current batch of media processed. Will check again in 1000ms 12:46:09.077 [debug] Current batch of media processed. Will check again in 1000ms 12:46:10.072 [debug] Current batch of media processed. Will check again in 1000ms 12:46:10.078 [debug] Current batch of media processed. Will check again in 1000ms 12:46:11.073 [debug] Current batch of media processed. Will check again in 1000ms 12:46:11.079 [debug] Current batch of media processed. Will check again in 1000ms 12:46:11.770 [info] {"source":"oban","duration":18387,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:46:12.074 [debug] Current batch of media processed. Will check again in 1000ms 12:46:12.080 [debug] Current batch of media processed. Will check again in 1000ms 12:46:13.075 [debug] Current batch of media processed. Will check again in 1000ms 12:46:13.081 [debug] Current batch of media processed. Will check again in 1000ms 12:46:14.076 [debug] Current batch of media processed. Will check again in 1000ms 12:46:14.082 [debug] Current batch of media processed. Will check again in 1000ms 12:46:15.077 [debug] Current batch of media processed. Will check again in 1000ms 12:46:15.083 [debug] Current batch of media processed. Will check again in 1000ms 12:46:16.078 [debug] Current batch of media processed. Will check again in 1000ms 12:46:16.084 [debug] Current batch of media processed. Will check again in 1000ms 12:46:17.079 [debug] Current batch of media processed. Will check again in 1000ms 12:46:17.085 [debug] Current batch of media processed. Will check again in 1000ms 12:46:18.080 [debug] Current batch of media processed. Will check again in 1000ms 12:46:18.086 [debug] Current batch of media processed. Will check again in 1000ms 12:46:19.081 [debug] Current batch of media processed. Will check again in 1000ms 12:46:19.087 [debug] Current batch of media processed. Will check again in 1000ms 12:46:20.082 [debug] Current batch of media processed. Will check again in 1000ms 12:46:20.088 [debug] Current batch of media processed. Will check again in 1000ms 12:46:21.083 [debug] Current batch of media processed. Will check again in 1000ms 12:46:21.089 [debug] Current batch of media processed. Will check again in 1000ms 12:46:22.068 [info] {"args":{"id":391},"id":2191948,"meta":{},"system_time":1776257182068124476,"max_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:46:22.068 [debug] QUERY OK source="sources" db=0.2ms idle=1058.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" = ?) [391] 12:46:22.069 [debug] QUERY OK source="settings" db=0.2ms idle=1058.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:46:22.070 [debug] QUERY OK source="media_profiles" db=0.8ms idle=1010.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" = ?) [2] 12:46:22.070 [debug] QUERY OK source="settings" db=0.2ms idle=8.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:46:22.070 [debug] Fetching recent media IDs from YouTube API for playlist: UUqeCtPANEJ9yBQlEDmls7-g 12:46:22.070 [debug] QUERY OK source="settings" db=0.1ms idle=2.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:46:22.071 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 12:46:22.084 [debug] Current batch of media processed. Will check again in 1000ms 12:46:22.090 [debug] Current batch of media processed. Will check again in 1000ms 12:46:22.427 [debug] QUERY OK source="media_items" db=1.2ms idle=357.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [391, "fFGYg9Gv-PI", "Nz-IM8VFixQ", "CqBny6zVHgo", "gq4b-6y6fjg", "msNdXd-oH0g", "lKxykq3G-A0", "VUAkGy6N4AE", "YqObusJsgS8", "zm6eC_ly39Y", "9yEs_PiP91Y", "4FXTLipWWwo", "oS5oki_lq9U", "bFoaCNYCRJc", "_aMlBzxNdjs", "2ixudzh0OLs", "ABE_3uUXV5g", "PmdbLY-aHHQ", "2Nf3W31ARvI", "UzMQ9VNE9X4", "2BzFKxLtM5g", "k0BcDAp202Y", "AS8ZpSFzevg", "2lmcFhQukbI", "LBgXoEFhEZU", "ampWD1a4UJ8", "GwW4gaxsZ30", "Nt2W_LcRvHY", "A3owMXjvxow", "3mc8IV3hQcc", "5cFgzLZrLAQ", "p1NjYE-fBlI", "jvehHAuvLxw", "OyQUOPxRn38", "5uv3uK7cGgY", "jPQSSVZM7Rg", "rNu1K9oLo34", "0W-Y07_EURc", "L86F24V6J4Y", "0Mw6vu_ccZo", "mvnx10KZs2U", "KwtY240O9FE", "LihDSBkbZmQ", "2NSTkXZrUrU", "TQQqCfeebXs", "7l1F7EUEjiM", "_2vatrsVUxw", "c2wPUyxwoV4", "s_XgXgOzizM", "czocgai2km4", ...] 12:46:22.431 [debug] QUERY OK source="media_items" db=2.8ms idle=359.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")))) [391] 12:46:22.432 [debug] QUERY OK source="tasks" db=0.3ms idle=361.6ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2191982, 391, ~U[2026-04-15 12:46:22Z], ~U[2026-04-15 12:46:22Z]] 12:46:22.433 [info] {"args":{"id":391},"id":2191948,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":364940,"event":"job:stop","queue_time":376830,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:46:23.085 [debug] Current batch of media processed. Will check again in 1000ms 12:46:23.091 [debug] Current batch of media processed. Will check again in 1000ms 12:46:24.086 [debug] Current batch of media processed. Will check again in 1000ms 12:46:24.092 [debug] Current batch of media processed. Will check again in 1000ms 12:46:25.087 [debug] Current batch of media processed. Will check again in 1000ms 12:46:25.093 [debug] Current batch of media processed. Will check again in 1000ms 12:46:26.088 [debug] Current batch of media processed. Will check again in 1000ms 12:46:26.094 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "", "duration" => 106, "filename" => "/downloads/shorts/عكاس/عكاس - 2026-01-03 - [PKPSwUejL1E].mp4", "id" => "PKPSwUejL1E", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/PKPSwUejL1E", "playlist_index" => 14, "timestamp" => 1767476729, "title" => "تحليل #فرويد لـ #خالد_عبدالرحمن | الزبده #اكسبلور", "upload_date" => "20260103"} 12:46:26.094 [debug] QUERY OK source="sources" db=0.3ms idle=84.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" IN (?)) [380] 12:46:26.095 [debug] QUERY OK source="sources" db=0.1ms idle=84.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" = ?) [380] 12:46:26.095 [debug] QUERY OK source="media_items" db=0.3ms idle=85.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-03 21:45:29Z], 380] 12:46:26.097 [debug] QUERY OK source="media_items" db=0.7ms idle=85.9ms INSERT INTO "media_items" AS m0 ("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) 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" ["تحليل #فرويد لـ #خالد_عبدالرحمن | الزبده #اكسبلور", "78809faf-3410-4be2-917d-8250921c7a50", 106, false, "PKPSwUejL1E", "https://www.youtube.com/shorts/PKPSwUejL1E", 14, "/downloads/shorts/عكاس/عكاس - 2026-01-03 - [PKPSwUejL1E].mp4", false, false, true, 380, [], 98, ~U[2026-01-03 21:45:29Z], ~U[2026-04-15 12:46:26Z], ~U[2026-04-15 12:46:26Z], "", "تحليل #فرويد لـ #خالد_عبدالرحمن | الزبده #اكسبلور", 106, false, "PKPSwUejL1E", "https://www.youtube.com/shorts/PKPSwUejL1E", "/downloads/shorts/عكاس/عكاس - 2026-01-03 - [PKPSwUejL1E].mp4", true, 380, ~U[2026-01-03 21:45:29Z]] 12:46:26.097 [debug] QUERY OK source="sources" db=0.2ms idle=31.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" = ?) [380] 12:46:26.098 [debug] QUERY OK source="media_profiles" db=0.3ms queue=0.1ms idle=2.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 12:46:26.098 [debug] QUERY OK source="media_items" db=0.3ms idle=3.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 [4630547] 12:46:26.098 [debug] Current batch of media processed. Will check again in 1000ms 12:46:27.089 [debug] Current batch of media processed. Will check again in 1000ms 12:46:27.099 [debug] Current batch of media processed. Will check again in 1000ms 12:46:28.090 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "", "duration" => 54, "filename" => "/downloads/shorts/Dana Cast/Dana Cast - 2024-12-11 - [Nj4VrV3I804].mp4", "id" => "Nj4VrV3I804", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/Nj4VrV3I804", "playlist_index" => 18, "timestamp" => 1733930306, "title" => "صالح العليان | 11/12/2024 | الساعة ٨ م بتوقيت الكويت الموسم الثاني", "upload_date" => "20241211"} 12:46:28.090 [debug] QUERY OK source="sources" db=0.1ms idle=80.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [377] 12:46:28.090 [debug] QUERY OK source="sources" db=0.1ms idle=80.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" = ?) [377] 12:46:28.091 [debug] QUERY OK source="media_items" db=0.2ms idle=80.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-12-11 15:18:26Z], 377] 12:46:28.092 [debug] QUERY OK source="media_items" db=0.4ms idle=81.3ms INSERT INTO "media_items" AS m0 ("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) 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" ["صالح العليان | 11/12/2024 | الساعة ٨ م بتوقيت الكويت الموسم الثاني", "b60467b9-3d72-4485-bafb-821ac72bf87c", 54, false, "Nj4VrV3I804", "https://www.youtube.com/shorts/Nj4VrV3I804", 18, "/downloads/shorts/Dana Cast/Dana Cast - 2024-12-11 - [Nj4VrV3I804].mp4", false, false, true, 377, [], 98, ~U[2024-12-11 15:18:26Z], ~U[2026-04-15 12:46:28Z], ~U[2026-04-15 12:46:28Z], "", "صالح العليان | 11/12/2024 | الساعة ٨ م بتوقيت الكويت الموسم الثاني", 54, false, "Nj4VrV3I804", "https://www.youtube.com/shorts/Nj4VrV3I804", "/downloads/shorts/Dana Cast/Dana Cast - 2024-12-11 - [Nj4VrV3I804].mp4", true, 377, ~U[2024-12-11 15:18:26Z]] 12:46:28.092 [debug] QUERY OK source="sources" db=0.1ms idle=24.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [377] 12:46:28.092 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 12:46:28.093 [debug] QUERY OK source="media_items" db=0.2ms idle=2.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 [3907668] 12:46:28.093 [debug] Current batch of media processed. Will check again in 1000ms 12:46:28.100 [debug] Current batch of media processed. Will check again in 1000ms 12:46:29.094 [debug] Current batch of media processed. Will check again in 1000ms 12:46:29.101 [debug] Current batch of media processed. Will check again in 1000ms 12:46:30.095 [debug] Current batch of media processed. Will check again in 1000ms 12:46:30.102 [debug] Current batch of media processed. Will check again in 1000ms 12:46:31.096 [debug] Current batch of media processed. Will check again in 1000ms 12:46:31.103 [debug] Current batch of media processed. Will check again in 1000ms 12:46:32.097 [debug] Current batch of media processed. Will check again in 1000ms 12:46:32.104 [debug] Current batch of media processed. Will check again in 1000ms 12:46:33.098 [debug] Current batch of media processed. Will check again in 1000ms 12:46:33.105 [debug] Current batch of media processed. Will check again in 1000ms 12:46:34.099 [debug] Current batch of media processed. Will check again in 1000ms 12:46:34.106 [debug] Current batch of media processed. Will check again in 1000ms 12:46:35.014 [info] GET /sources/375/media/3907520 12:46:35.014 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "3907520", "prevent_download" => "true", "source_id" => "375"} Pipelines: [:browser] 12:46:35.014 [debug] QUERY OK source="media_items" db=0.2ms idle=1004.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" = ?) [3907520] 12:46:35.015 [debug] QUERY OK source="tasks" db=0.2ms idle=1005.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" [3907520] 12:46:35.015 [debug] QUERY OK source="sources" db=0.2ms idle=1005.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" = ?) [375] 12:46:35.016 [debug] QUERY OK source="settings" db=0.1ms idle=1005.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:46:35.016 [debug] QUERY OK source="settings" db=0.2ms idle=941.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:46:35.017 [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 [] 12:46:35.017 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 12:46:35.019 [info] Sent 200 in 5ms 12:46:35.100 [debug] Current batch of media processed. Will check again in 1000ms 12:46:35.107 [debug] Current batch of media processed. Will check again in 1000ms 12:46:36.101 [debug] Current batch of media processed. Will check again in 1000ms 12:46:36.108 [debug] Current batch of media processed. Will check again in 1000ms 12:46:37.102 [debug] Current batch of media processed. Will check again in 1000ms 12:46:37.109 [debug] Current batch of media processed. Will check again in 1000ms 12:46:38.103 [debug] Current batch of media processed. Will check again in 1000ms 12:46:38.110 [debug] Current batch of media processed. Will check again in 1000ms 12:46:39.104 [debug] Current batch of media processed. Will check again in 1000ms 12:46:39.111 [debug] Current batch of media processed. Will check again in 1000ms 12:46:40.105 [debug] Current batch of media processed. Will check again in 1000ms 12:46:40.112 [debug] Current batch of media processed. Will check again in 1000ms 12:46:41.106 [debug] Current batch of media processed. Will check again in 1000ms 12:46:41.113 [debug] Current batch of media processed. Will check again in 1000ms 12:46:41.789 [info] {"source":"oban","duration":17898,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:46:42.107 [debug] Current batch of media processed. Will check again in 1000ms 12:46:42.114 [debug] Current batch of media processed. Will check again in 1000ms 12:46:43.108 [debug] Current batch of media processed. Will check again in 1000ms 12:46:43.115 [debug] Current batch of media processed. Will check again in 1000ms 12:46:44.109 [debug] Current batch of media processed. Will check again in 1000ms 12:46:44.116 [debug] Current batch of media processed. Will check again in 1000ms 12:46:45.110 [debug] Current batch of media processed. Will check again in 1000ms 12:46:45.117 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "", "duration" => 50, "filename" => "/downloads/shorts/عكاس/عكاس - 2025-12-25 - [7z80r-J8-is].mp4", "id" => "7z80r-J8-is", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/7z80r-J8-is", "playlist_index" => 15, "timestamp" => 1766682476, "title" => "مستعد تخسر اهلك👀؟ | حلقة جديدة من برنامج #يوسف", "upload_date" => "20251225"} 12:46:45.117 [debug] QUERY OK source="sources" db=0.2ms idle=107.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [380] 12:46:45.118 [debug] QUERY OK source="sources" db=0.1ms idle=107.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" = ?) [380] 12:46:45.118 [debug] QUERY OK source="media_items" db=0.4ms idle=108.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-25 17:07:56Z], 380] 12:46:45.119 [debug] QUERY OK source="media_items" db=0.7ms idle=108.7ms INSERT INTO "media_items" AS m0 ("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) 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" ["مستعد تخسر اهلك👀؟ | حلقة جديدة من برنامج #يوسف", "c7a7073f-598c-480f-9f4b-9e3752858619", 50, false, "7z80r-J8-is", "https://www.youtube.com/shorts/7z80r-J8-is", 15, "/downloads/shorts/عكاس/عكاس - 2025-12-25 - [7z80r-J8-is].mp4", false, false, true, 380, [], 98, ~U[2025-12-25 17:07:56Z], ~U[2026-04-15 12:46:45Z], ~U[2026-04-15 12:46:45Z], "", "مستعد تخسر اهلك👀؟ | حلقة جديدة من برنامج #يوسف", 50, false, "7z80r-J8-is", "https://www.youtube.com/shorts/7z80r-J8-is", "/downloads/shorts/عكاس/عكاس - 2025-12-25 - [7z80r-J8-is].mp4", true, 380, ~U[2025-12-25 17:07:56Z]] 12:46:45.120 [debug] QUERY OK source="sources" db=0.3ms idle=32.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" = ?) [380] 12:46:45.120 [debug] QUERY OK source="media_profiles" db=0.2ms 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" = ?) [2] 12:46:45.121 [debug] QUERY OK source="media_items" db=0.3ms idle=3.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 [4630549] 12:46:45.121 [debug] Current batch of media processed. Will check again in 1000ms 12:46:46.111 [debug] Current batch of media processed. Will check again in 1000ms 12:46:46.122 [debug] Current batch of media processed. Will check again in 1000ms 12:46:47.112 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "", "duration" => 17, "filename" => "/downloads/shorts/Dana Cast/Dana Cast - 2024-12-09 - [CGHHk7LcfSY].mp4", "id" => "CGHHk7LcfSY", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/CGHHk7LcfSY", "playlist_index" => 19, "timestamp" => 1733756549, "title" => "رائد أعمل ناجح ، تتوقعون منو ضيف الحلقة ؟! #بودكاست #ترند #تحفيز", "upload_date" => "20241209"} 12:46:47.112 [debug] QUERY OK source="sources" db=0.2ms idle=102.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" IN (?)) [377] 12:46:47.113 [debug] QUERY OK source="sources" db=0.2ms idle=102.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" = ?) [377] 12:46:47.114 [debug] QUERY OK source="media_items" db=0.4ms idle=103.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-12-09 15:02:29Z], 377] 12:46:47.115 [debug] QUERY OK source="media_items" db=0.8ms idle=104.0ms INSERT INTO "media_items" AS m0 ("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) 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" ["رائد أعمل ناجح ، تتوقعون منو ضيف الحلقة ؟! #بودكاست #ترند #تحفيز", "e80bfa26-e78a-4746-ba3d-4b18cc30a718", 17, false, "CGHHk7LcfSY", "https://www.youtube.com/shorts/CGHHk7LcfSY", 19, "/downloads/shorts/Dana Cast/Dana Cast - 2024-12-09 - [CGHHk7LcfSY].mp4", false, false, true, 377, [], 98, ~U[2024-12-09 15:02:29Z], ~U[2026-04-15 12:46:47Z], ~U[2026-04-15 12:46:47Z], "", "رائد أعمل ناجح ، تتوقعون منو ضيف الحلقة ؟! #بودكاست #ترند #تحفيز", 17, false, "CGHHk7LcfSY", "https://www.youtube.com/shorts/CGHHk7LcfSY", "/downloads/shorts/Dana Cast/Dana Cast - 2024-12-09 - [CGHHk7LcfSY].mp4", true, 377, ~U[2024-12-09 15:02:29Z]] 12:46:47.116 [debug] QUERY OK source="sources" db=0.3ms idle=24.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" = ?) [377] 12:46:47.116 [debug] QUERY OK source="media_profiles" db=0.3ms idle=3.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 12:46:47.117 [debug] QUERY OK source="media_items" db=0.4ms idle=3.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 [3907670] 12:46:47.117 [debug] Current batch of media processed. Will check again in 1000ms 12:46:47.123 [debug] Current batch of media processed. Will check again in 1000ms 12:46:48.118 [debug] Current batch of media processed. Will check again in 1000ms 12:46:48.124 [debug] Current batch of media processed. Will check again in 1000ms 12:46:49.119 [debug] Current batch of media processed. Will check again in 1000ms 12:46:49.125 [debug] Current batch of media processed. Will check again in 1000ms 12:46:50.120 [debug] Current batch of media processed. Will check again in 1000ms 12:46:50.126 [debug] Current batch of media processed. Will check again in 1000ms 12:46:51.121 [debug] Current batch of media processed. Will check again in 1000ms 12:46:51.127 [debug] Current batch of media processed. Will check again in 1000ms 12:46:52.122 [debug] Current batch of media processed. Will check again in 1000ms 12:46:52.128 [debug] Current batch of media processed. Will check again in 1000ms 12:46:53.105 [info] {"args":{"id":443},"id":2191949,"meta":{},"system_time":1776257213105033808,"max_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:46:53.105 [debug] QUERY OK source="sources" db=0.4ms idle=95.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" = ?) [443] 12:46:53.106 [debug] QUERY OK source="settings" db=0.3ms idle=95.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:46:53.106 [debug] QUERY OK source="media_profiles" db=0.3ms idle=96.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" = ?) [2] 12:46:53.107 [debug] QUERY OK source="settings" db=0.2ms idle=8.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:46:53.107 [debug] Fetching recent media IDs from YouTube API for playlist: UUokgtRLAWKNPdfFMaSfLLbA 12:46:53.107 [debug] QUERY OK source="settings" db=0.1ms idle=2.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:46:53.107 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 12:46:53.123 [debug] Current batch of media processed. Will check again in 1000ms 12:46:53.129 [debug] Current batch of media processed. Will check again in 1000ms 12:46:54.105 [info] {"args":{"id":546},"id":2191950,"meta":{},"system_time":1776257214105527006,"max_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:46:54.105 [debug] QUERY OK source="sources" db=0.2ms idle=998.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" = ?) [546] 12:46:54.106 [debug] QUERY OK source="settings" db=0.1ms idle=998.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:46:54.106 [debug] QUERY OK source="media_profiles" db=0.2ms idle=998.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" = ?) [2] 12:46:54.106 [debug] QUERY OK source="settings" db=0.2ms idle=6.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:46:54.106 [debug] Fetching recent media IDs from YouTube API for playlist: UU452L96EaYLzAYTPAiRxKdA 12:46:54.107 [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 [] 12:46:54.107 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 12:46:54.124 [debug] Current batch of media processed. Will check again in 1000ms 12:46:54.130 [debug] Current batch of media processed. Will check again in 1000ms 12:46:55.125 [debug] Current batch of media processed. Will check again in 1000ms 12:46:55.131 [debug] Current batch of media processed. Will check again in 1000ms 12:46:55.937 [debug] QUERY OK source="media_items" db=1.1ms idle=1830.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [443, "oD-QZSfOI5A", "2soSOj0KGN0", "nAbiXWcpC5k", "J6kw_Nka17Y", "e2IoGqWTX8s", "dtlPPLkCuG8", "ccc4EZfwyqg", "ZmemsVJRu3Q", "gVuzK2MUOy4", "jhtGF0DU-Us", "tdPeRTfPFug", "mYofjcnyeZM", "0tqpzvckxgU", "wp_lVw_Oemk", "_MQ322eFiM0", "PmpzFSPZmcU", "AZayZGnlOoc", "BDtCrgf6F6g", "e_3gcTBQa78", "TG58k-2U2wg", "Yf_zge2tHiw", "F7NHQ1rTVBw", "AZdFVvLhnbM", "1FJr-Rvlzfo", "-Uwz227DOXg", "xxBXGpIGDaU", "hZ4RSjsanf4", "CWuLASH1Hhg", "kxgmWGaaTSE", "p1mr39aRY1Q", "pFt6iqIug-E", "9n541lBjlso", "H8K-OVUzBP8", "UXtrfCEOPH0", "Tq6kuWhxY3k", "4sprHamH6sc", "wFO9Uo-aJJg", "M2goEYlN7wk", "6BH-hprkaBQ", "ZaVNjCXFcaQ", "__hPb3e-FK4", "Jxlr2hKwrys", "A6eWc8_bZtg", "ttgiRMWbm_s", "ENWcWveBkno", "8SU8mWL61Ek", "tcRaHb7HmAA", "o0aTw6Mv7lQ", "bbiAmRgZS1I", ...] 12:46:55.941 [debug] QUERY OK source="media_items" db=2.8ms idle=1832.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")))) [443] 12:46:55.943 [debug] QUERY OK source="tasks" db=0.3ms idle=842.0ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2191983, 443, ~U[2026-04-15 12:46:55Z], ~U[2026-04-15 12:46:55Z]] 12:46:55.944 [info] {"args":{"id":443},"id":2191949,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":2838558,"event":"job:stop","queue_time":355337,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:46:55.951 [info] {"args":{"id":408},"id":2191951,"meta":{},"system_time":1776257215951020454,"max_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:46:55.951 [debug] QUERY OK source="sources" db=0.2ms idle=8.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [408] 12:46:55.952 [debug] QUERY OK source="settings" db=0.2ms idle=8.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:46:55.952 [debug] QUERY OK source="media_profiles" db=0.2ms idle=8.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 12:46:55.952 [debug] QUERY OK source="settings" db=0.2ms idle=8.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:46:55.952 [debug] Fetching recent media IDs from YouTube API for playlist: UUN1b55nEWSpUH4dkJDbu24A 12:46:55.953 [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 [] 12:46:55.953 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 12:46:56.126 [debug] Current batch of media processed. Will check again in 1000ms 12:46:56.132 [debug] Current batch of media processed. Will check again in 1000ms 12:46:56.176 [debug] QUERY OK source="media_items" db=1.2ms idle=223.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [546, "0d-Eo3MZIdo", "BH4YCJqDYlA", "_w6Dd9BP0C0", "euW7khacvEo", "WgBJZ1Ubsg0", "oE0vCmcN28s", "_mzQ8upmuMY", "1ypIFJz3jJw", "4ru4RjSiB98", "uMOtAsS4J3s", "Lt2M-jITUTg", "VVPOeq8vXtE", "U3zq72vSJog", "a947nJ7-Lvo", "U33HbFNz36o", "-wREg8baf4o", "f3AaiD26a6E", "cqxY60ckd9A", "o2kjrw3-kw8", "ekvQ83S0DAw", "D_Aw3z4ylsQ", "t7PTzeBUNeQ", "SeoEbrN765M", "lylZY9I_56U", "SH8Lz4NVxTc", "xX64EASCs8M", "PKrKsVzBbII", "wqU5gyoow7M", "eretrY5pnxQ", "SA0-0otEkfc", "pYj3D7t1QFk", "e8sKRE9Yt9U", "1ctTT71N7Ns", "19xtndufa6A", "WNLkyQFf4pM", "rqxHc4SgmUk", "21K3bNCgS-U", "-ybA8ZTcqcU", "gxZJ9yJjg_4", "CBk6n38J9bg", "oh5f3m8vsrs", "hMemXKyyX1o", "0sLgTRmSxII", "QDiGH9BiMwQ", "iAD8eVw6fSw", "VMCnDLDWz3A", "qivkxMSnNZc", "teq8bduREw8", "WC_DtGlrP-A", ...] 12:46:56.182 [debug] QUERY OK source="media_items" db=4.4ms idle=225.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [546] 12:46:56.184 [debug] QUERY OK source="tasks" db=0.3ms idle=80.7ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2191984, 546, ~U[2026-04-15 12:46:56Z], ~U[2026-04-15 12:46:56Z]] 12:46:56.184 [info] {"args":{"id":546},"id":2191950,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":2078687,"event":"job:stop","queue_time":898733,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:46:56.191 [info] {"args":{"id":256},"id":2191952,"meta":{},"system_time":1776257216191213369,"max_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:46:56.191 [debug] QUERY OK source="sources" db=0.2ms idle=7.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [256] 12:46:56.192 [debug] QUERY OK source="settings" db=0.2ms idle=8.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:46:56.192 [debug] QUERY OK source="media_profiles" db=0.2ms idle=8.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 12:46:56.193 [debug] QUERY OK source="settings" db=0.2ms idle=8.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:46:56.193 [debug] Fetching recent media IDs from YouTube API for playlist: UUKjuhDegX8XdpWCr6nvNHzA 12:46:56.193 [debug] QUERY OK source="settings" db=0.1ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:46:56.193 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 12:46:56.426 [debug] QUERY OK source="media_items" db=1.1ms idle=233.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [408, "60snLY1vA0E", "8pAhbBu7gEQ", "HdrrxdODQAA", "xKT3ecAfmFA", "YZO95dUHz3c", "Mp74vJFHTXM", "kJHttBFZxF0", "DmR_cT-8-hc", "SF2w4WoIFiM", "q_i5Q_JuqV8", "Ndx_mqpAlLE", "Ig5moNWc6Vg", "Kk40lncizgI", "ZcCyOkXZVjM", "c5LyWHDR8T8", "hMlhSujkKkk", "HSjwF2XIJdw", "_G5Eiyr8Qlo", "v7-lX7mNJ68", "HudMuosHMlo", "GKFSWYSGAoc", "svWkISzIjE4", "GrL4eRQxzcY", "1k3BfSt7mFI", "iyQOowSy4A8", "_wBp4fwp64E", "UcnxU-Nvp5o", "IKICkr0QDOg", "UKwdbZm6vWI", "95n7T6LSGTY", "x44wBLwVhQM", "NFTaRxu7pug", "a7SCBCJ4XIs", "BRFviE90sMY", "MgkuBaYfHLs", "KlJXxAtvjK0", "Wn-63J_jbSA", "dXXm7I0L8Dg", "kPnJgT8MklY", "vxA2Q_mrji4", "m-5OapnOgFM", "akPHdyMUl5M", "Zt6xVHfqseQ", "mk6FncB9cAA", "sbdzFS0t1zg", "BbTzZQTIwwg", "SZrqUGh_TbQ", "TXZpfFC90NQ", "SKo3F9Mr8ac", ...] 12:46:56.428 [debug] QUERY OK source="media_items" db=0.5ms idle=235.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")))) [408] 12:46:56.429 [debug] QUERY OK source="tasks" db=0.2ms idle=235.9ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2191985, 408, ~U[2026-04-15 12:46:56Z], ~U[2026-04-15 12:46:56Z]] 12:46:56.430 [info] {"args":{"id":408},"id":2191951,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":478896,"event":"job:stop","queue_time":2504525,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:46:56.437 [info] {"args":{"id":176},"id":2191953,"meta":{},"system_time":1776257216436934693,"max_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:46:56.437 [debug] QUERY OK source="sources" db=0.3ms idle=8.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [176] 12:46:56.438 [debug] QUERY OK source="settings" db=0.2ms idle=8.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:46:56.438 [debug] QUERY OK source="media_profiles" db=0.2ms idle=8.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 12:46:56.438 [debug] QUERY OK source="settings" db=0.2ms idle=8.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:46:56.439 [debug] Fetching recent media IDs from YouTube API for playlist: UU6F-j9LyXIK_zXY0gbYRjog 12:46:56.439 [debug] QUERY OK source="settings" db=0.1ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:46:56.439 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 12:46:56.721 [debug] QUERY OK source="media_items" db=1.2ms idle=282.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [256, "DWUkU2XDaoQ", "bVd27otzkEo", "F401cxKw1uU", "V87j3RfYskI", "RTSIfcIPHZ4", "r-6bh8Odx3k", "iEMNXXVqx7k", "2oeIvbhGdss", "sqk9bSoEIi0", "tw7_JSncn18", "Wyve63135Fk", "xOlkugUCHIQ", "ZOg-UTcOWUI", "tEwCDo5sX-g", "fJMNv2rp3Ws", "_TsErXjEPo0", "aRzn7h73ScM", "foX-0CXMqzc", "OrIJDRZ5yck", "vIY1jM73Wv8", "wk0VqC_Dp3U", "6CT5F2T1kuk", "WHEKWr_ikX0", "Nku_tw_1kfE", "x0x_PkTgmTY", "yd3ttzfK_d8", "qrLjOFq4CXQ", "TQOZbpfSpxY", "2KcmeqRBAe0", "RZ7eKXOcDZA", "fyLOfjJj4cU", "-tkxtoUZNb0", "0dLV8wNyw-k", "59Gjb5NFDVQ", "Txw1JLPYcmY", "H5BLR4XliT0", "g43xxBSEsWk", "ZBSrSI_ZUgc", "PI6qDflxIQg", "wHPDU9EoILs", "3QbyJoTM7VY", "PFckr4gh1BA", "qvU1PKff_sM", "sJzJsaWL88U", "gY9uPzofHhk", "uRXFS29DGLM", "RvxT0XEbgAg", "N3SukH8PqzM", "9hfJK_HQqho", ...] 12:46:56.724 [debug] QUERY OK source="media_items" db=1.1ms idle=284.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")))) [256] 12:46:56.726 [debug] QUERY OK source="tasks" db=0.3ms idle=4.9ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2191986, 256, ~U[2026-04-15 12:46:56Z], ~U[2026-04-15 12:46:56Z]] 12:46:56.727 [info] {"args":{"id":256},"id":2191952,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":535561,"event":"job:stop","queue_time":2441598,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:46:57.045 [debug] QUERY OK source="media_items" db=1.2ms idle=318.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [176, "VrP9i5gRFmM", "WEoJyqjOLDs", "V3MNyEwmqr8", "qhNxSY35WZU", "rkb-6qjO3YM", "r_NzVN4OmIs", "YTpf0mOXNrI", "oNyFz82BVzY", "rK_Mp0leQUk", "rOIPOkqFo4o", "s-yFsryoeeA", "vHIVeqvO4aQ", "knyKlUZIwYQ", "irSIienUQd4", "eM9SB2Ny8lc", "vqZ6zySlGOU", "UdkGF_z3Aks", "ZPeBeS87EeI", "s7Ajz6YL2ZE", "rWmx74av4x4", "tNXj29ZS0VY", "oISdxagKMBI", "RVo_ar7OSDk", "dFcdYCKkc3Q", "jJmOjPGDdHQ", "uNFmnch6DkU", "agDEZAVDYAU", "I-sJTe9u0j4", "v8e_tW3NX0Y", "qGe25_jFNQ0", "0pMIwYMKE9w", "5ZYWspIqYLw", "vHH0LheJQFs", "VFlYnIQiIUo", "xQtI8cE7Igc", "cDH4cPa7XJM", "6F93shePog0", "Vn0A4aUTSbY", "yU0CccqqaX0", "tEEfMkbYfUY", "8DRBW9BERJM", "Mo6Z427HkdA", "C_hN-U1qgUo", "ACz-TF_Ln-w", "EvO9y5iGN-U", "tqH-9fmPdI0", "DnW4gL41yQc", "VDVDUOJgS9s", "0_mxyqK3sDk", ...] 12:46:57.047 [debug] QUERY OK source="media_items" db=0.7ms idle=320.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")))) [176] 12:46:57.049 [debug] QUERY OK source="tasks" db=0.2ms idle=315.0ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2191987, 176, ~U[2026-04-15 12:46:57Z], ~U[2026-04-15 12:46:57Z]] 12:46:57.049 [info] {"args":{"id":176},"id":2191953,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":612425,"event":"job:stop","queue_time":2434132,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:46:57.127 [debug] Current batch of media processed. Will check again in 1000ms 12:46:57.133 [debug] Current batch of media processed. Will check again in 1000ms 12:46:58.128 [debug] Current batch of media processed. Will check again in 1000ms 12:46:58.134 [debug] Current batch of media processed. Will check again in 1000ms 12:46:59.129 [debug] Current batch of media processed. Will check again in 1000ms 12:46:59.135 [debug] Current batch of media processed. Will check again in 1000ms 12:47:00.130 [debug] Current batch of media processed. Will check again in 1000ms 12:47:00.136 [debug] Current batch of media processed. Will check again in 1000ms 12:47:00.823 [info] {"source":"oban","duration":209,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:47:01.116 [info] {"args":{"id":548},"id":2191954,"meta":{},"system_time":1776257221116042994,"max_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:47:01.116 [debug] QUERY OK source="sources" db=0.2ms idle=106.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" = ?) [548] 12:47:01.117 [debug] QUERY OK source="settings" db=0.2ms idle=106.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:47:01.117 [debug] QUERY OK source="media_profiles" db=0.2ms idle=107.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" = ?) [2] 12:47:01.118 [debug] QUERY OK source="settings" db=0.2ms idle=8.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:47:01.118 [debug] Fetching recent media IDs from YouTube API for playlist: UUKIe0D8roD7OIY6GUZey4kA 12:47:01.118 [debug] QUERY OK source="settings" db=0.1ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:47:01.118 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 12:47:01.131 [debug] Current batch of media processed. Will check again in 1000ms 12:47:01.137 [debug] Current batch of media processed. Will check again in 1000ms 12:47:01.460 [debug] QUERY OK source="media_items" db=1.3ms idle=342.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [548, "PfYHk-vjB_A", "2BuBWoUgyqk", "AAe4lJr8LMM", "f6a1cd0qIxk", "8CazQzCY3t4", "k_P0qA3sX5U", "sXQ4VA_qjEY", "Dp250ZKHJvk", "mPyaYSsntuQ", "fTqrxHYDV5I", "3sQXejmW6wI", "XJMyqh9XYjY", "lU_i_QnA1S4", "P2CObeRek_k", "UwhNyYKx5X0", "428okyYmv44", "6fqMb-oK-Xg", "mHjmfW7C5Uo", "bat3ptnzuc8", "ELACjXyUUtw", "IRUYXKvvbXU", "U8eH_biTWGw", "S5ontcrzHhU", "zybPVOUlIqM", "YjgY6OmtJLs", "dmyIkdPaWP8", "zlieCi6Tfsg", "5IgGWjGjOZc", "JR2faI1-OQU", "kpdNGZo3xQs", "L5VHg61PP5c", "HqM_WjUA12o", "bJgA5PhNu8M", "u4HpsaGxe_A", "wdJNBZvvtmA", "6nDTPvnPiy0", "LWpibL8P5B8", "F4eYz8hOg2g", "Vga4Xk3lkn0", "IWOLQphzwqA", "nKeMdr6iVts", "O29G6yd4URM", "m5qGxBjn1KM", "IYYcLFicyM8", "PfB9Sc92vYA", "ofLrgtXQLq4", "2cpOCFmVcvw", "KSbDk4A_DWc", "g2MNyRTZXIc", ...] 12:47:01.462 [debug] QUERY OK source="media_items" db=1.3ms idle=344.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")))) [548] 12:47:01.464 [debug] QUERY OK source="tasks" db=0.3ms idle=345.9ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2191988, 548, ~U[2026-04-15 12:47:01Z], ~U[2026-04-15 12:47:01Z]] 12:47:01.465 [info] {"args":{"id":548},"id":2191954,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":348796,"event":"job:stop","queue_time":388096,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:47:02.117 [info] {"args":{"id":116},"id":2191955,"meta":{},"system_time":1776257222117855976,"max_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:47:02.118 [debug] QUERY OK source="sources" db=0.3ms idle=653.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" = ?) [116] 12:47:02.118 [debug] QUERY OK source="settings" db=0.1ms idle=653.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:47:02.119 [debug] QUERY OK source="media_profiles" db=0.1ms idle=647.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" = ?) [2] 12:47:02.119 [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 [] 12:47:02.119 [debug] Fetching recent media IDs from YouTube API for playlist: UU4vo6vxydWDmBa84KMKhiXw 12:47:02.119 [debug] QUERY OK source="settings" db=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 [] 12:47:02.119 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 12:47:02.132 [debug] Current batch of media processed. Will check again in 1000ms 12:47:02.138 [debug] Current batch of media processed. Will check again in 1000ms 12:47:02.654 [debug] QUERY OK source="media_items" db=1.2ms idle=534.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [116, "678MQRWDzLE", "kfMP1FlsZ-Y", "IB-kOvrzKX8", "TdtuOizJSew", "AQUU0tZDwfI", "Wn3MRd9Wuro", "S7DdtEy9Jgg", "CV5yz6G2Z9w", "q36ovsRziNo", "odjn_S9EIdQ", "FSsKyw-iEzY", "wjMtWMa1A80", "ABWJtxsG3eU", "k4XabFYYE7Q", "5pfiBaTNIsQ", "zRDynSEI6Fk", "iD1AGYL4bR0", "t-8_25lfMJM", "Oe_TXmyWqJ8", "0NzC4S1dgM0", "9cULliuD6nE", "EDO5ReEwdio", "XdeqVSzgy2U", "TTAXcbQpEaE", "ECAr_67wdPM", "LLacJ65FK6Y", "muI5rDkVn3A", "EbMCcAmbOOo", "IkKAj4Ki2sc", "SSGgoLGe4tY", "BT7x8jDjP_0", "duHnTnv43l8", "qWRjcOH3A38", "sZeBxpZHl_8", "269E9Qg_TJ8", "K5TDrxiDhmg", "phQpyBEcPbM", "y20UfhdVbKY", "ProjJh_PVb4", "U35NNywKWkw", "HvjbSZ1jNpQ", "ab3H7nqA4iQ", "8Fg9GartJlE", "52y4kIvGb5s", "Q8yBHGBwAnc", "rFtQq4npWC4", "5LTTw4DBUwQ", "IhN1EwbuSJE", "wIZyMQGpzEs", ...] 12:47:02.661 [debug] QUERY OK source="media_items" db=6.2ms idle=536.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")))) [116] 12:47:02.662 [debug] QUERY OK source="tasks" db=0.3ms idle=542.8ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2191989, 116, ~U[2026-04-15 12:47:02Z], ~U[2026-04-15 12:47:02Z]] 12:47:02.663 [info] {"args":{"id":116},"id":2191955,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":545154,"event":"job:stop","queue_time":190648,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:47:03.133 [debug] Current batch of media processed. Will check again in 1000ms 12:47:03.139 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "", "duration" => 83, "filename" => "/downloads/shorts/عكاس/عكاس - 2025-12-13 - [c7AJwphJSkk].mp4", "id" => "c7AJwphJSkk", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/c7AJwphJSkk", "playlist_index" => 16, "timestamp" => 1765650418, "title" => "حلقة جديدة من برنامج #يوسف ، مميزات الخطر! #اكسبلور", "upload_date" => "20251213"} 12:47:03.140 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=477.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" IN (?)) [380] 12:47:03.140 [debug] QUERY OK source="sources" db=0.3ms idle=477.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" = ?) [380] 12:47:03.141 [debug] QUERY OK source="media_items" db=0.4ms idle=477.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-13 18:26:58Z], 380] 12:47:03.142 [debug] QUERY OK source="media_items" db=0.7ms idle=471.4ms INSERT INTO "media_items" AS m0 ("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) 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" ["حلقة جديدة من برنامج #يوسف ، مميزات الخطر! #اكسبلور", "4008e6aa-e65b-4427-8316-1578eb30c568", 83, false, "c7AJwphJSkk", "https://www.youtube.com/shorts/c7AJwphJSkk", 16, "/downloads/shorts/عكاس/عكاس - 2025-12-13 - [c7AJwphJSkk].mp4", false, false, true, 380, [], 98, ~U[2025-12-13 18:26:58Z], ~U[2026-04-15 12:47:03Z], ~U[2026-04-15 12:47:03Z], "", "حلقة جديدة من برنامج #يوسف ، مميزات الخطر! #اكسبلور", 83, false, "c7AJwphJSkk", "https://www.youtube.com/shorts/c7AJwphJSkk", "/downloads/shorts/عكاس/عكاس - 2025-12-13 - [c7AJwphJSkk].mp4", true, 380, ~U[2025-12-13 18:26:58Z]] 12:47:03.143 [debug] QUERY OK source="sources" db=0.3ms idle=29.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" = ?) [380] 12:47:03.143 [debug] QUERY OK source="media_profiles" db=0.3ms idle=3.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 12:47:03.144 [debug] QUERY OK source="media_items" db=0.4ms idle=3.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4630551] 12:47:03.144 [debug] Current batch of media processed. Will check again in 1000ms 12:47:04.134 [debug] Current batch of media processed. Will check again in 1000ms 12:47:04.145 [debug] Current batch of media processed. Will check again in 1000ms 12:47:05.062 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@Danacas_t/shorts --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/shorts/Dana Cast/Dana Cast - %(upload_date>%Y-%m-%d)S - [%(id)S].%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --break-on-existing --download-archive /tmp/pinchflat/data/6f/64/6f6490a43cb59ff35d8f515408858e67988490a7aed4c17e74c6c48059dbcd67.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/bf/66/bf662277d1d8fd888137d5e697964832d841a025e361a6975f511bd02d6b8851.json --cookies /config/extras/cookies.txt --sleep-requests 5 --sleep-interval 4 --sleep-subtitles 5 --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 101 with: 12:47:05.063 [debug] Gracefully stopping file follower 12:47:05.063 [debug] QUERY OK source="sources" db=0.2ms idle=948.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" IN (?)) [377] 12:47:05.064 [debug] QUERY OK source="sources" db=0.1ms idle=54.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" = ?) [377] 12:47:05.064 [debug] QUERY OK source="media_items" db=0.3ms idle=54.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-07-08 18:25:39Z], 377] 12:47:05.065 [debug] QUERY OK source="media_items" db=0.5ms idle=54.9ms INSERT INTO "media_items" AS m0 ("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) 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" ["8 July 2025", "ea0b45ef-67b1-4acb-8afa-14b0be538730", 26, false, "LYnzNuP2H8o", "https://www.youtube.com/shorts/LYnzNuP2H8o", 1, "/downloads/shorts/Dana Cast/Dana Cast - 2025-07-08 - [LYnzNuP2H8o].mp4", false, false, true, 377, [], 98, ~U[2025-07-08 18:25:39Z], ~U[2026-04-15 12:47:05Z], ~U[2026-04-15 12:47:05Z], "", "8 July 2025", 26, false, "LYnzNuP2H8o", "https://www.youtube.com/shorts/LYnzNuP2H8o", "/downloads/shorts/Dana Cast/Dana Cast - 2025-07-08 - [LYnzNuP2H8o].mp4", true, 377, ~U[2025-07-08 18:25:39Z]] 12:47:05.066 [debug] QUERY OK source="sources" db=0.3ms idle=55.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" = ?) [377] 12:47:05.066 [debug] QUERY OK source="media_items" db=0.4ms idle=2.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-05-27 16:44:01Z], 377] 12:47:05.067 [debug] QUERY OK source="media_items" db=0.6ms idle=2.7ms INSERT INTO "media_items" AS m0 ("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) 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" ["Dana Cast Season 3 | Stay Tuned 🔥", "82cc6b65-2a89-4785-b3c8-9a9341640f99", 24, false, "jtAvo-8tkT0", "https://www.youtube.com/shorts/jtAvo-8tkT0", 2, "/downloads/shorts/Dana Cast/Dana Cast - 2025-05-27 - [jtAvo-8tkT0].mp4", false, false, true, 377, [], 98, ~U[2025-05-27 16:44:01Z], ~U[2026-04-15 12:47:05Z], ~U[2026-04-15 12:47:05Z], "", "Dana Cast Season 3 | Stay Tuned 🔥", 24, false, "jtAvo-8tkT0", "https://www.youtube.com/shorts/jtAvo-8tkT0", "/downloads/shorts/Dana Cast/Dana Cast - 2025-05-27 - [jtAvo-8tkT0].mp4", true, 377, ~U[2025-05-27 16:44:01Z]] 12:47:05.068 [debug] QUERY OK source="sources" db=0.2ms 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" = ?) [377] 12:47:05.068 [debug] QUERY OK source="media_items" db=0.4ms idle=2.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-02-22 17:32:17Z], 377] 12:47:05.069 [debug] QUERY OK source="media_items" db=0.6ms idle=2.7ms INSERT INTO "media_items" AS m0 ("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) 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" ["اصعب شي بالدنيا فقدان الام 💔 #بودكاست #danacast #اكسبلور #whowillbemylifepartnerta", "62ad9311-b693-40f6-a8f6-6b60473894ff", 24, false, "qnppFRwLfM4", "https://www.youtube.com/shorts/qnppFRwLfM4", 3, "/downloads/shorts/Dana Cast/Dana Cast - 2025-02-22 - [qnppFRwLfM4].mp4", false, false, true, 377, [], 98, ~U[2025-02-22 17:32:17Z], ~U[2026-04-15 12:47:05Z], ~U[2026-04-15 12:47:05Z], "", "اصعب شي بالدنيا فقدان الام 💔 #بودكاست #danacast #اكسبلور #whowillbemylifepartnerta", 24, false, "qnppFRwLfM4", "https://www.youtube.com/shorts/qnppFRwLfM4", "/downloads/shorts/Dana Cast/Dana Cast - 2025-02-22 - [qnppFRwLfM4].mp4", true, 377, ~U[2025-02-22 17:32:17Z]] 12:47:05.070 [debug] QUERY OK source="sources" db=0.2ms 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" = ?) [377] 12:47:05.070 [debug] QUERY OK source="media_items" db=0.3ms idle=2.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-02-21 17:16:32Z], 377] 12:47:05.072 [debug] QUERY OK source="media_items" db=1.0ms idle=2.9ms INSERT INTO "media_items" AS m0 ("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) 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" ["هالمشاعر قادرة تاكد لنا ان الدنيا فيها خير ❤️ #بودكاست #مرضيه #danacast #اكسبلور", "8faff480-1af8-45f6-a521-e21c70384235", 30, false, "mIFXL20N2jo", "https://www.youtube.com/shorts/mIFXL20N2jo", 4, "/downloads/shorts/Dana Cast/Dana Cast - 2025-02-21 - [mIFXL20N2jo].mp4", false, false, true, 377, [], 98, ~U[2025-02-21 17:16:32Z], ~U[2026-04-15 12:47:05Z], ~U[2026-04-15 12:47:05Z], "", "هالمشاعر قادرة تاكد لنا ان الدنيا فيها خير ❤️ #بودكاست #مرضيه #danacast #اكسبلور", 30, false, "mIFXL20N2jo", "https://www.youtube.com/shorts/mIFXL20N2jo", "/downloads/shorts/Dana Cast/Dana Cast - 2025-02-21 - [mIFXL20N2jo].mp4", true, 377, ~U[2025-02-21 17:16:32Z]] 12:47:05.072 [debug] QUERY OK source="sources" db=0.3ms idle=3.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" = ?) [377] 12:47:05.073 [debug] QUERY OK source="media_items" db=0.3ms idle=3.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-02-19 16:14:09Z], 377] 12:47:05.074 [debug] QUERY OK source="media_items" db=0.5ms idle=3.6ms INSERT INTO "media_items" AS m0 ("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) 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" ["19 February 2025", "6cfddb00-eec0-497c-9cda-2a4b0356b32a", 62, false, "e2JmvlYzDY0", "https://www.youtube.com/shorts/e2JmvlYzDY0", 5, "/downloads/shorts/Dana Cast/Dana Cast - 2025-02-19 - [e2JmvlYzDY0].mp4", false, false, true, 377, [], 98, ~U[2025-02-19 16:14:09Z], ~U[2026-04-15 12:47:05Z], ~U[2026-04-15 12:47:05Z], "", "19 February 2025", 62, false, "e2JmvlYzDY0", "https://www.youtube.com/shorts/e2JmvlYzDY0", "/downloads/shorts/Dana Cast/Dana Cast - 2025-02-19 - [e2JmvlYzDY0].mp4", true, 377, ~U[2025-02-19 16:14:09Z]] 12:47:05.075 [debug] QUERY OK source="sources" db=0.2ms idle=3.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [377] 12:47:05.075 [debug] QUERY OK source="media_items" db=0.3ms idle=3.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-02-17 16:38:26Z], 377] 12:47:05.076 [debug] QUERY OK source="media_items" db=0.5ms idle=3.0ms INSERT INTO "media_items" AS m0 ("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) 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" ["17 February 2025", "fe51c12d-988d-4adf-88cb-81c22f6d0450", 29, false, "VER461Kjhcw", "https://www.youtube.com/shorts/VER461Kjhcw", 6, "/downloads/shorts/Dana Cast/Dana Cast - 2025-02-17 - [VER461Kjhcw].mp4", false, false, true, 377, [], 98, ~U[2025-02-17 16:38:26Z], ~U[2026-04-15 12:47:05Z], ~U[2026-04-15 12:47:05Z], "", "17 February 2025", 29, false, "VER461Kjhcw", "https://www.youtube.com/shorts/VER461Kjhcw", "/downloads/shorts/Dana Cast/Dana Cast - 2025-02-17 - [VER461Kjhcw].mp4", true, 377, ~U[2025-02-17 16:38:26Z]] 12:47:05.077 [debug] QUERY OK source="sources" db=0.2ms 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" FROM "sources" AS s0 WHERE (s0."id" = ?) [377] 12:47:05.077 [debug] QUERY OK source="media_items" db=0.3ms idle=2.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-02-10 15:09:46Z], 377] 12:47:05.078 [debug] QUERY OK source="media_items" db=0.5ms idle=3.0ms INSERT INTO "media_items" AS m0 ("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) 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" ["اذا دانة سألتكم نفس السؤال، شنو بتكون اجابتكم ؟👀", "201b87ee-a8ea-431e-8503-48232c5eefcc", 44, false, "_ObFcDx4rGo", "https://www.youtube.com/shorts/_ObFcDx4rGo", 7, "/downloads/shorts/Dana Cast/Dana Cast - 2025-02-10 - [_ObFcDx4rGo].mp4", false, false, true, 377, [], 98, ~U[2025-02-10 15:09:46Z], ~U[2026-04-15 12:47:05Z], ~U[2026-04-15 12:47:05Z], "", "اذا دانة سألتكم نفس السؤال، شنو بتكون اجابتكم ؟👀", 44, false, "_ObFcDx4rGo", "https://www.youtube.com/shorts/_ObFcDx4rGo", "/downloads/shorts/Dana Cast/Dana Cast - 2025-02-10 - [_ObFcDx4rGo].mp4", true, 377, ~U[2025-02-10 15:09:46Z]] 12:47:05.079 [debug] QUERY OK source="sources" db=0.2ms 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" FROM "sources" AS s0 WHERE (s0."id" = ?) [377] 12:47:05.079 [debug] QUERY OK source="media_items" db=0.3ms idle=2.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-02-05 15:20:08Z], 377] 12:47:05.081 [debug] QUERY OK source="media_items" db=0.6ms idle=3.0ms INSERT INTO "media_items" AS m0 ("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) 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" ["رندا حجاج | 5/02/2025 | الساعة ٨ م بتوقيت الكويت الموسم الثاني الحلقة 9", "91813a39-74cd-4cab-b5ba-15bc59df918a", 56, false, "ae06G1N8Bek", "https://www.youtube.com/shorts/ae06G1N8Bek", 8, "/downloads/shorts/Dana Cast/Dana Cast - 2025-02-05 - [ae06G1N8Bek].mp4", false, false, true, 377, [], 98, ~U[2025-02-05 15:20:08Z], ~U[2026-04-15 12:47:05Z], ~U[2026-04-15 12:47:05Z], "", "رندا حجاج | 5/02/2025 | الساعة ٨ م بتوقيت الكويت الموسم الثاني الحلقة 9", 56, false, "ae06G1N8Bek", "https://www.youtube.com/shorts/ae06G1N8Bek", "/downloads/shorts/Dana Cast/Dana Cast - 2025-02-05 - [ae06G1N8Bek].mp4", true, 377, ~U[2025-02-05 15:20:08Z]] 12:47:05.081 [debug] QUERY OK source="sources" db=0.2ms 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" FROM "sources" AS s0 WHERE (s0."id" = ?) [377] 12:47:05.082 [debug] QUERY OK source="media_items" db=0.3ms idle=2.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-02-03 14:10:00Z], 377] 12:47:05.083 [debug] QUERY OK source="media_items" db=0.5ms idle=3.0ms INSERT INTO "media_items" AS m0 ("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) 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" ["3 February 2025", "45eeb1a5-0d4a-404a-9293-d9abf7b2b58d", 31, false, "nkjQBh2O_Mw", "https://www.youtube.com/shorts/nkjQBh2O_Mw", 9, "/downloads/shorts/Dana Cast/Dana Cast - 2025-02-03 - [nkjQBh2O_Mw].mp4", false, false, true, 377, [], 98, ~U[2025-02-03 14:10:00Z], ~U[2026-04-15 12:47:05Z], ~U[2026-04-15 12:47:05Z], "", "3 February 2025", 31, false, "nkjQBh2O_Mw", "https://www.youtube.com/shorts/nkjQBh2O_Mw", "/downloads/shorts/Dana Cast/Dana Cast - 2025-02-03 - [nkjQBh2O_Mw].mp4", true, 377, ~U[2025-02-03 14:10:00Z]] 12:47:05.083 [debug] QUERY OK source="sources" db=0.2ms 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" FROM "sources" AS s0 WHERE (s0."id" = ?) [377] 12:47:05.084 [debug] QUERY OK source="media_items" db=0.3ms idle=2.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-01-29 15:26:05Z], 377] 12:47:05.085 [debug] QUERY OK source="media_items" db=0.5ms idle=2.9ms INSERT INTO "media_items" AS m0 ("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) 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" ["هالفيديو دليل حق كل المتزوجين 👀💍", "687f3a9c-0b78-433e-b237-11bed31d4314", 41, false, "hrg2bQwgNnA", "https://www.youtube.com/shorts/hrg2bQwgNnA", 10, "/downloads/shorts/Dana Cast/Dana Cast - 2025-01-29 - [hrg2bQwgNnA].mp4", false, false, true, 377, [], 98, ~U[2025-01-29 15:26:05Z], ~U[2026-04-15 12:47:05Z], ~U[2026-04-15 12:47:05Z], "", "هالفيديو دليل حق كل المتزوجين 👀💍", 41, false, "hrg2bQwgNnA", "https://www.youtube.com/shorts/hrg2bQwgNnA", "/downloads/shorts/Dana Cast/Dana Cast - 2025-01-29 - [hrg2bQwgNnA].mp4", true, 377, ~U[2025-01-29 15:26:05Z]] 12:47:05.085 [debug] QUERY OK source="sources" db=0.2ms 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" = ?) [377] 12:47:05.086 [debug] QUERY OK source="media_items" db=0.3ms idle=2.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-01-13 16:38:41Z], 377] 12:47:05.087 [debug] QUERY OK source="media_items" db=0.5ms idle=3.0ms INSERT INTO "media_items" AS m0 ("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) 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" ["13 January 2025", "9e8808ce-b0f5-4756-a01f-5efae3aed097", 28, false, "IL-qwjub0uM", "https://www.youtube.com/shorts/IL-qwjub0uM", 11, "/downloads/shorts/Dana Cast/Dana Cast - 2025-01-13 - [IL-qwjub0uM].mp4", false, false, true, 377, [], 98, ~U[2025-01-13 16:38:41Z], ~U[2026-04-15 12:47:05Z], ~U[2026-04-15 12:47:05Z], "", "13 January 2025", 28, false, "IL-qwjub0uM", "https://www.youtube.com/shorts/IL-qwjub0uM", "/downloads/shorts/Dana Cast/Dana Cast - 2025-01-13 - [IL-qwjub0uM].mp4", true, 377, ~U[2025-01-13 16:38:41Z]] 12:47:05.087 [debug] QUERY OK source="sources" db=0.3ms 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" FROM "sources" AS s0 WHERE (s0."id" = ?) [377] 12:47:05.088 [debug] QUERY OK source="media_items" db=0.3ms idle=3.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-01-07 14:35:52Z], 377] 12:47:05.089 [debug] QUERY OK source="media_items" db=0.5ms idle=3.2ms INSERT INTO "media_items" AS m0 ("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) 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" ["اصعب شي في حياة الانسان اهي الفقد … الله يرحمها ❤️ #بودكاست #danacast #اكسبلور", "1f6230b2-ed22-47b5-a08b-3e0e25976acd", 38, false, "8ZpogOI6qqo", "https://www.youtube.com/shorts/8ZpogOI6qqo", 12, "/downloads/shorts/Dana Cast/Dana Cast - 2025-01-07 - [8ZpogOI6qqo].mp4", false, false, true, 377, [], 98, ~U[2025-01-07 14:35:52Z], ~U[2026-04-15 12:47:05Z], ~U[2026-04-15 12:47:05Z], "", "اصعب شي في حياة الانسان اهي الفقد … الله يرحمها ❤️ #بودكاست #danacast #اكسبلور", 38, false, "8ZpogOI6qqo", "https://www.youtube.com/shorts/8ZpogOI6qqo", "/downloads/shorts/Dana Cast/Dana Cast - 2025-01-07 - [8ZpogOI6qqo].mp4", true, 377, ~U[2025-01-07 14:35:52Z]] 12:47:05.090 [debug] QUERY OK source="sources" db=0.4ms 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" = ?) [377] 12:47:05.090 [debug] QUERY OK source="media_items" db=0.4ms idle=3.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-01-04 17:27:06Z], 377] 12:47:05.092 [debug] QUERY OK source="media_items" db=0.7ms idle=3.2ms INSERT INTO "media_items" AS m0 ("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) 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" ["شرايكم برد كوثر ؟ 🤔 #بودكاست #danacast #اكسبلور #تيك_توك #صنع_في_الكويت", "46a71f9c-d6ce-4a51-99a3-76812f811109", 44, false, "zMY6eQndoko", "https://www.youtube.com/shorts/zMY6eQndoko", 13, "/downloads/shorts/Dana Cast/Dana Cast - 2025-01-04 - [zMY6eQndoko].mp4", false, false, true, 377, [], 98, ~U[2025-01-04 17:27:06Z], ~U[2026-04-15 12:47:05Z], ~U[2026-04-15 12:47:05Z], "", "شرايكم برد كوثر ؟ 🤔 #بودكاست #danacast #اكسبلور #تيك_توك #صنع_في_الكويت", 44, false, "zMY6eQndoko", "https://www.youtube.com/shorts/zMY6eQndoko", "/downloads/shorts/Dana Cast/Dana Cast - 2025-01-04 - [zMY6eQndoko].mp4", true, 377, ~U[2025-01-04 17:27:06Z]] 12:47:05.092 [debug] QUERY OK source="sources" db=0.2ms 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" = ?) [377] 12:47:05.093 [debug] QUERY OK source="media_items" db=0.4ms idle=3.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-01-01 14:48:24Z], 377] 12:47:05.094 [debug] QUERY OK source="media_items" db=0.6ms idle=3.1ms INSERT INTO "media_items" AS m0 ("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) 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" ["1 January 2025", "434f52bd-be8d-443c-9421-3a7c8991053f", 55, false, "1uCC5l8FQoY", "https://www.youtube.com/shorts/1uCC5l8FQoY", 14, "/downloads/shorts/Dana Cast/Dana Cast - 2025-01-01 - [1uCC5l8FQoY].mp4", false, false, true, 377, [], 98, ~U[2025-01-01 14:48:24Z], ~U[2026-04-15 12:47:05Z], ~U[2026-04-15 12:47:05Z], "", "1 January 2025", 55, false, "1uCC5l8FQoY", "https://www.youtube.com/shorts/1uCC5l8FQoY", "/downloads/shorts/Dana Cast/Dana Cast - 2025-01-01 - [1uCC5l8FQoY].mp4", true, 377, ~U[2025-01-01 14:48:24Z]] 12:47:05.094 [debug] QUERY OK source="sources" db=0.3ms 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" = ?) [377] 12:47:05.095 [debug] QUERY OK source="media_items" db=0.4ms idle=2.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-12-30 15:06:13Z], 377] 12:47:05.105 [debug] QUERY OK source="media_items" db=9.5ms idle=3.0ms INSERT INTO "media_items" AS m0 ("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) 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" ["تيكتوكر و فنانة، تتوقعون منو ضيفة الحلقة؟!", "3031860b-4aae-4604-8ae2-d9d889da17fc", 26, false, "pwJ0ciUwgOw", "https://www.youtube.com/shorts/pwJ0ciUwgOw", 15, "/downloads/shorts/Dana Cast/Dana Cast - 2024-12-30 - [pwJ0ciUwgOw].mp4", false, false, true, 377, [], 98, ~U[2024-12-30 15:06:13Z], ~U[2026-04-15 12:47:05Z], ~U[2026-04-15 12:47:05Z], "", "تيكتوكر و فنانة، تتوقعون منو ضيفة الحلقة؟!", 26, false, "pwJ0ciUwgOw", "https://www.youtube.com/shorts/pwJ0ciUwgOw", "/downloads/shorts/Dana Cast/Dana Cast - 2024-12-30 - [pwJ0ciUwgOw].mp4", true, 377, ~U[2024-12-30 15:06:13Z]] 12:47:05.105 [debug] QUERY OK source="sources" db=0.3ms idle=12.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [377] 12:47:05.106 [debug] QUERY OK source="media_items" db=0.4ms idle=11.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-12-22 15:25:54Z], 377] 12:47:05.110 [debug] QUERY OK source="media_items" db=3.5ms idle=12.0ms INSERT INTO "media_items" AS m0 ("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) 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" ["22 December 2024", "17a4b47e-8c27-47f6-aa09-303c981c646e", 24, false, "jFCS3tyCm-8", "https://www.youtube.com/shorts/jFCS3tyCm-8", 16, "/downloads/shorts/Dana Cast/Dana Cast - 2024-12-22 - [jFCS3tyCm-8].mp4", false, false, true, 377, [], 98, ~U[2024-12-22 15:25:54Z], ~U[2026-04-15 12:47:05Z], ~U[2026-04-15 12:47:05Z], "", "22 December 2024", 24, false, "jFCS3tyCm-8", "https://www.youtube.com/shorts/jFCS3tyCm-8", "/downloads/shorts/Dana Cast/Dana Cast - 2024-12-22 - [jFCS3tyCm-8].mp4", true, 377, ~U[2024-12-22 15:25:54Z]] 12:47:05.111 [debug] QUERY OK source="sources" db=0.2ms idle=15.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [377] 12:47:05.111 [debug] QUERY OK source="media_items" db=0.4ms idle=6.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-12-16 15:40:56Z], 377] 12:47:05.112 [debug] QUERY OK source="media_items" db=0.6ms idle=6.0ms INSERT INTO "media_items" AS m0 ("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) 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" ["\"مو كل أم أم\" تتفقون مع صالح ؟ 🤔", "dfaea43e-d06e-4349-9086-1a0ffae6c592", 38, false, "HdnZVxowGv4", "https://www.youtube.com/shorts/HdnZVxowGv4", 17, "/downloads/shorts/Dana Cast/Dana Cast - 2024-12-16 - [HdnZVxowGv4].mp4", false, false, true, 377, [], 98, ~U[2024-12-16 15:40:56Z], ~U[2026-04-15 12:47:05Z], ~U[2026-04-15 12:47:05Z], "", "\"مو كل أم أم\" تتفقون مع صالح ؟ 🤔", 38, false, "HdnZVxowGv4", "https://www.youtube.com/shorts/HdnZVxowGv4", "/downloads/shorts/Dana Cast/Dana Cast - 2024-12-16 - [HdnZVxowGv4].mp4", true, 377, ~U[2024-12-16 15:40:56Z]] 12:47:05.113 [debug] QUERY OK source="sources" db=0.2ms 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" = ?) [377] 12:47:05.113 [debug] QUERY OK source="media_items" db=0.4ms idle=2.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-12-11 15:18:26Z], 377] 12:47:05.114 [debug] QUERY OK source="media_items" db=0.7ms idle=3.0ms INSERT INTO "media_items" AS m0 ("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) 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" ["صالح العليان | 11/12/2024 | الساعة ٨ م بتوقيت الكويت الموسم الثاني", "c024224f-7c53-4b74-b717-4bc6fd4fde5d", 54, false, "Nj4VrV3I804", "https://www.youtube.com/shorts/Nj4VrV3I804", 18, "/downloads/shorts/Dana Cast/Dana Cast - 2024-12-11 - [Nj4VrV3I804].mp4", false, false, true, 377, [], 98, ~U[2024-12-11 15:18:26Z], ~U[2026-04-15 12:47:05Z], ~U[2026-04-15 12:47:05Z], "", "صالح العليان | 11/12/2024 | الساعة ٨ م بتوقيت الكويت الموسم الثاني", 54, false, "Nj4VrV3I804", "https://www.youtube.com/shorts/Nj4VrV3I804", "/downloads/shorts/Dana Cast/Dana Cast - 2024-12-11 - [Nj4VrV3I804].mp4", true, 377, ~U[2024-12-11 15:18:26Z]] 12:47:05.115 [debug] QUERY OK source="sources" db=0.2ms 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" = ?) [377] 12:47:05.116 [debug] QUERY OK source="media_items" db=0.5ms idle=3.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-12-09 15:02:29Z], 377] 12:47:05.117 [debug] QUERY OK source="media_items" db=0.9ms idle=2.6ms INSERT INTO "media_items" AS m0 ("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) 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" ["رائد أعمل ناجح ، تتوقعون منو ضيف الحلقة ؟! #بودكاست #ترند #تحفيز", "8b99ed5a-2bd4-4548-a353-958e39f6ce0f", 17, false, "CGHHk7LcfSY", "https://www.youtube.com/shorts/CGHHk7LcfSY", 19, "/downloads/shorts/Dana Cast/Dana Cast - 2024-12-09 - [CGHHk7LcfSY].mp4", false, false, true, 377, [], 98, ~U[2024-12-09 15:02:29Z], ~U[2026-04-15 12:47:05Z], ~U[2026-04-15 12:47:05Z], "", "رائد أعمل ناجح ، تتوقعون منو ضيف الحلقة ؟! #بودكاست #ترند #تحفيز", 17, false, "CGHHk7LcfSY", "https://www.youtube.com/shorts/CGHHk7LcfSY", "/downloads/shorts/Dana Cast/Dana Cast - 2024-12-09 - [CGHHk7LcfSY].mp4", true, 377, ~U[2024-12-09 15:02:29Z]] 12:47:05.118 [debug] QUERY OK source="sources" db=0.2ms 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" = ?) [377] 12:47:05.118 [debug] QUERY OK source="media_items" db=0.4ms idle=2.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-11-30 17:18:24Z], 377] 12:47:05.120 [debug] QUERY OK source="media_items" db=1.0ms idle=2.8ms INSERT INTO "media_items" AS m0 ("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) 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" ["30 November 2024", "ae16ee7f-45ae-4131-a41f-e6e5aba970b3", 30, false, "dgSQOM_bj0Q", "https://www.youtube.com/shorts/dgSQOM_bj0Q", 20, "/downloads/shorts/Dana Cast/Dana Cast - 2024-11-30 - [dgSQOM_bj0Q].mp4", false, false, true, 377, [], 98, ~U[2024-11-30 17:18:24Z], ~U[2026-04-15 12:47:05Z], ~U[2026-04-15 12:47:05Z], "", "30 November 2024", 30, false, "dgSQOM_bj0Q", "https://www.youtube.com/shorts/dgSQOM_bj0Q", "/downloads/shorts/Dana Cast/Dana Cast - 2024-11-30 - [dgSQOM_bj0Q].mp4", true, 377, ~U[2024-11-30 17:18:24Z]] 12:47:05.120 [debug] QUERY OK source="sources" db=0.2ms idle=3.3ms UPDATE "sources" SET "last_indexed_at" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-04-15 12:47:05Z], ~U[2026-04-15 12:47:05Z], 377] 12:47:05.121 [debug] QUERY OK source="media_items" db=0.6ms 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 ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [377] 12:47:05.122 [debug] QUERY OK source="media_items" db=0.5ms idle=3.6ms SELECT count(*) FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [377] 12:47:05.122 [debug] QUERY OK source="media_items" db=0.2ms idle=3.7ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [377] 12:47:05.125 [debug] QUERY OK source="tasks" db=0.3ms idle=3.6ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2191990, 377, ~U[2026-04-15 12:47:05Z], ~U[2026-04-15 12:47:05Z]] 12:47:05.126 [info] {"args":{"id":377},"id":2187084,"meta":{},"state":"success","max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","duration":380480293,"event":"job:stop","queue_time":476984,"attempt":1,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 12:47:05.146 [debug] Current batch of media processed. Will check again in 1000ms 12:47:06.125 [info] {"args":{"id":191},"id":2191956,"meta":{},"system_time":1776257226125065303,"max_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:47:06.125 [debug] QUERY OK source="sources" db=0.2ms idle=999.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" = ?) [191] 12:47:06.126 [debug] QUERY OK source="settings" db=0.2ms idle=999.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:47:06.126 [debug] QUERY OK source="media_profiles" db=0.2ms idle=993.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" = ?) [2] 12:47:06.127 [debug] QUERY OK source="settings" db=0.4ms idle=8.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:47:06.127 [debug] Fetching recent media IDs from YouTube API for playlist: UUaA8WJj7rZtNb41Bb34tnTA 12:47:06.127 [debug] QUERY OK source="settings" db=0.1ms idle=2.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:47:06.127 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 12:47:06.147 [debug] Current batch of media processed. Will check again in 1000ms 12:47:06.367 [debug] QUERY OK source="media_items" db=1.2ms idle=240.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [191, "jZPBvl0cOVg", "JAPsrunU5Lg", "9Vx5IKgj6FE", "ISsGIXK0DAo", "Id20bd5X2iU", "x6VkSJy4HNw", "2IR8K7NYkNo", "_DKN9NK3Vg4", "gG7-BfNX30Q", "liy01fr1yBE", "Jlh8uBe7RFY", "9cXfBEwntzA", "qacVmM42e_o", "O4wwG8qBqXs", "1fBaNL_3JHs", "BzxEZMf3Rjc", "AvL2XPACjik", "tuWjvViGp4o", "hzy4lCK6rM8", "H0KL7u9cC1M", "8XEOshhKUPU", "rTXEC3VFqVo", "SNRZzKVH754", "eZEP7qSvMWQ", "DsbsadX-7Rw", "oNX2TzH926Q", "ClJpxV5rPkE", "5GGq9OhxbeY", "bZMwkPXAI-0", "aGAwKq2voMw", "A7Z9XghbCsE", "jBEX06n7cWQ", "UPbV21bn7Mg", "1UgURk7PuQg", "_vndBPsf0vQ", "0UJZmJzzLVI", "EUGuC62oYgg", "ABAOXlx_WuY", "4siwTxHoj5k", "IJthhi9-Ex4", "EL8VyinqjXI", "ElgT-WHpxvk", "XigqTb7Y5OQ", "RIT7GX_bO1Y", "3wQqHyMG3yo", "X6JeIE1t1pQ", "swJSgogb9ys", "DRZ6y0qceR4", "CS-oesi4GLs", ...] 12:47:06.371 [debug] QUERY OK source="media_items" db=2.4ms idle=242.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")))) [191] 12:47:06.373 [debug] QUERY OK source="tasks" db=0.3ms idle=244.9ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2191991, 191, ~U[2026-04-15 12:47:06Z], ~U[2026-04-15 12:47:06Z]] 12:47:06.373 [info] {"args":{"id":191},"id":2191956,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":248135,"event":"job:stop","queue_time":389033,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:47:07.148 [debug] Current batch of media processed. Will check again in 1000ms 12:47:08.149 [debug] Current batch of media processed. Will check again in 1000ms 12:47:09.150 [debug] Current batch of media processed. Will check again in 1000ms 12:47:10.151 [debug] Current batch of media processed. Will check again in 1000ms 12:47:11.152 [debug] Current batch of media processed. Will check again in 1000ms 12:47:11.808 [info] {"source":"oban","duration":18271,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:47:12.153 [debug] Current batch of media processed. Will check again in 1000ms 12:47:13.154 [debug] Current batch of media processed. Will check again in 1000ms 12:47:14.155 [debug] Current batch of media processed. Will check again in 1000ms 12:47:15.156 [debug] Current batch of media processed. Will check again in 1000ms 12:47:16.157 [debug] Current batch of media processed. Will check again in 1000ms 12:47:17.158 [debug] Current batch of media processed. Will check again in 1000ms 12:47:18.159 [debug] Current batch of media processed. Will check again in 1000ms 12:47:19.160 [debug] Current batch of media processed. Will check again in 1000ms 12:47:20.161 [debug] Current batch of media processed. Will check again in 1000ms 12:47:21.162 [debug] Current batch of media processed. Will check again in 1000ms 12:47:22.163 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "", "duration" => 125, "filename" => "/downloads/shorts/عكاس/عكاس - 2025-11-28 - [VsCX74CSXNs].mp4", "id" => "VsCX74CSXNs", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/VsCX74CSXNs", "playlist_index" => 17, "timestamp" => 1764370788, "title" => "مسلسل احمد بن حنبل | #بودكاست_دواير #اكسبلور #تاريخ #مسلسلات", "upload_date" => "20251128"} 12:47:22.163 [debug] QUERY OK source="sources" db=0.1ms idle=1027.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" IN (?)) [380] 12:47:22.164 [debug] QUERY OK source="sources" db=0.2ms idle=153.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" = ?) [380] 12:47:22.165 [debug] QUERY OK source="media_items" db=0.4ms idle=154.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-11-28 22:59:48Z], 380] 12:47:22.176 [debug] QUERY OK source="media_items" db=11.3ms idle=155.2ms INSERT INTO "media_items" AS m0 ("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) 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" ["مسلسل احمد بن حنبل | #بودكاست_دواير #اكسبلور #تاريخ #مسلسلات", "f9029891-fc37-43eb-a2a2-e01f876d7b96", 125, false, "VsCX74CSXNs", "https://www.youtube.com/shorts/VsCX74CSXNs", 17, "/downloads/shorts/عكاس/عكاس - 2025-11-28 - [VsCX74CSXNs].mp4", false, false, true, 380, [], 98, ~U[2025-11-28 22:59:48Z], ~U[2026-04-15 12:47:22Z], ~U[2026-04-15 12:47:22Z], "", "مسلسل احمد بن حنبل | #بودكاست_دواير #اكسبلور #تاريخ #مسلسلات", 125, false, "VsCX74CSXNs", "https://www.youtube.com/shorts/VsCX74CSXNs", "/downloads/shorts/عكاس/عكاس - 2025-11-28 - [VsCX74CSXNs].mp4", true, 380, ~U[2025-11-28 22:59:48Z]] 12:47:22.177 [debug] QUERY OK source="sources" db=0.8ms idle=40.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [380] 12:47:22.178 [debug] QUERY OK source="media_profiles" db=0.2ms idle=14.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 12:47:22.179 [debug] QUERY OK source="media_items" db=0.3ms idle=14.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4630553] 12:47:22.179 [debug] Current batch of media processed. Will check again in 1000ms 12:47:23.180 [debug] Current batch of media processed. Will check again in 1000ms 12:47:24.181 [debug] Current batch of media processed. Will check again in 1000ms 12:47:25.182 [debug] Current batch of media processed. Will check again in 1000ms 12:47:26.183 [debug] Current batch of media processed. Will check again in 1000ms 12:47:27.184 [debug] Current batch of media processed. Will check again in 1000ms 12:47:28.185 [debug] Current batch of media processed. Will check again in 1000ms 12:47:29.186 [debug] Current batch of media processed. Will check again in 1000ms 12:47:29.318 [info] GET /sources/292/media/4628365 12:47:29.319 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "4628365", "prevent_download" => "true", "source_id" => "292"} Pipelines: [:browser] 12:47:29.319 [debug] QUERY OK source="media_items" db=0.1ms idle=1309.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" = ?) [4628365] 12:47:29.320 [debug] QUERY OK source="tasks" db=0.1ms idle=1309.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" [4628365] 12:47:29.320 [debug] QUERY OK source="sources" db=0.3ms idle=1309.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" = ?) [292] 12:47:29.321 [debug] QUERY OK source="settings" db=0.2ms idle=1177.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:47:29.321 [debug] QUERY OK source="settings" db=0.2ms idle=177.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:47:29.322 [debug] QUERY OK source="settings" db=0.1ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:47:29.323 [debug] QUERY OK source="media_profiles" db=0.1ms 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" = ?) [2] 12:47:29.324 [info] Sent 200 in 5ms 12:47:30.187 [debug] Current batch of media processed. Will check again in 1000ms 12:47:31.188 [debug] Current batch of media processed. Will check again in 1000ms 12:47:32.189 [debug] Current batch of media processed. Will check again in 1000ms 12:47:33.190 [debug] Current batch of media processed. Will check again in 1000ms 12:47:34.191 [debug] Current batch of media processed. Will check again in 1000ms 12:47:35.192 [debug] Current batch of media processed. Will check again in 1000ms 12:47:36.193 [debug] Current batch of media processed. Will check again in 1000ms 12:47:37.194 [debug] Current batch of media processed. Will check again in 1000ms 12:47:38.195 [debug] Current batch of media processed. Will check again in 1000ms 12:47:39.196 [debug] Current batch of media processed. Will check again in 1000ms 12:47:40.197 [debug] Current batch of media processed. Will check again in 1000ms 12:47:41.198 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "", "duration" => 90, "filename" => "/downloads/shorts/عكاس/عكاس - 2025-11-23 - [Ek5dIpi7tZY].mp4", "id" => "Ek5dIpi7tZY", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/Ek5dIpi7tZY", "playlist_index" => 18, "timestamp" => 1763906222, "title" => "ليش لازم تهاجر مكانك؟ | #يوسف #الهجرة #الغربة #اكسبلور", "upload_date" => "20251123"} 12:47:41.198 [debug] QUERY OK source="sources" db=0.1ms idle=188.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" IN (?)) [380] 12:47:41.199 [debug] QUERY OK source="sources" db=0.1ms idle=188.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" = ?) [380] 12:47:41.199 [debug] QUERY OK source="media_items" db=0.3ms idle=189.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-11-23 13:57:02Z], 380] 12:47:41.200 [debug] QUERY OK source="media_items" db=0.6ms idle=189.7ms INSERT INTO "media_items" AS m0 ("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) 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" ["ليش لازم تهاجر مكانك؟ | #يوسف #الهجرة #الغربة #اكسبلور", "8879c5ce-d56a-4d29-8fa2-ef924b3c6527", 90, false, "Ek5dIpi7tZY", "https://www.youtube.com/shorts/Ek5dIpi7tZY", 18, "/downloads/shorts/عكاس/عكاس - 2025-11-23 - [Ek5dIpi7tZY].mp4", false, false, true, 380, [], 98, ~U[2025-11-23 13:57:02Z], ~U[2026-04-15 12:47:41Z], ~U[2026-04-15 12:47:41Z], "", "ليش لازم تهاجر مكانك؟ | #يوسف #الهجرة #الغربة #اكسبلور", 90, false, "Ek5dIpi7tZY", "https://www.youtube.com/shorts/Ek5dIpi7tZY", "/downloads/shorts/عكاس/عكاس - 2025-11-23 - [Ek5dIpi7tZY].mp4", true, 380, ~U[2025-11-23 13:57:02Z]] 12:47:41.201 [debug] QUERY OK source="sources" db=0.2ms idle=40.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" = ?) [380] 12:47:41.201 [debug] QUERY OK source="media_profiles" db=0.3ms 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" = ?) [2] 12:47:41.202 [debug] QUERY OK source="media_items" db=0.3ms 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 [4630555] 12:47:41.202 [debug] Current batch of media processed. Will check again in 1000ms 12:47:41.827 [info] {"source":"oban","duration":18090,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:47:42.203 [debug] Current batch of media processed. Will check again in 1000ms 12:47:43.204 [debug] Current batch of media processed. Will check again in 1000ms 12:47:44.205 [debug] Current batch of media processed. Will check again in 1000ms 12:47:45.206 [debug] Current batch of media processed. Will check again in 1000ms 12:47:46.207 [debug] Current batch of media processed. Will check again in 1000ms 12:47:47.208 [debug] Current batch of media processed. Will check again in 1000ms 12:47:48.209 [debug] Current batch of media processed. Will check again in 1000ms 12:47:49.210 [debug] Current batch of media processed. Will check again in 1000ms 12:47:50.211 [debug] Current batch of media processed. Will check again in 1000ms 12:47:51.212 [debug] Current batch of media processed. Will check again in 1000ms 12:47:52.213 [debug] Current batch of media processed. Will check again in 1000ms 12:47:53.214 [debug] Current batch of media processed. Will check again in 1000ms 12:47:54.215 [debug] Current batch of media processed. Will check again in 1000ms 12:47:55.216 [debug] Current batch of media processed. Will check again in 1000ms 12:47:56.217 [debug] Current batch of media processed. Will check again in 1000ms 12:47:57.218 [debug] Current batch of media processed. Will check again in 1000ms 12:47:58.219 [debug] Current batch of media processed. Will check again in 1000ms 12:47:59.220 [debug] Current batch of media processed. Will check again in 1000ms 12:48:00.221 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "", "duration" => 95, "filename" => "/downloads/shorts/عكاس/عكاس - 2025-11-16 - [ju4sHgEb9Bo].mp4", "id" => "ju4sHgEb9Bo", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/ju4sHgEb9Bo", "playlist_index" => 19, "timestamp" => 1763314966, "title" => "شلون تعرف الخبيث🤒! | #يوسف #اكسبلور #شكسبير #ثقافة", "upload_date" => "20251116"} 12:48:00.222 [debug] QUERY OK source="sources" db=0.2ms idle=1211.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" IN (?)) [380] 12:48:00.222 [debug] QUERY OK source="sources" db=0.1ms idle=1212.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" = ?) [380] 12:48:00.223 [debug] QUERY OK source="media_items" db=0.4ms idle=1212.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-11-16 17:42:46Z], 380] 12:48:00.224 [debug] QUERY OK source="media_items" db=0.7ms idle=1044.9ms INSERT INTO "media_items" AS m0 ("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) 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" ["شلون تعرف الخبيث🤒! | #يوسف #اكسبلور #شكسبير #ثقافة", "d81a772d-9122-4aa9-bfa4-404e4f59b857", 95, false, "ju4sHgEb9Bo", "https://www.youtube.com/shorts/ju4sHgEb9Bo", 19, "/downloads/shorts/عكاس/عكاس - 2025-11-16 - [ju4sHgEb9Bo].mp4", false, false, true, 380, [], 98, ~U[2025-11-16 17:42:46Z], ~U[2026-04-15 12:48:00Z], ~U[2026-04-15 12:48:00Z], "", "شلون تعرف الخبيث🤒! | #يوسف #اكسبلور #شكسبير #ثقافة", 95, false, "ju4sHgEb9Bo", "https://www.youtube.com/shorts/ju4sHgEb9Bo", "/downloads/shorts/عكاس/عكاس - 2025-11-16 - [ju4sHgEb9Bo].mp4", true, 380, ~U[2025-11-16 17:42:46Z]] 12:48:00.225 [debug] QUERY OK source="sources" db=0.3ms idle=44.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [380] 12:48:00.225 [debug] QUERY OK source="media_profiles" db=0.3ms idle=3.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 12:48:00.226 [debug] QUERY OK source="media_items" db=0.4ms idle=3.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4630557] 12:48:00.226 [debug] Current batch of media processed. Will check again in 1000ms 12:48:00.824 [info] {"source":"oban","duration":198,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:48:01.227 [debug] Current batch of media processed. Will check again in 1000ms 12:48:02.188 [info] {"args":{"id":398},"id":2191957,"meta":{},"system_time":1776257282188112193,"max_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:48:02.188 [debug] QUERY OK source="sources" db=0.2ms idle=178.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" = ?) [398] 12:48:02.189 [debug] QUERY OK source="settings" db=0.3ms idle=178.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:48:02.189 [debug] QUERY OK source="media_profiles" db=0.3ms idle=179.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" = ?) [2] 12:48:02.190 [debug] QUERY OK source="settings" db=0.8ms idle=8.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:48:02.191 [debug] Fetching recent media IDs from YouTube API for playlist: UUCbIqqUYqlvskcT4UJKgp0A 12:48:02.191 [debug] QUERY OK source="settings" db=0.1ms idle=3.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:48:02.191 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 12:48:02.228 [debug] Current batch of media processed. Will check again in 1000ms 12:48:02.428 [debug] QUERY OK source="media_items" db=1.1ms idle=238.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [398, "TMMZYc9IgDA", "17sWgRsYQqY", "ZpjrNISTUh0", "NEeBdV2GB8U", "6UEKxr0CjGg", "NWCVD7myp4o", "MhK3gfLvTNw", "eEHajx5JzSs", "I4XkUPlVuNA", "BBHjfuE8uYc", "oaummeIbyiE", "IAYtkgRgV1o", "4zhXB40pfuQ", "O0-9r7OeVjg", "BR1SZVInqnw", "7wBlas-p7zU", "xEHgIoiu8WU", "2zWSjk5Vqn8", "7xtXhYC1oLM", "8bg5pYHU1rU", "StfQN_0vmWs", "kSuw_nrQou0", "--cc1UnTZOM", "v02AjJzWA5c", "gTuMrWqxe7s", "p-v9j1CbD5s", "3YFqKJeDWQk", "X5EsXmOGxkQ", "zkCjl4vhiVI", "QBLbqY5Ea-U", "p1Ca3rBtM_0", "80PF1Vatv4o", "cof4ynZjXTg", "aNEFg5WCC_s", "1l8S9eDgjms", "fQG9_ZWhmps", "mG6ZDr2-_0E", "SGZJHTfLUFY", "sIbaqt6JzeU", "YTFHrYqpmDA", "EggNQNf4-xg", "SDmB0xlDdw0", "d55qkSwiDEo", "75tg3p5h8K8", "NN-DFa3l_xs", "ICTzn9oQJjQ", "lGi0YQw2FHw", "uo6mStUoJjc", "fYOGrcWS7vk", ...] 12:48:02.431 [debug] QUERY OK source="media_items" db=1.8ms idle=240.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")))) [398] 12:48:02.433 [debug] QUERY OK source="tasks" db=0.3ms idle=241.5ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2191992, 398, ~U[2026-04-15 12:48:02Z], ~U[2026-04-15 12:48:02Z]] 12:48:02.433 [info] {"args":{"id":398},"id":2191957,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":245179,"event":"job:stop","queue_time":394733,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:48:03.229 [debug] Current batch of media processed. Will check again in 1000ms 12:48:04.230 [debug] Current batch of media processed. Will check again in 1000ms 12:48:05.231 [debug] Current batch of media processed. Will check again in 1000ms 12:48:06.232 [debug] Current batch of media processed. Will check again in 1000ms 12:48:07.233 [debug] Current batch of media processed. Will check again in 1000ms 12:48:08.234 [debug] Current batch of media processed. Will check again in 1000ms 12:48:09.235 [debug] Current batch of media processed. Will check again in 1000ms 12:48:10.236 [debug] Current batch of media processed. Will check again in 1000ms 12:48:11.237 [debug] Current batch of media processed. Will check again in 1000ms 12:48:11.846 [info] {"source":"oban","duration":17937,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:48:12.238 [debug] Current batch of media processed. Will check again in 1000ms 12:48:13.239 [debug] Current batch of media processed. Will check again in 1000ms 12:48:14.240 [debug] Current batch of media processed. Will check again in 1000ms 12:48:15.203 [info] {"args":{"id":411},"id":2191958,"meta":{},"system_time":1776257295202985775,"max_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:48:15.203 [debug] QUERY OK source="sources" db=0.3ms idle=1193.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" = ?) [411] 12:48:15.204 [debug] QUERY OK source="settings" db=0.9ms 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 [] 12:48:15.205 [debug] QUERY OK source="media_profiles" db=0.2ms idle=194.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" = ?) [2] 12:48:15.205 [debug] QUERY OK source="settings" db=0.2ms idle=9.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:48:15.205 [debug] Fetching recent media IDs from YouTube API for playlist: UUDItXi7_EXg4AEviycQNaLQ 12:48:15.206 [debug] QUERY OK source="settings" db=0.1ms idle=3.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:48:15.206 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 12:48:15.241 [debug] Current batch of media processed. Will check again in 1000ms 12:48:15.482 [debug] QUERY OK source="media_items" db=1.3ms idle=277.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [411, "JuDij37WcMQ", "rfg7AvtzW-w", "9D2z-swZk04", "z8Yxq-sXAEY", "M9BoVFGH0RY", "t8d0ZZmhz0U", "-yt8Js4ud6A", "4dW9FV5t4Yo", "ATPqDugamkY", "AXV7sIoRgkM", "TMmET7MMEYk", "fAXX1Gaj5XA", "s-1LQGqIeyM", "Td5Sf4q51bk", "QRrz7bLpg5Q", "iKP4LnL6Iy0", "EO4McLmPyJQ", "Ir9G5100kN0", "gA_5V8GkswQ", "Bq2dgjvq74I", "u7Q0hVQPYkE", "VH2u9XmsStE", "WC5MwjCb-m4", "UDCNa698Jrk", "hba6Wln8hFY", "ap2i_nGoQ4c", "UWGhRXAqpAA", "XeMCi0Np7cI", "4z4pMvSEcb0", "GvXJejZfMdY", "E0XS1NX_tcQ", "0q7aRwmrbtg", "CUmm-3krENA", "2rZzuysCjmg", "sbN8KmyhtQk", "d6rZg1_QO_M", "4PSn3m7r7O8", "W_yHf301OD0", "88HufGqVfCU", "FAbVG6RVX-M", "5oMDMqp8aNg", "7trWvdh3-xM", "EmvBf7NJPDo", "AfD6sytM9e8", "rckwoxIA8zI", "DC9ihJ9j8tg", "i8M4cmPln74", "aY6KSMYwGhA", "FITQe52CL6k", ...] 12:48:15.489 [debug] QUERY OK source="media_items" db=5.1ms idle=279.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")))) [411] 12:48:15.491 [debug] QUERY OK source="tasks" db=0.4ms idle=284.5ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2191993, 411, ~U[2026-04-15 12:48:15Z], ~U[2026-04-15 12:48:15Z]] 12:48:15.491 [info] {"args":{"id":411},"id":2191958,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":288353,"event":"job:stop","queue_time":422306,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:48:16.242 [debug] Current batch of media processed. Will check again in 1000ms 12:48:17.206 [info] {"args":{"id":174},"id":2191959,"meta":{},"system_time":1776257297206095293,"max_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:48:17.206 [debug] QUERY OK source="sources" db=0.2ms idle=196.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" = ?) [174] 12:48:17.207 [debug] QUERY OK source="settings" db=0.2ms 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 [] 12:48:17.207 [debug] QUERY OK source="media_profiles" db=0.3ms idle=196.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" = ?) [2] 12:48:17.208 [debug] QUERY OK source="settings" db=0.2ms idle=8.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:48:17.208 [debug] Fetching recent media IDs from YouTube API for playlist: UUgh7hDxRUy44n2C0fpuweuA 12:48:17.208 [debug] QUERY OK source="settings" db=0.1ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:48:17.208 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 12:48:17.243 [debug] Current batch of media processed. Will check again in 1000ms 12:48:17.651 [debug] QUERY OK source="media_items" db=1.3ms 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 WHERE ((m0."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [174, "mnC32YQtLaM", "jFCnvX91Mf4", "ZBliwo9EBTQ", "ZtWxlUBlUeo", "O_YT14LOkV8", "vYkXCwBxaWk", "GQMcWcp7iII", "PM2hH6k6FAI", "OnPyArQdyqU", "yTmwiByqRB4", "2R_i6g6M1mU", "h6D3xHSmiN0", "LinnkM4bD5s", "mdTPRWg-mDY", "TNWDyRo9sgE", "jHQ67V9Qb_Y", "6KE_NGb5aQY", "9rxm1nOYr8U", "ALNHb-rmLqA", "5LZmm3G4abs", "hdGp9pZRWkE", "1-1VVVYCDxY", "PGgqj8Oc8qc", "BrRSe7jghBo", "ByP2G4j7jWE", "5bz0UaSzhe8", "OeUKShLLZoo", "PW3wFLy8tTM", "nY_bmBNlXO4", "nHoIck64yfU", "Ua1t9a59osg", "4Ipt1YC6Rsk", "Z0BjSmk8gCY", "Dz55V0-TnsE", "YXP5BmHMuJ8", "TSCLkDgFNis", "uwCW0TMNShU", "tBg3xMaUV7I", "Bj43Cq2_Wds", "361tk2e_sQc", "2W-0YlJUzHE", "YmvxFHR1Upg", "_ERvQbE6Qcg", "JKKOKWe6WUY", "h9ZvZQR8S6Q", "fw5S0jLGyw0", "Q9K5nuhZXso", "sOfyTqif9yg", "_4saIvJyiZY", ...] 12:48:17.656 [debug] QUERY OK source="media_items" db=3.2ms idle=446.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")))) [174] 12:48:17.658 [debug] QUERY OK source="tasks" db=0.2ms idle=449.4ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2191994, 174, ~U[2026-04-15 12:48:17Z], ~U[2026-04-15 12:48:17Z]] 12:48:17.658 [info] {"args":{"id":174},"id":2191959,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":452214,"event":"job:stop","queue_time":326385,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:48:18.069 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@AkkasCO/shorts --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/shorts/عكاس/عكاس - %(upload_date>%Y-%m-%d)S - [%(id)S].%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --break-on-existing --download-archive /tmp/pinchflat/data/db/fc/dbfcc521ac180ab47baaae1d293f633e7bb35f27e858cf981e150405cdc8187a.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/8c/78/8c787d7d37182226cc3528b1f71fcc7c60b6787a66bf11c6675e1e14f7f287c2.json --sleep-requests 5 --sleep-interval 4 --sleep-subtitles 5 --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 101 with: 12:48:18.070 [debug] Gracefully stopping file follower 12:48:18.070 [debug] QUERY OK source="sources" db=0.3ms idle=412.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" IN (?)) [380] 12:48:18.071 [debug] QUERY OK source="sources" db=0.1ms idle=413.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" = ?) [380] 12:48:18.071 [debug] QUERY OK source="media_items" db=0.3ms idle=413.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-11 11:59:33Z], 380] 12:48:18.072 [debug] QUERY OK source="media_items" db=0.4ms idle=413.2ms INSERT INTO "media_items" AS m0 ("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) 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" ["حلقة الدكتور: محمد بقنة، بتنزل اليوم الساعة 4:30 مساءً.. مشاهدة ممتعة", "f90fcc28-c8c3-4b6f-9539-456c702a5826", 65, false, "-K2JUcy3Sw0", "https://www.youtube.com/shorts/-K2JUcy3Sw0", 1, "/downloads/shorts/عكاس/عكاس - 2026-04-11 - [-K2JUcy3Sw0].mp4", false, false, true, 380, [], 98, ~U[2026-04-11 11:59:33Z], ~U[2026-04-15 12:48:18Z], ~U[2026-04-15 12:48:18Z], "", "حلقة الدكتور: محمد بقنة، بتنزل اليوم الساعة 4:30 مساءً.. مشاهدة ممتعة", 65, false, "-K2JUcy3Sw0", "https://www.youtube.com/shorts/-K2JUcy3Sw0", "/downloads/shorts/عكاس/عكاس - 2026-04-11 - [-K2JUcy3Sw0].mp4", true, 380, ~U[2026-04-11 11:59:33Z]] 12:48:18.072 [debug] QUERY OK source="sources" db=0.1ms idle=407.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" = ?) [380] 12:48:18.073 [debug] QUERY OK source="media_items" db=0.2ms idle=2.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-28 18:00:39Z], 380] 12:48:18.074 [debug] QUERY OK source="media_items" db=0.4ms idle=2.5ms INSERT INTO "media_items" AS m0 ("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) 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" ["وش هي المسيّرات؟ | #الزبدة #اكسبلور", "2ba0686d-8f0b-4baa-bf61-093e923981f0", 148, false, "rece9S8DkD4", "https://www.youtube.com/shorts/rece9S8DkD4", 2, "/downloads/shorts/عكاس/عكاس - 2026-03-28 - [rece9S8DkD4].mp4", false, false, true, 380, [], 98, ~U[2026-03-28 18:00:39Z], ~U[2026-04-15 12:48:18Z], ~U[2026-04-15 12:48:18Z], "", "وش هي المسيّرات؟ | #الزبدة #اكسبلور", 148, false, "rece9S8DkD4", "https://www.youtube.com/shorts/rece9S8DkD4", "/downloads/shorts/عكاس/عكاس - 2026-03-28 - [rece9S8DkD4].mp4", true, 380, ~U[2026-03-28 18:00:39Z]] 12:48:18.074 [debug] QUERY OK source="sources" db=0.1ms 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" = ?) [380] 12:48:18.075 [debug] QUERY OK source="media_items" db=0.2ms idle=2.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-26 15:59:40Z], 380] 12:48:18.075 [debug] QUERY OK source="media_items" db=0.4ms idle=2.4ms INSERT INTO "media_items" AS m0 ("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) 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" ["اول مرة تصير ان الامهات اصبحوا معلمات! | بودكاست دواير #بودكاست #التربية #اكسبلور", "23f7484d-574c-402a-9f70-d70752644b66", 43, false, "nSfMmSfv7RM", "https://www.youtube.com/shorts/nSfMmSfv7RM", 3, "/downloads/shorts/عكاس/عكاس - 2026-02-26 - [nSfMmSfv7RM].mp4", false, false, true, 380, [], 98, ~U[2026-02-26 15:59:40Z], ~U[2026-04-15 12:48:18Z], ~U[2026-04-15 12:48:18Z], "", "اول مرة تصير ان الامهات اصبحوا معلمات! | بودكاست دواير #بودكاست #التربية #اكسبلور", 43, false, "nSfMmSfv7RM", "https://www.youtube.com/shorts/nSfMmSfv7RM", "/downloads/shorts/عكاس/عكاس - 2026-02-26 - [nSfMmSfv7RM].mp4", true, 380, ~U[2026-02-26 15:59:40Z]] 12:48:18.076 [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" = ?) [380] 12:48:18.076 [debug] QUERY OK source="media_items" db=0.2ms idle=2.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-24 18:42:07Z], 380] 12:48:18.077 [debug] QUERY OK source="media_items" db=0.4ms idle=2.3ms INSERT INTO "media_items" AS m0 ("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) 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" ["الامهات اصبحوا معلمات! | بودكاست دواير #بودكاست #اكسبلور", "14af379c-54fe-49ae-a6e0-b49bcb5d0661", 43, false, "wI4L3G5V6Bk", "https://www.youtube.com/shorts/wI4L3G5V6Bk", 4, "/downloads/shorts/عكاس/عكاس - 2026-02-24 - [wI4L3G5V6Bk].mp4", false, false, true, 380, [], 97, ~U[2026-02-24 18:42:07Z], ~U[2026-04-15 12:48:18Z], ~U[2026-04-15 12:48:18Z], "", "الامهات اصبحوا معلمات! | بودكاست دواير #بودكاست #اكسبلور", 43, false, "wI4L3G5V6Bk", "https://www.youtube.com/shorts/wI4L3G5V6Bk", "/downloads/shorts/عكاس/عكاس - 2026-02-24 - [wI4L3G5V6Bk].mp4", true, 380, ~U[2026-02-24 18:42:07Z]] 12:48:18.078 [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" = ?) [380] 12:48:18.078 [debug] QUERY OK source="media_items" db=0.2ms idle=2.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-24 00:33:14Z], 380] 12:48:18.079 [debug] QUERY OK source="media_items" db=0.4ms idle=2.3ms INSERT INTO "media_items" AS m0 ("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) 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" ["خطورة مشاهدة الطفل للوالدين في الخلوة الشرعية❌ | بودكاست دواير #بودكاست #اكسبلور", "f32efeef-b181-438e-ab84-ef46fe0cd268", 40, false, "NlYOLdb0hVk", "https://www.youtube.com/shorts/NlYOLdb0hVk", 5, "/downloads/shorts/عكاس/عكاس - 2026-02-24 - [NlYOLdb0hVk].mp4", false, false, true, 380, [], 97, ~U[2026-02-24 00:33:14Z], ~U[2026-04-15 12:48:18Z], ~U[2026-04-15 12:48:18Z], "", "خطورة مشاهدة الطفل للوالدين في الخلوة الشرعية❌ | بودكاست دواير #بودكاست #اكسبلور", 40, false, "NlYOLdb0hVk", "https://www.youtube.com/shorts/NlYOLdb0hVk", "/downloads/shorts/عكاس/عكاس - 2026-02-24 - [NlYOLdb0hVk].mp4", true, 380, ~U[2026-02-24 00:33:14Z]] 12:48:18.079 [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" = ?) [380] 12:48:18.080 [debug] QUERY OK source="media_items" db=0.2ms idle=2.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-18 23:20:19Z], 380] 12:48:18.080 [debug] QUERY OK source="media_items" db=0.3ms idle=2.3ms INSERT INTO "media_items" AS m0 ("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) 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" ["الخلاف مع قناة بداية | بودكاست دواير #اكسبلور", "3471e50d-c7c2-43e3-82ff-d20bd97d1671", 140, false, "2IFYnzUZVp4", "https://www.youtube.com/shorts/2IFYnzUZVp4", 6, "/downloads/shorts/عكاس/عكاس - 2026-02-18 - [2IFYnzUZVp4].mp4", false, false, true, 380, [], 98, ~U[2026-02-18 23:20:19Z], ~U[2026-04-15 12:48:18Z], ~U[2026-04-15 12:48:18Z], "", "الخلاف مع قناة بداية | بودكاست دواير #اكسبلور", 140, false, "2IFYnzUZVp4", "https://www.youtube.com/shorts/2IFYnzUZVp4", "/downloads/shorts/عكاس/عكاس - 2026-02-18 - [2IFYnzUZVp4].mp4", true, 380, ~U[2026-02-18 23:20:19Z]] 12:48:18.081 [debug] QUERY OK source="sources" db=0.2ms 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" = ?) [380] 12:48:18.081 [debug] QUERY OK source="media_items" db=0.2ms idle=2.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-15 15:35:53Z], 380] 12:48:18.082 [debug] QUERY OK source="media_items" db=0.7ms idle=2.3ms INSERT INTO "media_items" AS m0 ("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) 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" ["الموسيقى حلال بشروط! | بودكاست دواير #الواقع", "db958ad1-c76b-459e-81d0-d04077e707dd", 82, false, "4-TCXXKoj-U", "https://www.youtube.com/shorts/4-TCXXKoj-U", 7, "/downloads/shorts/عكاس/عكاس - 2026-02-15 - [4-TCXXKoj-U].mp4", false, false, true, 380, [], 98, ~U[2026-02-15 15:35:53Z], ~U[2026-04-15 12:48:18Z], ~U[2026-04-15 12:48:18Z], "", "الموسيقى حلال بشروط! | بودكاست دواير #الواقع", 82, false, "4-TCXXKoj-U", "https://www.youtube.com/shorts/4-TCXXKoj-U", "/downloads/shorts/عكاس/عكاس - 2026-02-15 - [4-TCXXKoj-U].mp4", true, 380, ~U[2026-02-15 15:35:53Z]] 12:48:18.083 [debug] QUERY OK source="sources" db=0.3ms 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" = ?) [380] 12:48:18.084 [debug] QUERY OK source="media_items" db=0.4ms idle=2.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-30 17:30:22Z], 380] 12:48:18.085 [debug] QUERY OK source="media_items" db=0.7ms idle=2.9ms INSERT INTO "media_items" AS m0 ("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) 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" ["ليش يقولون أرفع قرشك الابيض ليوم الاسود؟ | #الزبده #فلوس #قيمنق #اكسبلور", "0d83cad9-773c-4043-9bbe-8a58b3117741", 109, false, "Rb__lXbdKr8", "https://www.youtube.com/shorts/Rb__lXbdKr8", 8, "/downloads/shorts/عكاس/عكاس - 2026-01-30 - [Rb__lXbdKr8].mp4", false, false, true, 380, [], 98, ~U[2026-01-30 17:30:22Z], ~U[2026-04-15 12:48:18Z], ~U[2026-04-15 12:48:18Z], "", "ليش يقولون أرفع قرشك الابيض ليوم الاسود؟ | #الزبده #فلوس #قيمنق #اكسبلور", 109, false, "Rb__lXbdKr8", "https://www.youtube.com/shorts/Rb__lXbdKr8", "/downloads/shorts/عكاس/عكاس - 2026-01-30 - [Rb__lXbdKr8].mp4", true, 380, ~U[2026-01-30 17:30:22Z]] 12:48:18.085 [debug] QUERY OK source="sources" db=0.3ms 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" = ?) [380] 12:48:18.086 [debug] QUERY OK source="media_items" db=0.5ms idle=3.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-29 12:05:14Z], 380] 12:48:18.087 [debug] QUERY OK source="media_items" db=0.7ms idle=3.3ms INSERT INTO "media_items" AS m0 ("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) 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" ["قصة: جساس | يوسف #الزير_سالم #جساس", "646d57ea-f397-4aeb-a2ad-fb5283f5acb3", 105, false, "-EF11XIy4Bk", "https://www.youtube.com/shorts/-EF11XIy4Bk", 9, "/downloads/shorts/عكاس/عكاس - 2026-01-29 - [-EF11XIy4Bk].mp4", false, false, true, 380, [], 98, ~U[2026-01-29 12:05:14Z], ~U[2026-04-15 12:48:18Z], ~U[2026-04-15 12:48:18Z], "", "قصة: جساس | يوسف #الزير_سالم #جساس", 105, false, "-EF11XIy4Bk", "https://www.youtube.com/shorts/-EF11XIy4Bk", "/downloads/shorts/عكاس/عكاس - 2026-01-29 - [-EF11XIy4Bk].mp4", true, 380, ~U[2026-01-29 12:05:14Z]] 12:48:18.088 [debug] QUERY OK source="sources" db=0.3ms idle=3.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" = ?) [380] 12:48:18.088 [debug] QUERY OK source="media_items" db=0.5ms idle=3.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-18 19:35:41Z], 380] 12:48:18.090 [debug] QUERY OK source="media_items" db=0.8ms idle=3.4ms INSERT INTO "media_items" AS m0 ("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) 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" ["موقف مع ضابط لبناني 🇱🇧 | بودكاست دواير #اكسبلور #لبنان", "f0b337ef-79ba-48d3-8db6-648e496fd10e", 87, false, "EKo79tXwLtg", "https://www.youtube.com/shorts/EKo79tXwLtg", 10, "/downloads/shorts/عكاس/عكاس - 2026-01-18 - [EKo79tXwLtg].mp4", false, false, true, 380, [], 98, ~U[2026-01-18 19:35:41Z], ~U[2026-04-15 12:48:18Z], ~U[2026-04-15 12:48:18Z], "", "موقف مع ضابط لبناني 🇱🇧 | بودكاست دواير #اكسبلور #لبنان", 87, false, "EKo79tXwLtg", "https://www.youtube.com/shorts/EKo79tXwLtg", "/downloads/shorts/عكاس/عكاس - 2026-01-18 - [EKo79tXwLtg].mp4", true, 380, ~U[2026-01-18 19:35:41Z]] 12:48:18.090 [debug] QUERY OK source="sources" db=0.3ms idle=3.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" = ?) [380] 12:48:18.091 [debug] QUERY OK source="media_items" db=0.5ms idle=3.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-14 14:43:00Z], 380] 12:48:18.092 [debug] QUERY OK source="media_items" db=0.7ms idle=3.4ms INSERT INTO "media_items" AS m0 ("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) 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" ["قصة: جحدر | #يوسف #الزير_سالم #اكسبلور", "7fa78859-138b-4c5f-a899-7b0962e74ee4", 94, false, "sZpV7AS53cM", "https://www.youtube.com/shorts/sZpV7AS53cM", 11, "/downloads/shorts/عكاس/عكاس - 2026-01-14 - [sZpV7AS53cM].mp4", false, false, true, 380, [], 98, ~U[2026-01-14 14:43:00Z], ~U[2026-04-15 12:48:18Z], ~U[2026-04-15 12:48:18Z], "", "قصة: جحدر | #يوسف #الزير_سالم #اكسبلور", 94, false, "sZpV7AS53cM", "https://www.youtube.com/shorts/sZpV7AS53cM", "/downloads/shorts/عكاس/عكاس - 2026-01-14 - [sZpV7AS53cM].mp4", true, 380, ~U[2026-01-14 14:43:00Z]] 12:48:18.093 [debug] QUERY OK source="sources" db=0.3ms idle=3.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" = ?) [380] 12:48:18.093 [debug] QUERY OK source="media_items" db=0.4ms idle=3.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-13 13:22:44Z], 380] 12:48:18.094 [debug] QUERY OK source="media_items" db=0.8ms idle=3.3ms INSERT INTO "media_items" AS m0 ("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) 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" ["وش علاقة البيتزا بغزو العراق للكويت🤒؟ | الزبده #العراق #الكويت #اكسبلور", "9ec91ac4-1992-411a-be0a-b3842f5d28dd", 85, false, "LMajBMsX4nY", "https://www.youtube.com/shorts/LMajBMsX4nY", 12, "/downloads/shorts/عكاس/عكاس - 2026-01-13 - [LMajBMsX4nY].mp4", false, false, true, 380, [], 98, ~U[2026-01-13 13:22:44Z], ~U[2026-04-15 12:48:18Z], ~U[2026-04-15 12:48:18Z], "", "وش علاقة البيتزا بغزو العراق للكويت🤒؟ | الزبده #العراق #الكويت #اكسبلور", 85, false, "LMajBMsX4nY", "https://www.youtube.com/shorts/LMajBMsX4nY", "/downloads/shorts/عكاس/عكاس - 2026-01-13 - [LMajBMsX4nY].mp4", true, 380, ~U[2026-01-13 13:22:44Z]] 12:48:18.095 [debug] QUERY OK source="sources" db=0.3ms idle=3.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" = ?) [380] 12:48:18.096 [debug] QUERY OK source="media_items" db=0.5ms idle=3.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-04 18:53:44Z], 380] 12:48:18.097 [debug] QUERY OK source="media_items" db=1.2ms idle=3.3ms INSERT INTO "media_items" AS m0 ("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) 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" ["عندك ضمير👁️؟ | يوسف #اكسبلور", "63bfcd4c-931e-410b-b99b-d3716aa9f096", 89, false, "meFq0h9kG20", "https://www.youtube.com/shorts/meFq0h9kG20", 13, "/downloads/shorts/عكاس/عكاس - 2026-01-04 - [meFq0h9kG20].mp4", false, false, true, 380, [], 98, ~U[2026-01-04 18:53:44Z], ~U[2026-04-15 12:48:18Z], ~U[2026-04-15 12:48:18Z], "", "عندك ضمير👁️؟ | يوسف #اكسبلور", 89, false, "meFq0h9kG20", "https://www.youtube.com/shorts/meFq0h9kG20", "/downloads/shorts/عكاس/عكاس - 2026-01-04 - [meFq0h9kG20].mp4", true, 380, ~U[2026-01-04 18:53:44Z]] 12:48:18.098 [debug] QUERY OK source="sources" db=0.3ms 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" = ?) [380] 12:48:18.099 [debug] QUERY OK source="media_items" db=0.5ms idle=3.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-03 21:45:29Z], 380] 12:48:18.100 [debug] QUERY OK source="media_items" db=0.7ms idle=3.9ms INSERT INTO "media_items" AS m0 ("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) 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" ["تحليل #فرويد لـ #خالد_عبدالرحمن | الزبده #اكسبلور", "ea0cfa4e-3335-426f-992f-dbb53046096d", 106, false, "PKPSwUejL1E", "https://www.youtube.com/shorts/PKPSwUejL1E", 14, "/downloads/shorts/عكاس/عكاس - 2026-01-03 - [PKPSwUejL1E].mp4", false, false, true, 380, [], 98, ~U[2026-01-03 21:45:29Z], ~U[2026-04-15 12:48:18Z], ~U[2026-04-15 12:48:18Z], "", "تحليل #فرويد لـ #خالد_عبدالرحمن | الزبده #اكسبلور", 106, false, "PKPSwUejL1E", "https://www.youtube.com/shorts/PKPSwUejL1E", "/downloads/shorts/عكاس/عكاس - 2026-01-03 - [PKPSwUejL1E].mp4", true, 380, ~U[2026-01-03 21:45:29Z]] 12:48:18.101 [debug] QUERY OK source="sources" db=0.3ms 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" = ?) [380] 12:48:18.101 [debug] QUERY OK source="media_items" db=0.5ms idle=3.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-25 17:07:56Z], 380] 12:48:18.102 [debug] QUERY OK source="media_items" db=0.8ms idle=3.6ms INSERT INTO "media_items" AS m0 ("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) 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" ["مستعد تخسر اهلك👀؟ | حلقة جديدة من برنامج #يوسف", "985e9f71-a379-4935-9932-63d8bcefab63", 50, false, "7z80r-J8-is", "https://www.youtube.com/shorts/7z80r-J8-is", 15, "/downloads/shorts/عكاس/عكاس - 2025-12-25 - [7z80r-J8-is].mp4", false, false, true, 380, [], 98, ~U[2025-12-25 17:07:56Z], ~U[2026-04-15 12:48:18Z], ~U[2026-04-15 12:48:18Z], "", "مستعد تخسر اهلك👀؟ | حلقة جديدة من برنامج #يوسف", 50, false, "7z80r-J8-is", "https://www.youtube.com/shorts/7z80r-J8-is", "/downloads/shorts/عكاس/عكاس - 2025-12-25 - [7z80r-J8-is].mp4", true, 380, ~U[2025-12-25 17:07:56Z]] 12:48:18.103 [debug] QUERY OK source="sources" db=0.3ms 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" = ?) [380] 12:48:18.104 [debug] QUERY OK source="media_items" db=0.5ms idle=3.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-13 18:26:58Z], 380] 12:48:18.105 [debug] QUERY OK source="media_items" db=0.7ms idle=3.3ms INSERT INTO "media_items" AS m0 ("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) 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" ["حلقة جديدة من برنامج #يوسف ، مميزات الخطر! #اكسبلور", "ddf342ce-72ec-4746-b87e-3ecdbf30ac4d", 83, false, "c7AJwphJSkk", "https://www.youtube.com/shorts/c7AJwphJSkk", 16, "/downloads/shorts/عكاس/عكاس - 2025-12-13 - [c7AJwphJSkk].mp4", false, false, true, 380, [], 98, ~U[2025-12-13 18:26:58Z], ~U[2026-04-15 12:48:18Z], ~U[2026-04-15 12:48:18Z], "", "حلقة جديدة من برنامج #يوسف ، مميزات الخطر! #اكسبلور", 83, false, "c7AJwphJSkk", "https://www.youtube.com/shorts/c7AJwphJSkk", "/downloads/shorts/عكاس/عكاس - 2025-12-13 - [c7AJwphJSkk].mp4", true, 380, ~U[2025-12-13 18:26:58Z]] 12:48:18.105 [debug] QUERY OK source="sources" db=0.3ms 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" FROM "sources" AS s0 WHERE (s0."id" = ?) [380] 12:48:18.106 [debug] QUERY OK source="media_items" db=0.5ms idle=3.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-11-28 22:59:48Z], 380] 12:48:18.107 [debug] QUERY OK source="media_items" db=0.7ms idle=3.3ms INSERT INTO "media_items" AS m0 ("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) 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" ["مسلسل احمد بن حنبل | #بودكاست_دواير #اكسبلور #تاريخ #مسلسلات", "241ebc67-2921-4c8e-a4de-995daf371d77", 125, false, "VsCX74CSXNs", "https://www.youtube.com/shorts/VsCX74CSXNs", 17, "/downloads/shorts/عكاس/عكاس - 2025-11-28 - [VsCX74CSXNs].mp4", false, false, true, 380, [], 98, ~U[2025-11-28 22:59:48Z], ~U[2026-04-15 12:48:18Z], ~U[2026-04-15 12:48:18Z], "", "مسلسل احمد بن حنبل | #بودكاست_دواير #اكسبلور #تاريخ #مسلسلات", 125, false, "VsCX74CSXNs", "https://www.youtube.com/shorts/VsCX74CSXNs", "/downloads/shorts/عكاس/عكاس - 2025-11-28 - [VsCX74CSXNs].mp4", true, 380, ~U[2025-11-28 22:59:48Z]] 12:48:18.108 [debug] QUERY OK source="sources" db=0.3ms idle=3.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" = ?) [380] 12:48:18.108 [debug] QUERY OK source="media_items" db=0.4ms idle=3.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-11-23 13:57:02Z], 380] 12:48:18.110 [debug] QUERY OK source="media_items" db=0.7ms idle=3.4ms INSERT INTO "media_items" AS m0 ("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) 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" ["ليش لازم تهاجر مكانك؟ | #يوسف #الهجرة #الغربة #اكسبلور", "c78dbb96-db34-49a0-86cb-f81636f0b109", 90, false, "Ek5dIpi7tZY", "https://www.youtube.com/shorts/Ek5dIpi7tZY", 18, "/downloads/shorts/عكاس/عكاس - 2025-11-23 - [Ek5dIpi7tZY].mp4", false, false, true, 380, [], 98, ~U[2025-11-23 13:57:02Z], ~U[2026-04-15 12:48:18Z], ~U[2026-04-15 12:48:18Z], "", "ليش لازم تهاجر مكانك؟ | #يوسف #الهجرة #الغربة #اكسبلور", 90, false, "Ek5dIpi7tZY", "https://www.youtube.com/shorts/Ek5dIpi7tZY", "/downloads/shorts/عكاس/عكاس - 2025-11-23 - [Ek5dIpi7tZY].mp4", true, 380, ~U[2025-11-23 13:57:02Z]] 12:48:18.110 [debug] QUERY OK source="sources" db=0.3ms idle=3.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" = ?) [380] 12:48:18.111 [debug] QUERY OK source="media_items" db=0.5ms idle=3.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-11-16 17:42:46Z], 380] 12:48:18.112 [debug] QUERY OK source="media_items" db=0.7ms idle=3.3ms INSERT INTO "media_items" AS m0 ("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) 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" ["شلون تعرف الخبيث🤒! | #يوسف #اكسبلور #شكسبير #ثقافة", "45e34500-c3c9-4fd4-957a-9ca7188d12ed", 95, false, "ju4sHgEb9Bo", "https://www.youtube.com/shorts/ju4sHgEb9Bo", 19, "/downloads/shorts/عكاس/عكاس - 2025-11-16 - [ju4sHgEb9Bo].mp4", false, false, true, 380, [], 98, ~U[2025-11-16 17:42:46Z], ~U[2026-04-15 12:48:18Z], ~U[2026-04-15 12:48:18Z], "", "شلون تعرف الخبيث🤒! | #يوسف #اكسبلور #شكسبير #ثقافة", 95, false, "ju4sHgEb9Bo", "https://www.youtube.com/shorts/ju4sHgEb9Bo", "/downloads/shorts/عكاس/عكاس - 2025-11-16 - [ju4sHgEb9Bo].mp4", true, 380, ~U[2025-11-16 17:42:46Z]] 12:48:18.113 [debug] QUERY OK source="sources" db=0.3ms idle=3.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" = ?) [380] 12:48:18.113 [debug] QUERY OK source="media_items" db=0.4ms idle=3.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-11-08 15:56:57Z], 380] 12:48:18.114 [debug] QUERY OK source="media_items" db=0.7ms idle=3.4ms INSERT INTO "media_items" AS m0 ("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) 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" ["تطبيقات التوصيل: غيرت سلوك الناس🫨 | #بودكاست_دواير #اكسبلور", "3114177f-ae4c-4153-b702-19a9b6a1f493", 151, false, "zTQDaHY88cw", "https://www.youtube.com/shorts/zTQDaHY88cw", 20, "/downloads/shorts/عكاس/عكاس - 2025-11-08 - [zTQDaHY88cw].mp4", false, false, true, 380, [], 98, ~U[2025-11-08 15:56:57Z], ~U[2026-04-15 12:48:18Z], ~U[2026-04-15 12:48:18Z], "", "تطبيقات التوصيل: غيرت سلوك الناس🫨 | #بودكاست_دواير #اكسبلور", 151, false, "zTQDaHY88cw", "https://www.youtube.com/shorts/zTQDaHY88cw", "/downloads/shorts/عكاس/عكاس - 2025-11-08 - [zTQDaHY88cw].mp4", true, 380, ~U[2025-11-08 15:56:57Z]] 12:48:18.115 [debug] QUERY OK source="sources" db=0.2ms idle=3.7ms UPDATE "sources" SET "last_indexed_at" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-04-15 12:48:18Z], ~U[2026-04-15 12:48:18Z], 380] 12:48:18.116 [debug] QUERY OK source="media_items" db=0.7ms idle=3.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")))) [380] 12:48:18.117 [debug] QUERY OK source="media_items" db=0.6ms idle=3.5ms SELECT count(*) FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [380] 12:48:18.117 [debug] QUERY OK source="media_items" db=0.3ms idle=3.6ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [380] 12:48:18.120 [debug] QUERY OK source="tasks" db=0.3ms idle=4.0ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2191995, 380, ~U[2026-04-15 12:48:18Z], ~U[2026-04-15 12:48:18Z]] 12:48:18.121 [info] {"args":{"id":380},"id":2187090,"meta":{},"state":"success","max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","duration":380384761,"event":"job:stop","queue_time":650425,"attempt":1,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 12:48:18.138 [info] GET /sources/166/media/4434859 12:48:18.138 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "4434859", "prevent_download" => "true", "source_id" => "166"} Pipelines: [:browser] 12:48:18.138 [debug] QUERY OK source="media_items" db=0.3ms idle=18.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" = ?) [4434859] 12:48:18.139 [debug] QUERY OK source="tasks" db=0.2ms idle=18.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" [4434859] 12:48:18.139 [debug] QUERY OK source="sources" db=0.3ms idle=18.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [166] 12:48:18.140 [debug] QUERY OK source="settings" db=0.1ms idle=18.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:48:18.140 [debug] QUERY OK source="settings" db=0.1ms idle=12.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:48:18.141 [debug] QUERY OK source="settings" db=0.1ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:48:18.141 [debug] QUERY OK source="media_profiles" db=0.2ms idle=2.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 12:48:18.143 [info] Sent 200 in 5ms 12:48:41.865 [info] {"source":"oban","duration":18006,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:49:00.825 [info] {"source":"oban","duration":202,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:49:05.659 [info] GET /sources/112/media/4682800 12:49:05.659 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "4682800", "prevent_download" => "true", "source_id" => "112"} Pipelines: [:browser] 12:49:05.659 [debug] QUERY OK source="media_items" db=0.2ms idle=1649.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" = ?) [4682800] 12:49:05.660 [debug] QUERY OK source="tasks" db=0.1ms idle=1650.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" [4682800] 12:49:05.660 [debug] QUERY OK source="sources" db=0.3ms idle=1650.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" = ?) [112] 12:49:05.661 [debug] QUERY OK source="settings" db=0.1ms idle=1408.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:49:05.661 [debug] QUERY OK source="settings" db=0.1ms idle=407.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:49:05.662 [debug] QUERY OK source="settings" db=0.1ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:49:05.663 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 12:49:05.664 [info] Sent 200 in 5ms 12:49:08.266 [info] {"args":{"id":100},"id":2191961,"meta":{},"system_time":1776257348266106700,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:49:08.267 [debug] QUERY OK source="sources" db=0.8ms idle=1256.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" = ?) [100] 12:49:08.267 [debug] QUERY OK source="settings" db=0.2ms idle=1257.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:49:08.268 [debug] QUERY OK source="media_profiles" db=0.2ms idle=1011.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 12:49:08.268 [debug] QUERY OK source="settings" db=0.2ms idle=9.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:49:08.268 [debug] Fetching recent media IDs from YouTube API for playlist: UUe5eYsugVJLzIF_JALMiXzQ 12:49:08.269 [debug] QUERY OK source="settings" db=0.1ms idle=3.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:49:08.269 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 12:49:08.593 [debug] QUERY OK source="media_items" db=0.9ms idle=325.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [100, "251xUyoUFwg", "N2ipy5JDalQ", "kwb-PhsCYBs", "MsrYWuItd7M", "E_sH2dN0kLg", "e0KZ0IHrG38", "dqX4Wzvq6sE", "izbcjE3AhD8", "cSdsZhAlfJI", "hvvYmjS_A90", "eicfPUdBAuo", "d_L6gomAhAg", "IiDMkKhe71A", "NkjKnpUUYmU", "NzW9fg2vgpA", "egrx1u5F1V4", "fmBdaL3VqEY", "_lN_Qri648M", "97Q6zfv-jk4", "3FL4GzxXxOc", "cQyXgxGMkcc", "rBdx1qmknhU", "61v3sPjKngk", "dyQ2TD5i6LQ", "iC1_GDcfYM8", "1i-bNe1xx14", "ZB9QJ_bJO2Y", "-ddV4twx7dE", "19GEQhlOxzE", "6GsO5ByqFkE", "47qCdYJCmKo", "d6nWvWpnwP8", "8uApOUjCOe4", "9eJgR2PLrGo", "UVShufL4rRA", "ypbB3IZvnLs", "0Dkjqs3zg6A", "szU5BDthN00", "zHNFzLaRD74", "3osfwVYvr9Q", "6MQOSazKIBM", "65YPmUwlpOg", "1kxUvL8EOXM", "EZbTesfSMkw", "d9mbd0b-7YM", "Jd2q_DsdbmQ", "yPzBBP5JzxI", "8aig78KaZiA", "7gEvgXFd1Vg", ...] 12:49:08.595 [debug] QUERY OK source="media_items" db=0.8ms idle=327.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")))) [100] 12:49:08.597 [debug] QUERY OK source="tasks" db=0.4ms idle=327.9ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2191996, 100, ~U[2026-04-15 12:49:08Z], ~U[2026-04-15 12:49:08Z]] 12:49:08.598 [info] {"args":{"id":100},"id":2191961,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":331710,"event":"job:stop","queue_time":395444,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:49:11.884 [info] {"source":"oban","duration":17802,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:49:24.288 [info] {"args":{"id":48},"id":2191962,"meta":{},"system_time":1776257364288141114,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:49:24.288 [debug] QUERY OK source="sources" db=0.3ms idle=278.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" = ?) [48] 12:49:24.289 [debug] QUERY OK source="settings" db=0.2ms idle=278.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:49:24.289 [debug] QUERY OK source="media_profiles" db=0.2ms idle=279.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" = ?) [2] 12:49:24.290 [debug] QUERY OK source="settings" db=0.7ms idle=8.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:49:24.290 [debug] Fetching recent media IDs from YouTube API for playlist: UUMelszsqkhcGFC4vfLkGVOQ 12:49:24.291 [debug] QUERY OK source="settings" db=0.1ms idle=2.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:49:24.291 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 12:49:24.559 [debug] QUERY OK source="media_items" db=1.1ms idle=269.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [48, "PmG3oybHKdY", "_au26pq8dGI", "eItpUPME364", "sdXyr_GtpB8", "AViGvZhRZWQ", "rRsanBnxj8Y", "xIRRFVLdHWw", "nFpks9azxFw", "p1dN7GOS8lk", "5MIUwZCfYtE", "EbwfvogGFZI", "iCBSuwWnudY", "1_r0Q-v4isU", "c_MmMRfb9gs", "qj2F5CI116o", "yggPzlFyVxs", "hV5N4uTcwsM", "7CUt9DeECmM", "T4tn4URrQvY", "uNlSwNbXHSo", "HCk5v3zY5Nk", "jgGc7tsZX3Q", "j_GiVJ_DPuo", "42v1XziVgaQ", "RZc4HW07UR8", "058OTXSVAjI", "q6yvVULNEqE", "ZtoPi5lgdH4", "ArW4C-L3E58", "0ytb1nxp6pY", "x1bU7OyY1Qo", "_ceRQgRGZOA", "Ki8vlLEIAPg", "IXLO15CzwYE", "zq5XJNfiSB8", "NFLfR5DkC0E", "qW6QqvULhAo", "nVAN5M-acTo", "ItwW3qI-ISY", "AFytYHMjSVE", "Tqm0F4kwXe4", "8dY1jaKiYzk", "PWNCBzXAY8k", "ChBJS2NSuOo", "ujlSTgsjcco", "hyjshuuA1XA", "A1sIH6inhbk", "ma0MiXa6YXE", "1TXgsjGeo3A", ...] 12:49:24.562 [debug] QUERY OK source="media_items" db=0.9ms idle=271.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")))) [48] 12:49:24.563 [debug] QUERY OK source="tasks" db=0.2ms idle=272.2ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2191997, 48, ~U[2026-04-15 12:49:24Z], ~U[2026-04-15 12:49:24Z]] 12:49:24.564 [info] {"args":{"id":48},"id":2191962,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":275717,"event":"job:stop","queue_time":436878,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:49:34.302 [info] {"args":{"id":415},"id":2187115,"meta":{},"system_time":1776257374301927325,"max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 12:49:34.302 [debug] QUERY OK source="sources" db=0.3ms idle=291.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" = ?) [415] 12:49:34.303 [debug] QUERY OK source="settings" db=0.2ms idle=292.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:49:34.304 [debug] QUERY OK source="media_items" db=0.7ms idle=293.0ms SELECT count(*) FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [415] 12:49:34.304 [debug] QUERY OK source="media_items" db=0.2ms idle=8.8ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [415] 12:49:34.304 [debug] QUERY OK source="media_profiles" db=0.1ms 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" = ?) [2] 12:49:34.305 [debug] QUERY OK source="settings" db=0.1ms idle=2.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:49:34.305 [debug] QUERY OK source="settings" db=0.1ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:49:34.307 [debug] QUERY OK source="media_items" db=1.3ms 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 WHERE (m0."source_id" = ?) ORDER BY m0."uploaded_at" DESC LIMIT 50 OFFSET 20 [415] 12:49:34.309 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 12:49:34.309 [debug] Current batch of media processed. Will check again in 1000ms 12:49:34.309 [debug] QUERY OK source="settings" db=0.2ms idle=5.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:49:34.310 [debug] QUERY OK source="settings" db=0.1ms idle=5.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:49:34.310 [debug] QUERY OK source="settings" db=0.1ms idle=4.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:49:34.310 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@Captainahmedalomran/shorts --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/shorts/بودكاست كابتن أحمد/بودكاست كابتن أحمد - %(upload_date>%Y-%m-%d)S - [%(id)S].%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --break-on-existing --download-archive /tmp/pinchflat/data/36/3e/363e3ea1e15477fee8c2c79622577ec685a237b33de03251802d5fe1f79efd44.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/e9/ed/e9ed43873818b1e74f6f1ba9e01fa57814978a6350e49867034fbfb747480670.json --sleep-requests 4 --sleep-interval 5 --sleep-subtitles 4 --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 12:49:35.310 [debug] Current batch of media processed. Will check again in 1000ms 12:49:36.311 [debug] Current batch of media processed. Will check again in 1000ms 12:49:37.312 [debug] Current batch of media processed. Will check again in 1000ms 12:49:38.313 [debug] Current batch of media processed. Will check again in 1000ms 12:49:39.314 [debug] Current batch of media processed. Will check again in 1000ms 12:49:40.311 [info] {"args":{"id":304},"id":2187116,"meta":{},"system_time":1776257380311211545,"max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 12:49:40.311 [debug] QUERY OK source="sources" db=0.3ms idle=301.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" = ?) [304] 12:49:40.312 [debug] QUERY OK source="settings" db=0.2ms idle=301.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:49:40.312 [debug] QUERY OK source="media_profiles" db=0.2ms idle=302.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" = ?) [2] 12:49:40.313 [debug] QUERY OK source="settings" db=0.2ms idle=8.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:49:40.313 [debug] QUERY OK source="settings" db=0.1ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:49:40.315 [debug] Current batch of media processed. Will check again in 1000ms 12:49:40.322 [debug] QUERY OK source="media_items" db=0.9ms 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 WHERE (m0."source_id" = ?) ORDER BY m0."uploaded_at" DESC LIMIT 50 OFFSET 20 [304] 12:49:40.323 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 12:49:40.323 [debug] Current batch of media processed. Will check again in 1000ms 12:49:40.324 [debug] QUERY OK source="settings" db=0.2ms idle=11.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:49:40.324 [debug] QUERY OK source="settings" db=0.1ms idle=11.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:49:40.324 [debug] QUERY OK source="settings" db=0.1ms idle=10.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:49:40.324 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@alnhet/shorts --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/shorts/Mohammed Alnhet/Mohammed Alnhet - %(upload_date>%Y-%m-%d)S - [%(id)S].%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --break-on-existing --download-archive /tmp/pinchflat/data/ac/5a/ac5ae3811cbf7671e1a3ab775d2fd0f05bb93ce63db85047621be08aaa31ff53.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/a3/1a/a31ab7bdd65bdfaac52822a6ca076e533d8c7ad6f29cde8a505d89c6d5bee60d.json --sleep-requests 5 --sleep-interval 5 --sleep-subtitles 4 --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 12:49:41.316 [debug] Current batch of media processed. Will check again in 1000ms 12:49:41.324 [debug] Current batch of media processed. Will check again in 1000ms 12:49:41.903 [info] {"source":"oban","duration":18078,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:49:42.317 [debug] Current batch of media processed. Will check again in 1000ms 12:49:42.325 [debug] Current batch of media processed. Will check again in 1000ms 12:49:43.318 [debug] Current batch of media processed. Will check again in 1000ms 12:49:43.326 [debug] Current batch of media processed. Will check again in 1000ms 12:49:44.319 [debug] Current batch of media processed. Will check again in 1000ms 12:49:44.327 [debug] Current batch of media processed. Will check again in 1000ms 12:49:45.213 [info] GET /sources/443/media/4682085/force_download 12:49:45.214 [debug] QUERY OK source="settings" db=0.2ms idle=1203.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:49:45.214 [debug] QUERY OK source="settings" db=0.1ms idle=1204.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:49:45.214 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 12:49:45.214 [error] #PID<0.5490.0> running PinchflatWeb.Endpoint (connection #PID<0.5489.0>, stream id 1) terminated Server: jak.hibeex.com:80 (http) Request: GET /sources/443/media/4682085/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/443/media/4682085/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5489.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/443/media/4682085/force_download", host: "jak.hibeex.com", peer: {{172, 22, 0, 1}, 35048}, bindings: %{}, sock: {{172, 22, 0, 4}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYNzljRzVYNWQtWG1KNFhwakJUMkNNbG9q.CJ-mY4cxNVgBBRN1iBQRWVXDBEy-eVUn2rMlMy6McqQ", "from" => "gptbot(at)openai.com", "host" => "jak.hibeex.com", "referer" => "https://jak.hibeex.com/sources/443/media/4682085?prevent_download=true", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.232", "x-forwarded-proto" => "https", "x-openai-host-hash" => "41517590", "x-real-ip" => "74.7.243.232" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYNzljRzVYNWQtWG1KNFhwakJUMkNNbG9q.CJ-mY4cxNVgBBRN1iBQRWVXDBEy-eVUn2rMlMy6McqQ" }, halted: false, host: "jak.hibeex.com", method: "GET", owner: #PID<0.5490.0>, params: %{}, path_info: ["sources", "443", "media", "4682085", "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://jak.hibeex.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 22, 0, 1}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYNzljRzVYNWQtWG1KNFhwakJUMkNNbG9q.CJ-mY4cxNVgBBRN1iBQRWVXDBEy-eVUn2rMlMy6McqQ" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"connection", "close"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYNzljRzVYNWQtWG1KNFhwakJUMkNNbG9q.CJ-mY4cxNVgBBRN1iBQRWVXDBEy-eVUn2rMlMy6McqQ"}, {"from", "gptbot(at)openai.com"}, {"host", "jak.hibeex.com"}, {"referer", "https://jak.hibeex.com/sources/443/media/4682085?prevent_download=true"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)"}, {"x-forwarded-for", "74.7.243.232"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "41517590"}, {"x-real-ip", "74.7.243.232"} ], request_path: "/sources/443/media/4682085/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKaIrktO7583U5IAA04B"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5489.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/443/media/4682085/force_download", host: "jak.hibeex.com", peer: {{172, 22, 0, 1}, 35048}, bindings: %{}, sock: {{172, 22, 0, 4}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYNzljRzVYNWQtWG1KNFhwakJUMkNNbG9q.CJ-mY4cxNVgBBRN1iBQRWVXDBEy-eVUn2rMlMy6McqQ", "from" => "gptbot(at)openai.com", "host" => "jak.hibeex.com", "referer" => "https://jak.hibeex.com/sources/443/media/4682085?prevent_download=true", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.232", "x-forwarded-proto" => "https", "x-openai-host-hash" => "41517590", "x-real-ip" => "74.7.243.232" }, method: "GET", body_length: 0, path_info: :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/443/media/4682085/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5489.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/443/media/4682085/force_download", host: "jak.hibeex.com", peer: {{172, 22, 0, 1}, 35048}, bindings: %{}, sock: {{172, 22, 0, 4}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYNzljRzVYNWQtWG1KNFhwakJUMkNNbG9q.CJ-mY4cxNVgBBRN1iBQRWVXDBEy-eVUn2rMlMy6McqQ", "from" => "gptbot(at)openai.com", "host" => "jak.hibeex.com", "referer" => "https://jak.hibeex.com/sources/443/media/4682085?prevent_download=true", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.232", "x-forwarded-proto" => "https", "x-openai-host-hash" => "41517590", "x-real-ip" => "74.7.243.232" }, method: "GET", body_length: 0, path_info: :und (truncated) 12:49:45.320 [debug] Current batch of media processed. Will check again in 1000ms 12:49:45.328 [debug] Current batch of media processed. Will check again in 1000ms 12:49:46.321 [debug] Current batch of media processed. Will check again in 1000ms 12:49:46.329 [debug] Current batch of media processed. Will check again in 1000ms 12:49:47.322 [debug] Current batch of media processed. Will check again in 1000ms 12:49:47.330 [debug] Current batch of media processed. Will check again in 1000ms 12:49:48.323 [debug] Current batch of media processed. Will check again in 1000ms 12:49:48.331 [debug] Current batch of media processed. Will check again in 1000ms 12:49:49.324 [debug] Current batch of media processed. Will check again in 1000ms 12:49:49.332 [debug] Current batch of media processed. Will check again in 1000ms 12:49:50.325 [debug] Current batch of media processed. Will check again in 1000ms 12:49:50.333 [debug] Current batch of media processed. Will check again in 1000ms 12:49:51.326 [debug] Current batch of media processed. Will check again in 1000ms 12:49:51.334 [debug] Current batch of media processed. Will check again in 1000ms 12:49:52.327 [debug] Current batch of media processed. Will check again in 1000ms 12:49:52.335 [debug] Current batch of media processed. Will check again in 1000ms 12:49:53.328 [debug] Current batch of media processed. Will check again in 1000ms 12:49:53.336 [debug] Current batch of media processed. Will check again in 1000ms 12:49:54.329 [debug] Current batch of media processed. Will check again in 1000ms 12:49:54.337 [debug] Current batch of media processed. Will check again in 1000ms 12:49:55.330 [debug] Current batch of media processed. Will check again in 1000ms 12:49:55.338 [debug] Current batch of media processed. Will check again in 1000ms 12:49:56.331 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "🔹 موقف طريف!\n\n🔹 قصة بطل من أبطال فرسان المملكة العربية السعودية | #بودكاست_كابتن_أحمد\n\n🎙️ حلقة جديدة تحمل في طيّاتها قصة كفاح، شغف، وبطولة، نسلّط فيها الضوء على مسيرة أحد فرسان المملكة العربية السعودية، وكيف كانت بدايته، وتحدياته، وصولًا للإنجازات ورفع اسم الوطن في ميادين الفروسية.\n\n📌 حلقة اليوم تهم:\n\nعشّاق الفروسية\n\nالرياضيين\n\nوكل من يبحث عن الإلهام وقصص النجاح\n\n🎙️ الآن حلقة جديدة تحكي رحلة بطل من أبطال فرسان المملكة بكل تفاصيلها\n\n🎯 يمكنكم الآن مشاهدة الحلقة كاملة على بودكاست كابتن أحمد عبر الرابط 👇🏻\nhttps://youtu.be/F_DygOUziFk\n\n@bo.omar72\n@saad_a_alajmi\n\n#الكابتن_أحمد\n#فرسان_المملكة\n#الفروسية\n#الخيل\n#قصص_نجاح\n#الرياضة_السعودية", "duration" => 78, "filename" => "/downloads/shorts/بودكاست كابتن أحمد/بودكاست كابتن أحمد - 2026-01-30 - [RIAEQ3zHQBg].mp4", "id" => "RIAEQ3zHQBg", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/RIAEQ3zHQBg", "playlist_index" => 1, "timestamp" => 1769763901, "title" => "🔹 موقف طريف! | قصة بطل من أبطال فرسان المملكة العربية السعودية | #بودكاست_كابتن_أحمد", "upload_date" => "20260130"} 12:49:56.331 [debug] QUERY OK source="sources" db=0.2ms idle=1321.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" IN (?)) [415] 12:49:56.332 [debug] QUERY OK source="sources" db=0.2ms idle=1321.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" = ?) [415] 12:49:56.333 [debug] QUERY OK source="media_items" db=0.5ms idle=1009.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-30 09:05:01Z], 415] 12:49:56.335 [debug] QUERY OK source="media_items" db=1.3ms idle=323.1ms 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" ["🔹 موقف طريف!\n\n🔹 قصة بطل من أبطال فرسان المملكة العربية السعودية | #بودكاست_كابتن_أحمد\n\n🎙️ حلقة جديدة تحمل في طيّاتها قصة كفاح، شغف، وبطولة، نسلّط فيها الضوء على مسيرة أحد فرسان المملكة العربية السعودية، وكيف كانت بدايته، وتحدياته، وصولًا للإنجازات ورفع اسم الوطن في ميادين الفروسية.\n\n📌 حلقة اليوم تهم:\n\nعشّاق الفروسية\n\nالرياضيين\n\nوكل من يبحث عن الإلهام وقصص النجاح\n\n🎙️ الآن حلقة جديدة تحكي رحلة بطل من أبطال فرسان المملكة بكل تفاصيلها\n\n🎯 يمكنكم الآن مشاهدة الحلقة كاملة على بودكاست كابتن أحمد عبر الرابط 👇🏻\nhttps://youtu.be/F_DygOUziFk\n\n@bo.omar72\n@saad_a_alajmi\n\n#الكابتن_أحمد\n#فرسان_المملكة\n#الفروسية\n#الخيل\n#قصص_نجاح\n#الرياضة_السعودية", "🔹 موقف طريف! | قصة بطل من أبطال فرسان المملكة العربية السعودية | #بودكاست_كابتن_أحمد", "58ed517f-cbd7-4c5a-9035-d7fbd0b5d938", 78, false, "RIAEQ3zHQBg", "https://www.youtube.com/shorts/RIAEQ3zHQBg", 1, "/downloads/shorts/بودكاست كابتن أحمد/بودكاست كابتن أحمد - 2026-01-30 - [RIAEQ3zHQBg].mp4", false, false, true, 415, [], 98, ~U[2026-01-30 09:05:01Z], ~U[2026-04-15 12:49:56Z], ~U[2026-04-15 12:49:56Z], "🔹 موقف طريف!\n\n🔹 قصة بطل من أبطال فرسان المملكة العربية السعودية | #بودكاست_كابتن_أحمد\n\n🎙️ حلقة جديدة تحمل في طيّاتها قصة كفاح، شغف، وبطولة، نسلّط فيها الضوء على مسيرة أحد فرسان المملكة العربية السعودية، وكيف كانت بدايته، وتحدياته، وصولًا للإنجازات ورفع اسم الوطن في ميادين الفروسية.\n\n📌 حلقة اليوم تهم:\n\nعشّاق الفروسية\n\nالرياضيين\n\nوكل من يبحث عن الإلهام وقصص النجاح\n\n🎙️ الآن حلقة جديدة تحكي رحلة بطل من أبطال فرسان المملكة بكل تفاصيلها\n\n🎯 يمكنكم الآن مشاهدة الحلقة كاملة على بودكاست كابتن أحمد عبر الرابط 👇🏻\nhttps://youtu.be/F_DygOUziFk\n\n@bo.omar72\n@saad_a_alajmi\n\n#الكابتن_أحمد\n#فرسان_المملكة\n#الفروسية\n#الخيل\n#قصص_نجاح\n#الرياضة_السعودية", "🔹 موقف طريف! | قصة بطل من أبطال فرسان المملكة العربية السعودية | #بودكاست_كابتن_أحمد", 78, false, "RIAEQ3zHQBg", "https://www.youtube.com/shorts/RIAEQ3zHQBg", "/downloads/shorts/بودكاست كابتن أحمد/بودكاست كابتن أحمد - 2026-01-30 - [RIAEQ3zHQBg].mp4", true, 415, ~U[2026-01-30 09:05:01Z]] 12:49:56.335 [debug] QUERY OK source="sources" db=0.3ms idle=11.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [415] 12:49:56.336 [debug] QUERY OK source="media_profiles" db=0.2ms idle=4.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 12:49:56.336 [debug] QUERY OK source="media_items" db=0.4ms idle=4.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 [4630800] 12:49:56.337 [debug] Current batch of media processed. Will check again in 1000ms 12:49:56.339 [debug] Current batch of media processed. Will check again in 1000ms 12:49:57.338 [debug] Current batch of media processed. Will check again in 1000ms 12:49:57.340 [debug] Current batch of media processed. Will check again in 1000ms 12:49:58.339 [debug] Current batch of media processed. Will check again in 1000ms 12:49:58.341 [debug] Current batch of media processed. Will check again in 1000ms 12:49:59.340 [debug] Current batch of media processed. Will check again in 1000ms 12:49:59.342 [debug] Current batch of media processed. Will check again in 1000ms 12:50:00.341 [debug] Current batch of media processed. Will check again in 1000ms 12:50:00.343 [debug] Current batch of media processed. Will check again in 1000ms 12:50:00.826 [info] {"source":"oban","duration":227,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:50:01.342 [debug] Current batch of media processed. Will check again in 1000ms 12:50:01.344 [debug] Current batch of media processed. Will check again in 1000ms 12:50:02.343 [debug] Current batch of media processed. Will check again in 1000ms 12:50:02.345 [debug] Current batch of media processed. Will check again in 1000ms 12:50:03.344 [debug] Current batch of media processed. Will check again in 1000ms 12:50:03.346 [debug] Current batch of media processed. Will check again in 1000ms 12:50:04.345 [debug] Current batch of media processed. Will check again in 1000ms 12:50:04.347 [debug] Current batch of media processed. Will check again in 1000ms 12:50:05.346 [debug] Current batch of media processed. Will check again in 1000ms 12:50:05.348 [debug] Current batch of media processed. Will check again in 1000ms 12:50:06.347 [debug] Current batch of media processed. Will check again in 1000ms 12:50:06.349 [debug] Current batch of media processed. Will check again in 1000ms 12:50:07.348 [debug] Current batch of media processed. Will check again in 1000ms 12:50:07.350 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "شكراً لك على مشاهدتك وتفاعلك دائماً واوعدك دائماً بالشيء الجميل والمفيد\n\nللتواصل والاعلانات على الايميل او الواتس اب\nalnhet.tv@gmail.com\n+966549045004\n\nاشترك في قناتي بالتلقرام\nhttps://t.me/alnhet\nتويتر\nhttps://twitter.com/M_Alnhet\nانستقرام\nhttps://www.instagram.com/m_alnhet/\nسناب شات\nhttps://www.snapchat.com/add/m_alnhet\nللتواصل على الايميل\nalnhet.tv@gmail.com", "duration" => 59, "filename" => "/downloads/shorts/Mohammed Alnhet/Mohammed Alnhet - 2025-08-19 - [SYfnnzAY7iM].mp4", "id" => "SYfnnzAY7iM", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/SYfnnzAY7iM", "playlist_index" => 1, "timestamp" => 1755602816, "title" => "خادمة روبوت !! | #بودكاست_باكورة", "upload_date" => "20250819"} 12:50:07.350 [debug] QUERY OK source="sources" db=0.2ms idle=1340.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" IN (?)) [304] 12:50:07.351 [debug] QUERY OK source="sources" db=0.1ms idle=1340.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" = ?) [304] 12:50:07.351 [debug] QUERY OK source="media_items" db=0.3ms idle=1341.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-08-19 11:26:56Z], 304] 12:50:07.353 [debug] QUERY OK source="media_items" db=1.0ms idle=1017.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" ["شكراً لك على مشاهدتك وتفاعلك دائماً واوعدك دائماً بالشيء الجميل والمفيد\n\nللتواصل والاعلانات على الايميل او الواتس اب\nalnhet.tv@gmail.com\n+966549045004\n\nاشترك في قناتي بالتلقرام\nhttps://t.me/alnhet\nتويتر\nhttps://twitter.com/M_Alnhet\nانستقرام\nhttps://www.instagram.com/m_alnhet/\nسناب شات\nhttps://www.snapchat.com/add/m_alnhet\nللتواصل على الايميل\nalnhet.tv@gmail.com", "خادمة روبوت !! | #بودكاست_باكورة", "5d293f89-b238-4e18-83cc-553e41b864d0", 59, false, "SYfnnzAY7iM", "https://www.youtube.com/shorts/SYfnnzAY7iM", 1, "/downloads/shorts/Mohammed Alnhet/Mohammed Alnhet - 2025-08-19 - [SYfnnzAY7iM].mp4", false, false, true, 304, [], 98, ~U[2025-08-19 11:26:56Z], ~U[2026-04-15 12:50:07Z], ~U[2026-04-15 12:50:07Z], "شكراً لك على مشاهدتك وتفاعلك دائماً واوعدك دائماً بالشيء الجميل والمفيد\n\nللتواصل والاعلانات على الايميل او الواتس اب\nalnhet.tv@gmail.com\n+966549045004\n\nاشترك في قناتي بالتلقرام\nhttps://t.me/alnhet\nتويتر\nhttps://twitter.com/M_Alnhet\nانستقرام\nhttps://www.instagram.com/m_alnhet/\nسناب شات\nhttps://www.snapchat.com/add/m_alnhet\nللتواصل على الايميل\nalnhet.tv@gmail.com", "خادمة روبوت !! | #بودكاست_باكورة", 59, false, "SYfnnzAY7iM", "https://www.youtube.com/shorts/SYfnnzAY7iM", "/downloads/shorts/Mohammed Alnhet/Mohammed Alnhet - 2025-08-19 - [SYfnnzAY7iM].mp4", true, 304, ~U[2025-08-19 11:26:56Z]] 12:50:07.354 [debug] QUERY OK source="sources" db=0.3ms idle=17.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" = ?) [304] 12:50:07.354 [debug] Current batch of media processed. Will check again in 1000ms 12:50:08.349 [debug] Current batch of media processed. Will check again in 1000ms 12:50:08.355 [debug] Current batch of media processed. Will check again in 1000ms 12:50:09.350 [debug] Current batch of media processed. Will check again in 1000ms 12:50:09.356 [debug] Current batch of media processed. Will check again in 1000ms 12:50:10.351 [debug] Current batch of media processed. Will check again in 1000ms 12:50:10.357 [debug] Current batch of media processed. Will check again in 1000ms 12:50:11.352 [debug] Current batch of media processed. Will check again in 1000ms 12:50:11.358 [debug] Current batch of media processed. Will check again in 1000ms 12:50:11.921 [info] {"source":"oban","duration":17701,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:50:12.353 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "🔹 متى تشتري خيل؟\n\n🔹 قصة بطل من أبطال فرسان المملكة العربية السعودية | #بودكاست_كابتن_أحمد\n\n🎙️ حلقة جديدة تحمل في طيّاتها قصة كفاح، شغف، وبطولة، نسلّط فيها الضوء على مسيرة أحد فرسان المملكة العربية السعودية، وكيف كانت بدايته، وتحدياته، وصولًا للإنجازات ورفع اسم الوطن في ميادين الفروسية.\n\n📌 حلقة اليوم تهم:\n\nعشّاق الفروسية\n\nالرياضيين\n\nوكل من يبحث عن الإلهام وقصص النجاح\n\n🎙️ الآن حلقة جديدة تحكي رحلة بطل من أبطال فرسان المملكة بكل تفاصيلها\n\n🎯 يمكنكم الآن مشاهدة الحلقة كاملة على بودكاست كابتن أحمد عبر الرابط 👇🏻\nhttps://youtu.be/F_DygOUziFk\n\n@bo.omar72\n@saad_a_alajmi\n\n#الكابتن_أحمد\n#فرسان_المملكة\n#الفروسية\n#الخيل\n#قصص_نجاح\n#الرياضة_السعودية", "duration" => 111, "filename" => "/downloads/shorts/بودكاست كابتن أحمد/بودكاست كابتن أحمد - 2026-01-28 - [CONuUBbMnk0].mp4", "id" => "CONuUBbMnk0", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/CONuUBbMnk0", "playlist_index" => 2, "timestamp" => 1769587228, "title" => "🔹 متى تشتري خيل؟ | قصة بطل من أبطال فرسان المملكة العربية السعودية | #بودكاست_كابتن_أحمد", "upload_date" => "20260128"} 12:50:12.353 [debug] QUERY OK source="sources" db=0.2ms idle=1343.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" IN (?)) [415] 12:50:12.354 [debug] QUERY OK source="sources" db=0.1ms idle=1343.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" = ?) [415] 12:50:12.355 [debug] QUERY OK source="media_items" db=0.4ms idle=1013.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-28 08:00:28Z], 415] 12:50:12.356 [debug] QUERY OK source="media_items" db=1.1ms idle=433.4ms 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" ["🔹 متى تشتري خيل؟\n\n🔹 قصة بطل من أبطال فرسان المملكة العربية السعودية | #بودكاست_كابتن_أحمد\n\n🎙️ حلقة جديدة تحمل في طيّاتها قصة كفاح، شغف، وبطولة، نسلّط فيها الضوء على مسيرة أحد فرسان المملكة العربية السعودية، وكيف كانت بدايته، وتحدياته، وصولًا للإنجازات ورفع اسم الوطن في ميادين الفروسية.\n\n📌 حلقة اليوم تهم:\n\nعشّاق الفروسية\n\nالرياضيين\n\nوكل من يبحث عن الإلهام وقصص النجاح\n\n🎙️ الآن حلقة جديدة تحكي رحلة بطل من أبطال فرسان المملكة بكل تفاصيلها\n\n🎯 يمكنكم الآن مشاهدة الحلقة كاملة على بودكاست كابتن أحمد عبر الرابط 👇🏻\nhttps://youtu.be/F_DygOUziFk\n\n@bo.omar72\n@saad_a_alajmi\n\n#الكابتن_أحمد\n#فرسان_المملكة\n#الفروسية\n#الخيل\n#قصص_نجاح\n#الرياضة_السعودية", "🔹 متى تشتري خيل؟ | قصة بطل من أبطال فرسان المملكة العربية السعودية | #بودكاست_كابتن_أحمد", "2f2f541f-4b24-485c-90cb-1b82fce166ab", 111, false, "CONuUBbMnk0", "https://www.youtube.com/shorts/CONuUBbMnk0", 2, "/downloads/shorts/بودكاست كابتن أحمد/بودكاست كابتن أحمد - 2026-01-28 - [CONuUBbMnk0].mp4", false, false, true, 415, [], 98, ~U[2026-01-28 08:00:28Z], ~U[2026-04-15 12:50:12Z], ~U[2026-04-15 12:50:12Z], "🔹 متى تشتري خيل؟\n\n🔹 قصة بطل من أبطال فرسان المملكة العربية السعودية | #بودكاست_كابتن_أحمد\n\n🎙️ حلقة جديدة تحمل في طيّاتها قصة كفاح، شغف، وبطولة، نسلّط فيها الضوء على مسيرة أحد فرسان المملكة العربية السعودية، وكيف كانت بدايته، وتحدياته، وصولًا للإنجازات ورفع اسم الوطن في ميادين الفروسية.\n\n📌 حلقة اليوم تهم:\n\nعشّاق الفروسية\n\nالرياضيين\n\nوكل من يبحث عن الإلهام وقصص النجاح\n\n🎙️ الآن حلقة جديدة تحكي رحلة بطل من أبطال فرسان المملكة بكل تفاصيلها\n\n🎯 يمكنكم الآن مشاهدة الحلقة كاملة على بودكاست كابتن أحمد عبر الرابط 👇🏻\nhttps://youtu.be/F_DygOUziFk\n\n@bo.omar72\n@saad_a_alajmi\n\n#الكابتن_أحمد\n#فرسان_المملكة\n#الفروسية\n#الخيل\n#قصص_نجاح\n#الرياضة_السعودية", "🔹 متى تشتري خيل؟ | قصة بطل من أبطال فرسان المملكة العربية السعودية | #بودكاست_كابتن_أحمد", 111, false, "CONuUBbMnk0", "https://www.youtube.com/shorts/CONuUBbMnk0", "/downloads/shorts/بودكاست كابتن أحمد/بودكاست كابتن أحمد - 2026-01-28 - [CONuUBbMnk0].mp4", true, 415, ~U[2026-01-28 08:00:28Z]] 12:50:12.357 [debug] QUERY OK source="sources" db=0.3ms idle=15.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [415] 12:50:12.357 [debug] QUERY OK source="media_profiles" db=0.2ms idle=3.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 12:50:12.358 [debug] QUERY OK source="media_items" db=0.3ms 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 [4630802] 12:50:12.358 [debug] Current batch of media processed. Will check again in 1000ms 12:50:12.359 [debug] Current batch of media processed. Will check again in 1000ms 12:50:13.359 [debug] Current batch of media processed. Will check again in 1000ms 12:50:13.360 [debug] Current batch of media processed. Will check again in 1000ms 12:50:14.360 [debug] Current batch of media processed. Will check again in 1000ms 12:50:14.361 [debug] Current batch of media processed. Will check again in 1000ms 12:50:15.353 [info] {"args":{"id":369},"id":2191963,"meta":{},"system_time":1776257415353115423,"max_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:15.353 [debug] QUERY OK source="sources" db=0.2ms idle=1343.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" = ?) [369] 12:50:15.354 [debug] QUERY OK source="settings" db=0.2ms idle=1343.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:15.354 [debug] QUERY OK source="media_profiles" db=0.2ms idle=1009.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" = ?) [2] 12:50:15.355 [debug] QUERY OK source="settings" db=0.7ms idle=8.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:50:15.355 [debug] Fetching recent media IDs from YouTube API for playlist: UUFip-ErYXshRD3JDzriXN8A 12:50:15.356 [debug] QUERY OK source="settings" db=0.1ms idle=2.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:50:15.356 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 12:50:15.361 [debug] Current batch of media processed. Will check again in 1000ms 12:50:15.362 [debug] Current batch of media processed. Will check again in 1000ms 12:50:15.615 [debug] QUERY OK source="media_items" db=1.3ms 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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [369, "DQv6aNQGC7U", "bRWEUhphHPE", "VvVu3U8zWOk", "ymIGDQ_lFic", "sn5er6zKTOM", "l9SYxo3_WYA", "osD94bZvUNI", "x8k0cka3Jrs", "7DViK_gisxQ", "1kUHccnNCBE", "AT_LfjiIfBs", "z7VTLIQIyXU", "Gdhcgro17Jw", "OD4Qw7uHCDY", "yLhAyK4fueE", "S1Rqu2jZ3UQ", "EMT89YeL3_g", "8vYZG1ZQo8Y", "jz0YVdItrbE", "aKVtJOvfKzo", "tghPmSQT2Wk", "jdyjuGoXtDM", "StnfONNEX2I", "WN2lzujwn_E", "rginTPQL0Cg", "FTjStFQp_t8", "raC19wUTKFg", "mSuYy69iqzc", "iGQa4KKLsZs", "yDL4zfreZoA", "qQ3Pu_-jSV0", "jaWsFdp-IOY", "sCmYYToePnc", "B516P24Ybv8", "VZdGUFgS_4c", "rwWM2fmlaAs", "nynfq_Mkh-g", "qVK33N5Bub8", "uf23M5FpLuI", "dJwsQ1VZN30", "ZYqB8-5sm1U", "-NFujChdR2Y", "0GdSItbC5Zo", "YW2nunQNtoc", "7bZxSj5IWrw", "TVgZaGPrRQc", "edD3Xrrqb-w", "xZrmgMBcPlI", "sTSgoM5zlHI", ...] 12:50:15.617 [debug] QUERY OK source="media_items" db=0.7ms idle=262.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")))) [369] 12:50:15.619 [debug] QUERY OK source="tasks" db=0.3ms idle=262.5ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2191998, 369, ~U[2026-04-15 12:50:15Z], ~U[2026-04-15 12:50:15Z]] 12:50:15.619 [info] {"args":{"id":369},"id":2191963,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":266069,"event":"job:stop","queue_time":449668,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:50:16.362 [debug] Current batch of media processed. Will check again in 1000ms 12:50:16.363 [debug] Current batch of media processed. Will check again in 1000ms 12:50:17.363 [debug] Current batch of media processed. Will check again in 1000ms 12:50:17.364 [debug] Current batch of media processed. Will check again in 1000ms 12:50:18.364 [debug] Current batch of media processed. Will check again in 1000ms 12:50:18.365 [debug] Current batch of media processed. Will check again in 1000ms 12:50:19.365 [debug] Current batch of media processed. Will check again in 1000ms 12:50:19.366 [debug] Current batch of media processed. Will check again in 1000ms 12:50:20.366 [debug] Current batch of media processed. Will check again in 1000ms 12:50:20.367 [debug] Current batch of media processed. Will check again in 1000ms 12:50:21.367 [debug] Current batch of media processed. Will check again in 1000ms 12:50:21.368 [debug] Current batch of media processed. Will check again in 1000ms 12:50:22.368 [debug] Current batch of media processed. Will check again in 1000ms 12:50:22.369 [debug] Current batch of media processed. Will check again in 1000ms 12:50:23.150 [info] GET /sources/348/media/4611780 12:50:23.150 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "4611780", "prevent_download" => "true", "source_id" => "348"} Pipelines: [:browser] 12:50:23.150 [debug] QUERY OK source="media_items" db=0.2ms idle=793.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" = ?) [4611780] 12:50:23.151 [debug] QUERY OK source="tasks" db=0.2ms idle=140.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" [4611780] 12:50:23.151 [debug] QUERY OK source="sources" db=0.5ms idle=141.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" = ?) [348] 12:50:23.152 [debug] QUERY OK source="settings" db=0.2ms idle=141.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:23.152 [debug] QUERY OK source="settings" db=0.1ms idle=142.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:23.153 [debug] QUERY OK source="settings" db=0.1ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:50:23.154 [debug] QUERY OK source="media_profiles" db=0.2ms idle=2.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" = ?) [2] 12:50:23.156 [info] Sent 200 in 5ms 12:50:23.369 [debug] Current batch of media processed. Will check again in 1000ms 12:50:23.370 [debug] Current batch of media processed. Will check again in 1000ms 12:50:24.370 [debug] Current batch of media processed. Will check again in 1000ms 12:50:24.371 [debug] Current batch of media processed. Will check again in 1000ms 12:50:25.371 [debug] Current batch of media processed. Will check again in 1000ms 12:50:25.372 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "", "duration" => 58, "filename" => "/downloads/shorts/Mohammed Alnhet/Mohammed Alnhet - 2025-08-18 - [a5FrGc0D4BE].mp4", "id" => "a5FrGc0D4BE", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/a5FrGc0D4BE", "playlist_index" => 2, "timestamp" => 1755513262, "title" => "كيف تقدر تتحكم في نفسك ؟ 🤔#الخطوة_القادمة", "upload_date" => "20250818"} 12:50:25.372 [debug] QUERY OK source="sources" db=0.1ms idle=362.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" IN (?)) [304] 12:50:25.373 [debug] QUERY OK source="sources" db=0.1ms idle=362.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" = ?) [304] 12:50:25.373 [debug] QUERY OK source="media_items" db=0.2ms idle=363.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-08-18 10:34:22Z], 304] 12:50:25.374 [debug] QUERY OK source="media_items" db=0.7ms idle=363.7ms INSERT INTO "media_items" AS m0 ("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) 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" ["كيف تقدر تتحكم في نفسك ؟ 🤔#الخطوة_القادمة", "634edca8-21ff-494c-ab83-45779502386c", 58, false, "a5FrGc0D4BE", "https://www.youtube.com/shorts/a5FrGc0D4BE", 2, "/downloads/shorts/Mohammed Alnhet/Mohammed Alnhet - 2025-08-18 - [a5FrGc0D4BE].mp4", false, false, true, 304, [], 98, ~U[2025-08-18 10:34:22Z], ~U[2026-04-15 12:50:25Z], ~U[2026-04-15 12:50:25Z], "", "كيف تقدر تتحكم في نفسك ؟ 🤔#الخطوة_القادمة", 58, false, "a5FrGc0D4BE", "https://www.youtube.com/shorts/a5FrGc0D4BE", "/downloads/shorts/Mohammed Alnhet/Mohammed Alnhet - 2025-08-18 - [a5FrGc0D4BE].mp4", true, 304, ~U[2025-08-18 10:34:22Z]] 12:50:25.375 [debug] QUERY OK source="sources" db=0.2ms idle=14.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [304] 12:50:25.375 [debug] Current batch of media processed. Will check again in 1000ms 12:50:26.372 [debug] Current batch of media processed. Will check again in 1000ms 12:50:26.376 [debug] Current batch of media processed. Will check again in 1000ms 12:50:27.373 [debug] Current batch of media processed. Will check again in 1000ms 12:50:27.377 [debug] Current batch of media processed. Will check again in 1000ms 12:50:28.374 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "🔹 دعم الأهل\n\n🔹 قصة بطل من أبطال فرسان المملكة العربية السعودية | #بودكاست_كابتن_أحمد\n\n🎙️ حلقة جديدة تحمل في طيّاتها قصة كفاح، شغف، وبطولة، نسلّط فيها الضوء على مسيرة أحد فرسان المملكة العربية السعودية، وكيف كانت بدايته، وتحدياته، وصولًا للإنجازات ورفع اسم الوطن في ميادين الفروسية.\n\n📌 حلقة اليوم تهم:\n\nعشّاق الفروسية\n\nالرياضيين\n\nوكل من يبحث عن الإلهام وقصص النجاح\n\n🎙️ الآن حلقة جديدة تحكي رحلة بطل من أبطال فرسان المملكة بكل تفاصيلها\n\n🎯 يمكنكم الآن مشاهدة الحلقة كاملة على بودكاست كابتن أحمد 👇🏻\nhttps://youtu.be/F_DygOUziFk\n\n@bo.omar72\n@saad_a_alajmi\n\n#الكابتن_أحمد\n#فرسان_المملكة\n#الفروسية\n#الخيل\n#قصص_نجاح\n#الرياضة_السعودية", "duration" => 68, "filename" => "/downloads/shorts/بودكاست كابتن أحمد/بودكاست كابتن أحمد - 2026-01-26 - [1ZcMmwLhoY4].mp4", "id" => "1ZcMmwLhoY4", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/1ZcMmwLhoY4", "playlist_index" => 3, "timestamp" => 1769414403, "title" => "🔹 دعم الأهل | قصة بطل من أبطال فرسان المملكة العربية السعودية | #بودكاست_كابتن_أحمد", "upload_date" => "20260126"} 12:50:28.375 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=1364.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" IN (?)) [415] 12:50:28.375 [debug] QUERY OK source="sources" db=0.1ms idle=1365.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" = ?) [415] 12:50:28.376 [debug] QUERY OK source="media_items" db=0.4ms idle=1365.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-26 08:00:03Z], 415] 12:50:28.378 [debug] Current batch of media processed. Will check again in 1000ms 12:50:28.378 [debug] QUERY OK source="media_items" db=1.1ms idle=1013.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" ["🔹 دعم الأهل\n\n🔹 قصة بطل من أبطال فرسان المملكة العربية السعودية | #بودكاست_كابتن_أحمد\n\n🎙️ حلقة جديدة تحمل في طيّاتها قصة كفاح، شغف، وبطولة، نسلّط فيها الضوء على مسيرة أحد فرسان المملكة العربية السعودية، وكيف كانت بدايته، وتحدياته، وصولًا للإنجازات ورفع اسم الوطن في ميادين الفروسية.\n\n📌 حلقة اليوم تهم:\n\nعشّاق الفروسية\n\nالرياضيين\n\nوكل من يبحث عن الإلهام وقصص النجاح\n\n🎙️ الآن حلقة جديدة تحكي رحلة بطل من أبطال فرسان المملكة بكل تفاصيلها\n\n🎯 يمكنكم الآن مشاهدة الحلقة كاملة على بودكاست كابتن أحمد 👇🏻\nhttps://youtu.be/F_DygOUziFk\n\n@bo.omar72\n@saad_a_alajmi\n\n#الكابتن_أحمد\n#فرسان_المملكة\n#الفروسية\n#الخيل\n#قصص_نجاح\n#الرياضة_السعودية", "🔹 دعم الأهل | قصة بطل من أبطال فرسان المملكة العربية السعودية | #بودكاست_كابتن_أحمد", "94698b96-eb2b-4f83-a899-56f3d3a705ad", 68, false, "1ZcMmwLhoY4", "https://www.youtube.com/shorts/1ZcMmwLhoY4", 3, "/downloads/shorts/بودكاست كابتن أحمد/بودكاست كابتن أحمد - 2026-01-26 - [1ZcMmwLhoY4].mp4", false, false, true, 415, [], 98, ~U[2026-01-26 08:00:03Z], ~U[2026-04-15 12:50:28Z], ~U[2026-04-15 12:50:28Z], "🔹 دعم الأهل\n\n🔹 قصة بطل من أبطال فرسان المملكة العربية السعودية | #بودكاست_كابتن_أحمد\n\n🎙️ حلقة جديدة تحمل في طيّاتها قصة كفاح، شغف، وبطولة، نسلّط فيها الضوء على مسيرة أحد فرسان المملكة العربية السعودية، وكيف كانت بدايته، وتحدياته، وصولًا للإنجازات ورفع اسم الوطن في ميادين الفروسية.\n\n📌 حلقة اليوم تهم:\n\nعشّاق الفروسية\n\nالرياضيين\n\nوكل من يبحث عن الإلهام وقصص النجاح\n\n🎙️ الآن حلقة جديدة تحكي رحلة بطل من أبطال فرسان المملكة بكل تفاصيلها\n\n🎯 يمكنكم الآن مشاهدة الحلقة كاملة على بودكاست كابتن أحمد 👇🏻\nhttps://youtu.be/F_DygOUziFk\n\n@bo.omar72\n@saad_a_alajmi\n\n#الكابتن_أحمد\n#فرسان_المملكة\n#الفروسية\n#الخيل\n#قصص_نجاح\n#الرياضة_السعودية", "🔹 دعم الأهل | قصة بطل من أبطال فرسان المملكة العربية السعودية | #بودكاست_كابتن_أحمد", 68, false, "1ZcMmwLhoY4", "https://www.youtube.com/shorts/1ZcMmwLhoY4", "/downloads/shorts/بودكاست كابتن أحمد/بودكاست كابتن أحمد - 2026-01-26 - [1ZcMmwLhoY4].mp4", true, 415, ~U[2026-01-26 08:00:03Z]] 12:50:28.378 [debug] QUERY OK source="sources" db=0.2ms idle=14.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [415] 12:50:28.379 [debug] QUERY OK source="media_profiles" db=0.2ms idle=3.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 12:50:28.380 [debug] QUERY OK source="media_items" db=0.3ms idle=3.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 [4630804] 12:50:28.380 [debug] Current batch of media processed. Will check again in 1000ms 12:50:29.379 [debug] Current batch of media processed. Will check again in 1000ms 12:50:29.381 [debug] Current batch of media processed. Will check again in 1000ms 12:50:30.380 [debug] Current batch of media processed. Will check again in 1000ms 12:50:30.382 [debug] Current batch of media processed. Will check again in 1000ms 12:50:31.381 [debug] Current batch of media processed. Will check again in 1000ms 12:50:31.383 [debug] Current batch of media processed. Will check again in 1000ms 12:50:32.382 [debug] Current batch of media processed. Will check again in 1000ms 12:50:32.384 [debug] Current batch of media processed. Will check again in 1000ms 12:50:33.383 [debug] Current batch of media processed. Will check again in 1000ms 12:50:33.385 [debug] Current batch of media processed. Will check again in 1000ms 12:50:34.384 [debug] Current batch of media processed. Will check again in 1000ms 12:50:34.386 [debug] Current batch of media processed. Will check again in 1000ms 12:50:35.385 [debug] Current batch of media processed. Will check again in 1000ms 12:50:35.387 [debug] Current batch of media processed. Will check again in 1000ms 12:50:36.386 [debug] Current batch of media processed. Will check again in 1000ms 12:50:36.388 [debug] Current batch of media processed. Will check again in 1000ms 12:50:37.387 [debug] Current batch of media processed. Will check again in 1000ms 12:50:37.389 [debug] Current batch of media processed. Will check again in 1000ms 12:50:38.388 [debug] Current batch of media processed. Will check again in 1000ms 12:50:38.390 [debug] Current batch of media processed. Will check again in 1000ms 12:50:39.389 [debug] Current batch of media processed. Will check again in 1000ms 12:50:39.391 [debug] Current batch of media processed. Will check again in 1000ms 12:50:40.390 [debug] Current batch of media processed. Will check again in 1000ms 12:50:40.392 [debug] Current batch of media processed. Will check again in 1000ms 12:50:41.391 [debug] Current batch of media processed. Will check again in 1000ms 12:50:41.393 [debug] Current batch of media processed. Will check again in 1000ms 12:50:41.940 [info] {"source":"oban","duration":17946,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:50:42.392 [debug] Current batch of media processed. Will check again in 1000ms 12:50:42.394 [debug] Current batch of media processed. Will check again in 1000ms 12:50:43.393 [debug] Current batch of media processed. Will check again in 1000ms 12:50:43.395 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "🔹العلاج الطبيعي و استراتيجيات الوقاية من الإصابات للرياضيين وغير الرياضيين | #بودكاست_كابتن_أحمد\n\n🎙️ حلقة جديدة مليئة بالأسئلة والأجوبة عن الطب الرياضي مع أخصائي تأهيلي بإصابات الملاعب، نستضيف الكابتن محمد المهدي لاعب سابق في كرة الطائرة وأخصائي تأهيلي بإصابات الملاعب في الكويت لكرة اليد.\n\n📌 حلقة اليوم تفيد المدرب والرياضي وكذلك التعامل مع الإصابات قبل وبعد العلاج الطبيعي.\n\n🎙️ الآن حلقة جديدة مع ضيف الحلقة الكابتن محمد المهدي | أخصائي تأهيل بإصابات الملاعب\n\n🎯 يمكنكم الآن مشاهدة الحلقة كاملة على بودكاست كابتن أحمد\n\n@bo.omar72\n@mohamed_mehdi_baccouch\n\n#الكابتن_أحمد #الخيل #الفارس", "duration" => 67, "filename" => "/downloads/shorts/بودكاست كابتن أحمد/بودكاست كابتن أحمد - 2025-09-14 - [-CbtfiwTMAY].mp4", "id" => "-CbtfiwTMAY", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/-CbtfiwTMAY", "playlist_index" => 4, "timestamp" => 1757839501, "title" => "الراحة الإيجابية والسلبية", "upload_date" => "20250914"} 12:50:43.395 [debug] QUERY OK source="sources" db=0.1ms idle=1385.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" IN (?)) [415] 12:50:43.396 [debug] QUERY OK source="sources" db=0.0ms idle=1385.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" = ?) [415] 12:50:43.396 [debug] QUERY OK source="media_items" db=0.3ms idle=1015.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-09-14 08:45:01Z], 415] 12:50:43.397 [debug] QUERY OK source="media_items" db=0.6ms idle=386.8ms 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" ["🔹العلاج الطبيعي و استراتيجيات الوقاية من الإصابات للرياضيين وغير الرياضيين | #بودكاست_كابتن_أحمد\n\n🎙️ حلقة جديدة مليئة بالأسئلة والأجوبة عن الطب الرياضي مع أخصائي تأهيلي بإصابات الملاعب، نستضيف الكابتن محمد المهدي لاعب سابق في كرة الطائرة وأخصائي تأهيلي بإصابات الملاعب في الكويت لكرة اليد.\n\n📌 حلقة اليوم تفيد المدرب والرياضي وكذلك التعامل مع الإصابات قبل وبعد العلاج الطبيعي.\n\n🎙️ الآن حلقة جديدة مع ضيف الحلقة الكابتن محمد المهدي | أخصائي تأهيل بإصابات الملاعب\n\n🎯 يمكنكم الآن مشاهدة الحلقة كاملة على بودكاست كابتن أحمد\n\n@bo.omar72\n@mohamed_mehdi_baccouch\n\n#الكابتن_أحمد #الخيل #الفارس", "الراحة الإيجابية والسلبية", "d17224fe-94cb-40f2-95d9-c00d539830f8", 67, false, "-CbtfiwTMAY", "https://www.youtube.com/shorts/-CbtfiwTMAY", 4, "/downloads/shorts/بودكاست كابتن أحمد/بودكاست كابتن أحمد - 2025-09-14 - [-CbtfiwTMAY].mp4", false, false, true, 415, [], 98, ~U[2025-09-14 08:45:01Z], ~U[2026-04-15 12:50:43Z], ~U[2026-04-15 12:50:43Z], "🔹العلاج الطبيعي و استراتيجيات الوقاية من الإصابات للرياضيين وغير الرياضيين | #بودكاست_كابتن_أحمد\n\n🎙️ حلقة جديدة مليئة بالأسئلة والأجوبة عن الطب الرياضي مع أخصائي تأهيلي بإصابات الملاعب، نستضيف الكابتن محمد المهدي لاعب سابق في كرة الطائرة وأخصائي تأهيلي بإصابات الملاعب في الكويت لكرة اليد.\n\n📌 حلقة اليوم تفيد المدرب والرياضي وكذلك التعامل مع الإصابات قبل وبعد العلاج الطبيعي.\n\n🎙️ الآن حلقة جديدة مع ضيف الحلقة الكابتن محمد المهدي | أخصائي تأهيل بإصابات الملاعب\n\n🎯 يمكنكم الآن مشاهدة الحلقة كاملة على بودكاست كابتن أحمد\n\n@bo.omar72\n@mohamed_mehdi_baccouch\n\n#الكابتن_أحمد #الخيل #الفارس", "الراحة الإيجابية والسلبية", 67, false, "-CbtfiwTMAY", "https://www.youtube.com/shorts/-CbtfiwTMAY", "/downloads/shorts/بودكاست كابتن أحمد/بودكاست كابتن أحمد - 2025-09-14 - [-CbtfiwTMAY].mp4", true, 415, ~U[2025-09-14 08:45:01Z]] 12:50:43.398 [debug] QUERY OK source="sources" db=0.1ms idle=16.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" = ?) [415] 12:50:43.398 [debug] QUERY OK source="media_profiles" db=0.1ms 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" = ?) [2] 12:50:43.399 [debug] QUERY OK source="media_items" db=0.1ms idle=2.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4630806] 12:50:43.399 [debug] Current batch of media processed. Will check again in 1000ms 12:50:44.394 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "", "duration" => 54, "filename" => "/downloads/shorts/Mohammed Alnhet/Mohammed Alnhet - 2025-07-07 - [Y6HPwIwpYUQ].mp4", "id" => "Y6HPwIwpYUQ", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/Y6HPwIwpYUQ", "playlist_index" => 3, "timestamp" => 1751881428, "title" => "تأهيل اول وظيفة في العشرينات🎯 | #بودكاست باكورة", "upload_date" => "20250707"} 12:50:44.395 [debug] QUERY OK source="sources" db=0.1ms idle=997.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" IN (?)) [304] 12:50:44.395 [debug] QUERY OK source="sources" db=0.1ms idle=996.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" = ?) [304] 12:50:44.396 [debug] QUERY OK source="media_items" db=0.2ms queue=0.1ms idle=996.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-07-07 09:43:48Z], 304] 12:50:44.396 [debug] QUERY OK source="media_items" db=0.4ms idle=997.0ms INSERT INTO "media_items" AS m0 ("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) 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" ["تأهيل اول وظيفة في العشرينات🎯 | #بودكاست باكورة", "bb7a0773-61e4-4a8e-970b-4a30d907b93a", 54, false, "Y6HPwIwpYUQ", "https://www.youtube.com/shorts/Y6HPwIwpYUQ", 3, "/downloads/shorts/Mohammed Alnhet/Mohammed Alnhet - 2025-07-07 - [Y6HPwIwpYUQ].mp4", false, false, true, 304, [], 98, ~U[2025-07-07 09:43:48Z], ~U[2026-04-15 12:50:44Z], ~U[2026-04-15 12:50:44Z], "", "تأهيل اول وظيفة في العشرينات🎯 | #بودكاست باكورة", 54, false, "Y6HPwIwpYUQ", "https://www.youtube.com/shorts/Y6HPwIwpYUQ", "/downloads/shorts/Mohammed Alnhet/Mohammed Alnhet - 2025-07-07 - [Y6HPwIwpYUQ].mp4", true, 304, ~U[2025-07-07 09:43:48Z]] 12:50:44.397 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=14.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [304] 12:50:44.397 [debug] Current batch of media processed. Will check again in 1000ms 12:50:44.400 [debug] Current batch of media processed. Will check again in 1000ms 12:50:45.398 [debug] Current batch of media processed. Will check again in 1000ms 12:50:45.401 [debug] Current batch of media processed. Will check again in 1000ms 12:50:46.399 [debug] Current batch of media processed. Will check again in 1000ms 12:50:46.402 [debug] Current batch of media processed. Will check again in 1000ms 12:50:47.400 [debug] Current batch of media processed. Will check again in 1000ms 12:50:47.403 [debug] Current batch of media processed. Will check again in 1000ms 12:50:48.401 [debug] Current batch of media processed. Will check again in 1000ms 12:50:48.404 [debug] Current batch of media processed. Will check again in 1000ms 12:50:49.402 [debug] Current batch of media processed. Will check again in 1000ms 12:50:49.405 [debug] Current batch of media processed. Will check again in 1000ms 12:50:50.403 [debug] Current batch of media processed. Will check again in 1000ms 12:50:50.406 [debug] Current batch of media processed. Will check again in 1000ms 12:50:51.404 [debug] Current batch of media processed. Will check again in 1000ms 12:50:51.407 [debug] Current batch of media processed. Will check again in 1000ms 12:50:52.405 [debug] Current batch of media processed. Will check again in 1000ms 12:50:52.408 [debug] Current batch of media processed. Will check again in 1000ms 12:50:53.406 [debug] Current batch of media processed. Will check again in 1000ms 12:50:53.409 [debug] Current batch of media processed. Will check again in 1000ms 12:50:54.407 [debug] Current batch of media processed. Will check again in 1000ms 12:50:54.410 [debug] Current batch of media processed. Will check again in 1000ms 12:50:55.408 [debug] Current batch of media processed. Will check again in 1000ms 12:50:55.411 [debug] Current batch of media processed. Will check again in 1000ms 12:50:56.409 [debug] Current batch of media processed. Will check again in 1000ms 12:50:56.412 [debug] Current batch of media processed. Will check again in 1000ms 12:50:57.410 [debug] Current batch of media processed. Will check again in 1000ms 12:50:57.413 [debug] Current batch of media processed. Will check again in 1000ms 12:50:58.411 [debug] Current batch of media processed. Will check again in 1000ms 12:50:58.414 [debug] Current batch of media processed. Will check again in 1000ms 12:50:59.412 [debug] Current batch of media processed. Will check again in 1000ms 12:50:59.415 [debug] Current batch of media processed. Will check again in 1000ms 12:51:00.413 [debug] Current batch of media processed. Will check again in 1000ms 12:51:00.416 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "🔹العلاج الطبيعي و استراتيجيات الوقاية من الإصابات للرياضيين وغير الرياضيين | #بودكاست_كابتن_أحمد\n\n🎙️ حلقة جديدة مليئة بالأسئلة والأجوبة عن الطب الرياضي مع أخصائي تأهيلي بإصابات الملاعب، نستضيف الكابتن محمد المهدي لاعب سابق في كرة الطائرة وأخصائي تأهيلي بإصابات الملاعب في الكويت لكرة اليد.\n\n📌 حلقة اليوم تفيد المدرب والرياضي وكذلك التعامل مع الإصابات قبل وبعد العلاج الطبيعي.\n\n🎙️ الآن حلقة جديدة مع ضيف الحلقة الكابتن محمد المهدي | أخصائي تأهيل بإصابات الملاعب\n\n🎯 يمكنكم الآن مشاهدة الحلقة كاملة على بودكاست كابتن أحمد\n\n@bo.omar72\n@mohamed_mehdi_baccouch\n\n#الكابتن_أحمد #الخيل #الفارس", "duration" => 61, "filename" => "/downloads/shorts/بودكاست كابتن أحمد/بودكاست كابتن أحمد - 2025-09-12 - [zh1pMDqM_Js].mp4", "id" => "zh1pMDqM_Js", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/zh1pMDqM_Js", "playlist_index" => 5, "timestamp" => 1757666711, "title" => "المغنيسيوم والميلاتونين", "upload_date" => "20250912"} 12:51:00.416 [debug] QUERY OK source="sources" db=0.2ms idle=406.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" IN (?)) [415] 12:51:00.417 [debug] QUERY OK source="sources" db=0.2ms idle=406.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" = ?) [415] 12:51:00.418 [debug] QUERY OK source="media_items" db=0.4ms idle=407.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-09-12 08:45:11Z], 415] 12:51:00.420 [debug] QUERY OK source="media_items" db=2.3ms idle=408.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" ["🔹العلاج الطبيعي و استراتيجيات الوقاية من الإصابات للرياضيين وغير الرياضيين | #بودكاست_كابتن_أحمد\n\n🎙️ حلقة جديدة مليئة بالأسئلة والأجوبة عن الطب الرياضي مع أخصائي تأهيلي بإصابات الملاعب، نستضيف الكابتن محمد المهدي لاعب سابق في كرة الطائرة وأخصائي تأهيلي بإصابات الملاعب في الكويت لكرة اليد.\n\n📌 حلقة اليوم تفيد المدرب والرياضي وكذلك التعامل مع الإصابات قبل وبعد العلاج الطبيعي.\n\n🎙️ الآن حلقة جديدة مع ضيف الحلقة الكابتن محمد المهدي | أخصائي تأهيل بإصابات الملاعب\n\n🎯 يمكنكم الآن مشاهدة الحلقة كاملة على بودكاست كابتن أحمد\n\n@bo.omar72\n@mohamed_mehdi_baccouch\n\n#الكابتن_أحمد #الخيل #الفارس", "المغنيسيوم والميلاتونين", "b05e42b1-b54e-4a8a-bc40-9e52129d29da", 61, false, "zh1pMDqM_Js", "https://www.youtube.com/shorts/zh1pMDqM_Js", 5, "/downloads/shorts/بودكاست كابتن أحمد/بودكاست كابتن أحمد - 2025-09-12 - [zh1pMDqM_Js].mp4", false, false, true, 415, [], 98, ~U[2025-09-12 08:45:11Z], ~U[2026-04-15 12:51:00Z], ~U[2026-04-15 12:51:00Z], "🔹العلاج الطبيعي و استراتيجيات الوقاية من الإصابات للرياضيين وغير الرياضيين | #بودكاست_كابتن_أحمد\n\n🎙️ حلقة جديدة مليئة بالأسئلة والأجوبة عن الطب الرياضي مع أخصائي تأهيلي بإصابات الملاعب، نستضيف الكابتن محمد المهدي لاعب سابق في كرة الطائرة وأخصائي تأهيلي بإصابات الملاعب في الكويت لكرة اليد.\n\n📌 حلقة اليوم تفيد المدرب والرياضي وكذلك التعامل مع الإصابات قبل وبعد العلاج الطبيعي.\n\n🎙️ الآن حلقة جديدة مع ضيف الحلقة الكابتن محمد المهدي | أخصائي تأهيل بإصابات الملاعب\n\n🎯 يمكنكم الآن مشاهدة الحلقة كاملة على بودكاست كابتن أحمد\n\n@bo.omar72\n@mohamed_mehdi_baccouch\n\n#الكابتن_أحمد #الخيل #الفارس", "المغنيسيوم والميلاتونين", 61, false, "zh1pMDqM_Js", "https://www.youtube.com/shorts/zh1pMDqM_Js", "/downloads/shorts/بودكاست كابتن أحمد/بودكاست كابتن أحمد - 2025-09-12 - [zh1pMDqM_Js].mp4", true, 415, ~U[2025-09-12 08:45:11Z]] 12:51:00.421 [debug] QUERY OK source="sources" db=0.2ms idle=20.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [415] 12:51:00.421 [debug] QUERY OK source="media_profiles" db=0.2ms idle=4.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 12:51:00.422 [debug] QUERY OK source="media_items" db=0.3ms idle=4.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4630807] 12:51:00.422 [debug] Current batch of media processed. Will check again in 1000ms 12:51:00.827 [info] {"source":"oban","duration":144,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:51:01.414 [debug] Current batch of media processed. Will check again in 1000ms 12:51:01.423 [debug] Current batch of media processed. Will check again in 1000ms 12:51:02.415 [debug] Current batch of media processed. Will check again in 1000ms 12:51:02.424 [debug] Current batch of media processed. Will check again in 1000ms 12:51:03.416 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "", "duration" => 118, "filename" => "/downloads/shorts/Mohammed Alnhet/Mohammed Alnhet - 2025-07-01 - [uSLQpSsOuXY].mp4", "id" => "uSLQpSsOuXY", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/uSLQpSsOuXY", "playlist_index" => 4, "timestamp" => 1751364279, "title" => "الثقة مقابل عدم الثقة | #الخطوة_القادمة", "upload_date" => "20250701"} 12:51:03.416 [debug] QUERY OK source="sources" db=0.2ms idle=1406.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" IN (?)) [304] 12:51:03.417 [debug] QUERY OK source="sources" db=0.2ms idle=1406.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" = ?) [304] 12:51:03.418 [debug] QUERY OK source="media_items" db=0.5ms idle=1407.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-07-01 10:04:39Z], 304] 12:51:03.419 [debug] QUERY OK source="media_items" db=0.6ms idle=1015.4ms INSERT INTO "media_items" AS m0 ("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) 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" ["الثقة مقابل عدم الثقة | #الخطوة_القادمة", "6c94ebf7-3ae4-4871-a82b-0b79873591f9", 118, false, "uSLQpSsOuXY", "https://www.youtube.com/shorts/uSLQpSsOuXY", 4, "/downloads/shorts/Mohammed Alnhet/Mohammed Alnhet - 2025-07-01 - [uSLQpSsOuXY].mp4", false, false, true, 304, [], 98, ~U[2025-07-01 10:04:39Z], ~U[2026-04-15 12:51:03Z], ~U[2026-04-15 12:51:03Z], "", "الثقة مقابل عدم الثقة | #الخطوة_القادمة", 118, false, "uSLQpSsOuXY", "https://www.youtube.com/shorts/uSLQpSsOuXY", "/downloads/shorts/Mohammed Alnhet/Mohammed Alnhet - 2025-07-01 - [uSLQpSsOuXY].mp4", true, 304, ~U[2025-07-01 10:04:39Z]] 12:51:03.419 [debug] QUERY OK source="sources" db=0.3ms idle=15.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [304] 12:51:03.420 [debug] Current batch of media processed. Will check again in 1000ms 12:51:03.425 [debug] Current batch of media processed. Will check again in 1000ms 12:51:04.421 [debug] Current batch of media processed. Will check again in 1000ms 12:51:04.426 [debug] Current batch of media processed. Will check again in 1000ms 12:51:05.422 [debug] Current batch of media processed. Will check again in 1000ms 12:51:05.427 [debug] Current batch of media processed. Will check again in 1000ms 12:51:06.414 [info] {"args":{"id":46},"id":2191964,"meta":{},"system_time":1776257466414150833,"max_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:06.414 [debug] QUERY OK source="sources" db=0.2ms idle=1404.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" = ?) [46] 12:51:06.415 [debug] QUERY OK source="settings" db=0.2ms idle=1404.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:06.415 [debug] QUERY OK source="media_profiles" db=0.3ms idle=1009.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" = ?) [2] 12:51:06.416 [debug] QUERY OK source="settings" db=0.3ms idle=8.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:51:06.416 [debug] Fetching recent media IDs from YouTube API for playlist: UU6A5Hm2n4ua3gYOHAXxbwbg 12:51:06.416 [debug] QUERY OK source="settings" db=0.2ms idle=2.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:51:06.417 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 12:51:06.423 [debug] Current batch of media processed. Will check again in 1000ms 12:51:06.428 [debug] Current batch of media processed. Will check again in 1000ms 12:51:06.668 [debug] QUERY OK source="media_items" db=1.2ms idle=252.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [46, "91FeGvZJScY", "CYBhH_JYrao", "bZT12EHs9Yg", "kbyoiRxn4PI", "SOBkcZSh9II", "zxgDhss5Exw", "amWmTGGET0E", "lHSr_TCLAhk", "fAvcbWRtbyY", "sSD4o9fv_Ew", "krEyWTE0BnQ", "Kz54TXV2ZA4", "PtuYWSOmUPg", "xjw6HjH1noU", "hC2iGUBovAE", "dI34Vp0NFxo", "iH5m0ygselg", "HxUaarF3cOE", "MMOATdS4HTY", "hNctdULnqXQ", "hri9lwiAmbU", "MpuKiJvR3iU", "ZGhsiJ7xyMM", "FlX8Oi3j2lA", "qotJKnBv_XY", "S-NmaIYR_9A", "nOUKPh8FyOA", "sPXEIXVBQPc", "VLm4ts60Jlw", "cM_ILEVbG38", "tZvrO4sGQS0", "OZP4vBfv8cY", "zyjZ2Ywo-sE", "0h-0sZswhS0", "LPVlRTKp4LY", "Jw9Oufynn44", "-SAsUMbDi0c", "vULJb128GAs", "PHs_eSgo9O4", "9CenR6dKkp4", "iO8InAwJARw", "pxSbAVwVPtg", "jvQiQnJUkYE", "okvHOwXHwrs", "Ske0itt1bEY", "T0L4hNCy_9Q", "A0ZpqNJzNcM", "y1yd3nZ9CEk", "pNZjleftqOs", ...] 12:51:06.672 [debug] QUERY OK source="media_items" db=2.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 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [46] 12:51:06.673 [debug] QUERY OK source="tasks" db=0.2ms idle=256.4ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2191999, 46, ~U[2026-04-15 12:51:06Z], ~U[2026-04-15 12:51:06Z]] 12:51:06.674 [info] {"args":{"id":46},"id":2191964,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":259606,"event":"job:stop","queue_time":444964,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:51:07.424 [debug] Current batch of media processed. Will check again in 1000ms 12:51:07.429 [debug] Current batch of media processed. Will check again in 1000ms 12:51:08.425 [debug] Current batch of media processed. Will check again in 1000ms 12:51:08.430 [debug] Current batch of media processed. Will check again in 1000ms 12:51:09.426 [debug] Current batch of media processed. Will check again in 1000ms 12:51:09.431 [debug] Current batch of media processed. Will check again in 1000ms 12:51:10.427 [debug] Current batch of media processed. Will check again in 1000ms 12:51:10.432 [debug] Current batch of media processed. Will check again in 1000ms 12:51:11.428 [debug] Current batch of media processed. Will check again in 1000ms 12:51:11.433 [debug] Current batch of media processed. Will check again in 1000ms 12:51:11.958 [info] {"source":"oban","duration":17478,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:51:12.429 [debug] Current batch of media processed. Will check again in 1000ms 12:51:12.434 [debug] Current batch of media processed. Will check again in 1000ms 12:51:13.430 [debug] Current batch of media processed. Will check again in 1000ms 12:51:13.435 [debug] Current batch of media processed. Will check again in 1000ms 12:51:14.431 [debug] Current batch of media processed. Will check again in 1000ms 12:51:14.436 [debug] Current batch of media processed. Will check again in 1000ms 12:51:15.432 [debug] Current batch of media processed. Will check again in 1000ms 12:51:15.437 [debug] Current batch of media processed. Will check again in 1000ms 12:51:16.433 [debug] Current batch of media processed. Will check again in 1000ms 12:51:16.438 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "🔹العلاج الطبيعي و استراتيجيات الوقاية من الإصابات للرياضيين وغير الرياضيين | #بودكاست_كابتن_أحمد\n\n🎙️ حلقة جديدة مليئة بالأسئلة والأجوبة عن الطب الرياضي مع أخصائي تأهيلي بإصابات الملاعب، نستضيف الكابتن محمد المهدي لاعب سابق في كرة الطائرة وأخصائي تأهيلي بإصابات الملاعب في الكويت لكرة اليد.\n\n📌 حلقة اليوم تفيد المدرب والرياضي وكذلك التعامل مع الإصابات قبل وبعد العلاج الطبيعي.\n\n🎙️ الآن حلقة جديدة مع ضيف الحلقة الكابتن محمد المهدي | أخصائي تأهيل بإصابات الملاعب\n\n🎯 يمكنكم الآن مشاهدة الحلقة كاملة على بودكاست كابتن أحمد\n\n@bo.omar72\n@mohamed_mehdi_baccouch\n\n#الكابتن_أحمد #الخيل #الفارس", "duration" => 48, "filename" => "/downloads/shorts/بودكاست كابتن أحمد/بودكاست كابتن أحمد - 2025-09-10 - [Oxagg_IMJIo].mp4", "id" => "Oxagg_IMJIo", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/Oxagg_IMJIo", "playlist_index" => 6, "timestamp" => 1757493022, "title" => "الإصابات", "upload_date" => "20250910"} 12:51:16.439 [debug] QUERY OK source="sources" db=0.2ms idle=1020.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" IN (?)) [415] 12:51:16.439 [debug] QUERY OK source="sources" db=0.1ms idle=429.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" = ?) [415] 12:51:16.440 [debug] QUERY OK source="media_items" db=0.4ms idle=429.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-09-10 08:30:22Z], 415] 12:51:16.441 [debug] QUERY OK source="media_items" db=1.1ms idle=430.3ms 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" ["🔹العلاج الطبيعي و استراتيجيات الوقاية من الإصابات للرياضيين وغير الرياضيين | #بودكاست_كابتن_أحمد\n\n🎙️ حلقة جديدة مليئة بالأسئلة والأجوبة عن الطب الرياضي مع أخصائي تأهيلي بإصابات الملاعب، نستضيف الكابتن محمد المهدي لاعب سابق في كرة الطائرة وأخصائي تأهيلي بإصابات الملاعب في الكويت لكرة اليد.\n\n📌 حلقة اليوم تفيد المدرب والرياضي وكذلك التعامل مع الإصابات قبل وبعد العلاج الطبيعي.\n\n🎙️ الآن حلقة جديدة مع ضيف الحلقة الكابتن محمد المهدي | أخصائي تأهيل بإصابات الملاعب\n\n🎯 يمكنكم الآن مشاهدة الحلقة كاملة على بودكاست كابتن أحمد\n\n@bo.omar72\n@mohamed_mehdi_baccouch\n\n#الكابتن_أحمد #الخيل #الفارس", "الإصابات", "2b7ef9f0-7a68-4aa1-b47d-a90d393a0d64", 48, false, "Oxagg_IMJIo", "https://www.youtube.com/shorts/Oxagg_IMJIo", 6, "/downloads/shorts/بودكاست كابتن أحمد/بودكاست كابتن أحمد - 2025-09-10 - [Oxagg_IMJIo].mp4", false, false, true, 415, [], 98, ~U[2025-09-10 08:30:22Z], ~U[2026-04-15 12:51:16Z], ~U[2026-04-15 12:51:16Z], "🔹العلاج الطبيعي و استراتيجيات الوقاية من الإصابات للرياضيين وغير الرياضيين | #بودكاست_كابتن_أحمد\n\n🎙️ حلقة جديدة مليئة بالأسئلة والأجوبة عن الطب الرياضي مع أخصائي تأهيلي بإصابات الملاعب، نستضيف الكابتن محمد المهدي لاعب سابق في كرة الطائرة وأخصائي تأهيلي بإصابات الملاعب في الكويت لكرة اليد.\n\n📌 حلقة اليوم تفيد المدرب والرياضي وكذلك التعامل مع الإصابات قبل وبعد العلاج الطبيعي.\n\n🎙️ الآن حلقة جديدة مع ضيف الحلقة الكابتن محمد المهدي | أخصائي تأهيل بإصابات الملاعب\n\n🎯 يمكنكم الآن مشاهدة الحلقة كاملة على بودكاست كابتن أحمد\n\n@bo.omar72\n@mohamed_mehdi_baccouch\n\n#الكابتن_أحمد #الخيل #الفارس", "الإصابات", 48, false, "Oxagg_IMJIo", "https://www.youtube.com/shorts/Oxagg_IMJIo", "/downloads/shorts/بودكاست كابتن أحمد/بودكاست كابتن أحمد - 2025-09-10 - [Oxagg_IMJIo].mp4", true, 415, ~U[2025-09-10 08:30:22Z]] 12:51:16.442 [debug] QUERY OK source="sources" db=0.2ms idle=23.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [415] 12:51:16.443 [debug] QUERY OK source="media_profiles" db=0.3ms 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" = ?) [2] 12:51:16.443 [debug] QUERY OK source="media_items" db=0.3ms idle=3.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4630809] 12:51:16.443 [debug] Current batch of media processed. Will check again in 1000ms 12:51:17.434 [debug] Current batch of media processed. Will check again in 1000ms 12:51:17.444 [debug] Current batch of media processed. Will check again in 1000ms 12:51:18.435 [debug] Current batch of media processed. Will check again in 1000ms 12:51:18.445 [debug] Current batch of media processed. Will check again in 1000ms 12:51:19.429 [info] {"args":{"id":162},"id":2191965,"meta":{},"system_time":1776257479429375432,"max_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:19.429 [debug] QUERY OK source="sources" db=0.2ms idle=1419.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" = ?) [162] 12:51:19.430 [debug] QUERY OK source="settings" db=0.2ms 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 [] 12:51:19.431 [debug] QUERY OK source="media_profiles" db=0.3ms idle=1009.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" = ?) [2] 12:51:19.432 [debug] QUERY OK source="settings" db=0.8ms idle=8.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:51:19.432 [debug] Fetching recent media IDs from YouTube API for playlist: UUABzsyFLLA-fKu05lR-49RA 12:51:19.432 [debug] QUERY OK source="settings" db=0.1ms idle=2.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:51:19.432 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 12:51:19.436 [debug] Current batch of media processed. Will check again in 1000ms 12:51:19.446 [debug] Current batch of media processed. Will check again in 1000ms 12:51:19.708 [debug] QUERY OK source="media_items" db=1.2ms idle=277.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [162, "ekjubKROBRg", "4pyotqfBLhM", "2rPbJvL3j4Y", "2O90s2wLTos", "8ZEYPhSYVIE", "MhmiUOWYTxY", "T3HEM7ZNQPA", "V9g3NsG6ut4", "KFgnlLa1D3c", "xuK6RuwvSqs", "d1T9zgY6e8U", "U37vbS9xCmA", "4VfVt3CmdrE", "LHNQ0Hi1a0Q", "kiBovELN07k", "_BwwTsb2TI0", "O9nDiWzdXlo", "T0ZcxY4D2aA", "-12pzaDhv_A", "p2YtdDNlU6k", "FJ9jGXXdoUo", "QbRHZBbwpbA", "jo9TYjGV7uQ", "eECh3m0EVG0", "VvwxdVWgXh0", "qVXJvOy80Q4", "3F4x-FMlEjA", "Tf07AdpNyww", "eP5Nph4v_DE", "ZnLiB07EjmM", "SRE_KFmxcq8", "Lx_lGb9dkYQ", "dMZ3w9NsjrM", "saSk7K_qJEo", "zrRiTNHXA1w", "JDEMAWmI6hU", "PODXln9kxPI", "ewnhb2rTabk", "ZbgB2Wdq6pA", "83PGdBO5sJk", "Z5K6fG36bDM", "snQvJ89e53Y", "15cm2QYHlSY", "Sh9rBNM8AHk", "NOZ6drrRrI8", "PHEHlvvVeAw", "t9omgey7Q0w", "6IYTsuTZeuI", "swAglzdSLts", ...] 12:51:19.712 [debug] QUERY OK source="media_items" db=2.6ms idle=279.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")))) [162] 12:51:19.714 [debug] QUERY OK source="tasks" db=0.3ms idle=281.9ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2192000, 162, ~U[2026-04-15 12:51:19Z], ~U[2026-04-15 12:51:19Z]] 12:51:19.715 [info] {"args":{"id":162},"id":2191965,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":285467,"event":"job:stop","queue_time":491149,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:51:20.437 [debug] Current batch of media processed. Will check again in 1000ms 12:51:20.447 [debug] Current batch of media processed. Will check again in 1000ms 12:51:21.438 [debug] Current batch of media processed. Will check again in 1000ms 12:51:21.448 [debug] Current batch of media processed. Will check again in 1000ms 12:51:22.439 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "", "duration" => 46, "filename" => "/downloads/shorts/Mohammed Alnhet/Mohammed Alnhet - 2025-06-29 - [uXEEfOVHVEs].mp4", "id" => "uXEEfOVHVEs", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/uXEEfOVHVEs", "playlist_index" => 5, "timestamp" => 1751190535, "title" => "لومافيه HR كان الشركات بخير | #بودكاست باكورة", "upload_date" => "20250629"} 12:51:22.440 [debug] QUERY OK source="sources" db=0.3ms idle=1429.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" IN (?)) [304] 12:51:22.440 [debug] QUERY OK source="sources" db=0.2ms idle=1430.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" = ?) [304] 12:51:22.441 [debug] QUERY OK source="media_items" db=0.4ms idle=1430.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-06-29 09:48:55Z], 304] 12:51:22.442 [debug] QUERY OK source="media_items" db=0.8ms idle=1017.0ms INSERT INTO "media_items" AS m0 ("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) 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" ["لومافيه HR كان الشركات بخير | #بودكاست باكورة", "08941cfb-a8d3-412b-9ace-8c96334ebfde", 46, false, "uXEEfOVHVEs", "https://www.youtube.com/shorts/uXEEfOVHVEs", 5, "/downloads/shorts/Mohammed Alnhet/Mohammed Alnhet - 2025-06-29 - [uXEEfOVHVEs].mp4", false, false, true, 304, [], 98, ~U[2025-06-29 09:48:55Z], ~U[2026-04-15 12:51:22Z], ~U[2026-04-15 12:51:22Z], "", "لومافيه HR كان الشركات بخير | #بودكاست باكورة", 46, false, "uXEEfOVHVEs", "https://www.youtube.com/shorts/uXEEfOVHVEs", "/downloads/shorts/Mohammed Alnhet/Mohammed Alnhet - 2025-06-29 - [uXEEfOVHVEs].mp4", true, 304, ~U[2025-06-29 09:48:55Z]] 12:51:22.443 [debug] QUERY OK source="sources" db=0.3ms idle=17.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [304] 12:51:22.443 [debug] Current batch of media processed. Will check again in 1000ms 12:51:22.449 [debug] Current batch of media processed. Will check again in 1000ms 12:51:23.444 [debug] Current batch of media processed. Will check again in 1000ms 12:51:23.450 [debug] Current batch of media processed. Will check again in 1000ms 12:51:24.445 [debug] Current batch of media processed. Will check again in 1000ms 12:51:24.451 [debug] Current batch of media processed. Will check again in 1000ms 12:51:25.446 [debug] Current batch of media processed. Will check again in 1000ms 12:51:25.452 [debug] Current batch of media processed. Will check again in 1000ms 12:51:25.824 [info] GET /sources/158/media/4689625/force_download 12:51:25.824 [debug] QUERY OK source="settings" db=0.2ms idle=1814.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:25.825 [debug] QUERY OK source="settings" db=0.3ms idle=1814.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:25.825 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 12:51:25.826 [error] #PID<0.5511.0> running PinchflatWeb.Endpoint (connection #PID<0.5510.0>, stream id 1) terminated Server: jak.hibeex.com:80 (http) Request: GET /sources/158/media/4689625/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/158/media/4689625/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5510.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/158/media/4689625/force_download", host: "jak.hibeex.com", peer: {{172, 22, 0, 1}, 50630}, bindings: %{}, sock: {{172, 22, 0, 4}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "from" => "gptbot(at)openai.com", "host" => "jak.hibeex.com", "referer" => "https://jak.hibeex.com/sources/158/media/4689625?prevent_download=true", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.232", "x-forwarded-proto" => "https", "x-openai-host-hash" => "41517590", "x-real-ip" => "74.7.243.232" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "jak.hibeex.com", method: "GET", owner: #PID<0.5511.0>, params: %{}, path_info: ["sources", "158", "media", "4689625", "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://jak.hibeex.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 22, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"connection", "close"}, {"from", "gptbot(at)openai.com"}, {"host", "jak.hibeex.com"}, {"referer", "https://jak.hibeex.com/sources/158/media/4689625?prevent_download=true"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)"}, {"x-forwarded-for", "74.7.243.232"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "41517590"}, {"x-real-ip", "74.7.243.232"} ], request_path: "/sources/158/media/4689625/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKaIxbgxGJ65_1UAA1cB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5510.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/158/media/4689625/force_download", host: "jak.hibeex.com", peer: {{172, 22, 0, 1}, 50630}, bindings: %{}, sock: {{172, 22, 0, 4}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "from" => "gptbot(at)openai.com", "host" => "jak.hibeex.com", "referer" => "https://jak.hibeex.com/sources/158/media/4689625?prevent_download=true", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.232", "x-forwarded-proto" => "https", "x-openai-host-hash" => "41517590", "x-real-ip" => "74.7.243.232" }, method: "GET", body_length: 0, path_info: :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/158/media/4689625/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5510.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/158/media/4689625/force_download", host: "jak.hibeex.com", peer: {{172, 22, 0, 1}, 50630}, bindings: %{}, sock: {{172, 22, 0, 4}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "from" => "gptbot(at)openai.com", "host" => "jak.hibeex.com", "referer" => "https://jak.hibeex.com/sources/158/media/4689625?prevent_download=true", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.232", "x-forwarded-proto" => "https", "x-openai-host-hash" => "41517590", "x-real-ip" => "74.7.243.232" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "jak.hibeex.com", method: "GET", owner: #PID<0.5511.0>, params: %{}, path_info: ["sources", "158", "media", "4689625", "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://jak.hibeex.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, (truncated) 12:51:26.447 [debug] Current batch of media processed. Will check again in 1000ms 12:51:26.453 [debug] Current batch of media processed. Will check again in 1000ms 12:51:27.448 [debug] Current batch of media processed. Will check again in 1000ms 12:51:27.454 [debug] Current batch of media processed. Will check again in 1000ms 12:51:28.449 [debug] Current batch of media processed. Will check again in 1000ms 12:51:28.455 [debug] Current batch of media processed. Will check again in 1000ms 12:51:29.450 [debug] Current batch of media processed. Will check again in 1000ms 12:51:29.456 [debug] Current batch of media processed. Will check again in 1000ms 12:51:30.451 [debug] Current batch of media processed. Will check again in 1000ms 12:51:30.457 [debug] Current batch of media processed. Will check again in 1000ms 12:51:31.452 [debug] Current batch of media processed. Will check again in 1000ms 12:51:31.458 [debug] Current batch of media processed. Will check again in 1000ms 12:51:32.453 [debug] Current batch of media processed. Will check again in 1000ms 12:51:32.459 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "🔹العلاج الطبيعي و استراتيجيات الوقاية من الإصابات للرياضيين وغير الرياضيين | #بودكاست_كابتن_أحمد\n\n🎙️ حلقة جديدة مليئة بالأسئلة والأجوبة عن الطب الرياضي مع أخصائي تأهيلي بإصابات الملاعب، نستضيف الكابتن محمد المهدي لاعب سابق في كرة الطائرة وأخصائي تأهيلي بإصابات الملاعب في الكويت لكرة اليد.\n\n📌 حلقة اليوم تفيد المدرب والرياضي وكذلك التعامل مع الإصابات قبل وبعد العلاج الطبيعي.\n\n🎙️ الآن حلقة جديدة مع ضيف الحلقة الكابتن محمد المهدي | أخصائي تأهيل بإصابات الملاعب\n\n🎯 يمكنكم الآن مشاهدة الحلقة كاملة على بودكاست كابتن أحمد\n\n@bo.omar72\n@mohamed_mehdi_baccouch\n\n#الكابتن_أحمد #الخيل #الفارس", "duration" => 76, "filename" => "/downloads/shorts/بودكاست كابتن أحمد/بودكاست كابتن أحمد - 2025-09-08 - [PvgwAaAiL0A].mp4", "id" => "PvgwAaAiL0A", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/PvgwAaAiL0A", "playlist_index" => 7, "timestamp" => 1757321102, "title" => "مفاهيم خاطئة في العلاج", "upload_date" => "20250908"} 12:51:32.459 [debug] QUERY OK source="sources" db=0.2ms idle=1449.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" IN (?)) [415] 12:51:32.460 [debug] QUERY OK source="sources" db=0.2ms idle=1024.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" = ?) [415] 12:51:32.460 [debug] QUERY OK source="media_items" db=0.5ms idle=450.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-09-08 08:45:02Z], 415] 12:51:32.462 [debug] QUERY OK source="media_items" db=1.1ms idle=450.8ms 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" ["🔹العلاج الطبيعي و استراتيجيات الوقاية من الإصابات للرياضيين وغير الرياضيين | #بودكاست_كابتن_أحمد\n\n🎙️ حلقة جديدة مليئة بالأسئلة والأجوبة عن الطب الرياضي مع أخصائي تأهيلي بإصابات الملاعب، نستضيف الكابتن محمد المهدي لاعب سابق في كرة الطائرة وأخصائي تأهيلي بإصابات الملاعب في الكويت لكرة اليد.\n\n📌 حلقة اليوم تفيد المدرب والرياضي وكذلك التعامل مع الإصابات قبل وبعد العلاج الطبيعي.\n\n🎙️ الآن حلقة جديدة مع ضيف الحلقة الكابتن محمد المهدي | أخصائي تأهيل بإصابات الملاعب\n\n🎯 يمكنكم الآن مشاهدة الحلقة كاملة على بودكاست كابتن أحمد\n\n@bo.omar72\n@mohamed_mehdi_baccouch\n\n#الكابتن_أحمد #الخيل #الفارس", "مفاهيم خاطئة في العلاج", "820abaf1-2ff7-451a-8344-b7daff01564c", 76, false, "PvgwAaAiL0A", "https://www.youtube.com/shorts/PvgwAaAiL0A", 7, "/downloads/shorts/بودكاست كابتن أحمد/بودكاست كابتن أحمد - 2025-09-08 - [PvgwAaAiL0A].mp4", false, false, true, 415, [], 98, ~U[2025-09-08 08:45:02Z], ~U[2026-04-15 12:51:32Z], ~U[2026-04-15 12:51:32Z], "🔹العلاج الطبيعي و استراتيجيات الوقاية من الإصابات للرياضيين وغير الرياضيين | #بودكاست_كابتن_أحمد\n\n🎙️ حلقة جديدة مليئة بالأسئلة والأجوبة عن الطب الرياضي مع أخصائي تأهيلي بإصابات الملاعب، نستضيف الكابتن محمد المهدي لاعب سابق في كرة الطائرة وأخصائي تأهيلي بإصابات الملاعب في الكويت لكرة اليد.\n\n📌 حلقة اليوم تفيد المدرب والرياضي وكذلك التعامل مع الإصابات قبل وبعد العلاج الطبيعي.\n\n🎙️ الآن حلقة جديدة مع ضيف الحلقة الكابتن محمد المهدي | أخصائي تأهيل بإصابات الملاعب\n\n🎯 يمكنكم الآن مشاهدة الحلقة كاملة على بودكاست كابتن أحمد\n\n@bo.omar72\n@mohamed_mehdi_baccouch\n\n#الكابتن_أحمد #الخيل #الفارس", "مفاهيم خاطئة في العلاج", 76, false, "PvgwAaAiL0A", "https://www.youtube.com/shorts/PvgwAaAiL0A", "/downloads/shorts/بودكاست كابتن أحمد/بودكاست كابتن أحمد - 2025-09-08 - [PvgwAaAiL0A].mp4", true, 415, ~U[2025-09-08 08:45:02Z]] 12:51:32.462 [debug] QUERY OK source="sources" db=0.3ms idle=25.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" = ?) [415] 12:51:32.463 [debug] QUERY OK source="media_profiles" db=0.3ms 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" = ?) [2] 12:51:32.463 [debug] QUERY OK source="media_items" db=0.4ms idle=3.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4630811] 12:51:32.464 [debug] Current batch of media processed. Will check again in 1000ms 12:51:33.454 [debug] Current batch of media processed. Will check again in 1000ms 12:51:33.465 [debug] Current batch of media processed. Will check again in 1000ms 12:51:34.455 [debug] Current batch of media processed. Will check again in 1000ms 12:51:34.466 [debug] Current batch of media processed. Will check again in 1000ms 12:51:35.456 [debug] Current batch of media processed. Will check again in 1000ms 12:51:35.467 [debug] Current batch of media processed. Will check again in 1000ms 12:51:36.457 [debug] Current batch of media processed. Will check again in 1000ms 12:51:36.468 [debug] Current batch of media processed. Will check again in 1000ms 12:51:37.458 [debug] Current batch of media processed. Will check again in 1000ms 12:51:37.469 [debug] Current batch of media processed. Will check again in 1000ms 12:51:38.459 [debug] Current batch of media processed. Will check again in 1000ms 12:51:38.470 [debug] Current batch of media processed. Will check again in 1000ms 12:51:39.460 [debug] Current batch of media processed. Will check again in 1000ms 12:51:39.471 [debug] Current batch of media processed. Will check again in 1000ms 12:51:40.461 [debug] Current batch of media processed. Will check again in 1000ms 12:51:40.472 [debug] Current batch of media processed. Will check again in 1000ms 12:51:41.462 [debug] Current batch of media processed. Will check again in 1000ms 12:51:41.473 [debug] Current batch of media processed. Will check again in 1000ms 12:51:41.977 [info] {"source":"oban","duration":18030,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:51:42.463 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "", "duration" => 57, "filename" => "/downloads/shorts/Mohammed Alnhet/Mohammed Alnhet - 2025-05-27 - [NMkbPidhI6w].mp4", "id" => "NMkbPidhI6w", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/NMkbPidhI6w", "playlist_index" => 6, "timestamp" => 1748344424, "title" => "موظف عادي ممكن يكون خير للشركة ! 👨\u200D💼💼 | بودكاست باكورة", "upload_date" => "20250527"} 12:51:42.463 [debug] QUERY OK source="sources" db=0.2ms idle=486.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" IN (?)) [304] 12:51:42.464 [debug] QUERY OK source="sources" db=0.2ms idle=453.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" = ?) [304] 12:51:42.464 [debug] QUERY OK source="media_items" db=0.3ms idle=454.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-05-27 11:13:44Z], 304] 12:51:42.466 [debug] QUERY OK source="media_items" db=0.7ms idle=455.0ms INSERT INTO "media_items" AS m0 ("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) 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" ["موظف عادي ممكن يكون خير للشركة ! 👨\u200D💼💼 | بودكاست باكورة", "7bbeadec-4aa7-4104-a091-a1cd0678b968", 57, false, "NMkbPidhI6w", "https://www.youtube.com/shorts/NMkbPidhI6w", 6, "/downloads/shorts/Mohammed Alnhet/Mohammed Alnhet - 2025-05-27 - [NMkbPidhI6w].mp4", false, false, true, 304, [], 98, ~U[2025-05-27 11:13:44Z], ~U[2026-04-15 12:51:42Z], ~U[2026-04-15 12:51:42Z], "", "موظف عادي ممكن يكون خير للشركة ! 👨\u200D💼💼 | بودكاست باكورة", 57, false, "NMkbPidhI6w", "https://www.youtube.com/shorts/NMkbPidhI6w", "/downloads/shorts/Mohammed Alnhet/Mohammed Alnhet - 2025-05-27 - [NMkbPidhI6w].mp4", true, 304, ~U[2025-05-27 11:13:44Z]] 12:51:42.466 [debug] QUERY OK source="sources" db=0.2ms idle=18.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" = ?) [304] 12:51:42.466 [debug] Current batch of media processed. Will check again in 1000ms 12:51:42.474 [debug] Current batch of media processed. Will check again in 1000ms 12:51:43.467 [debug] Current batch of media processed. Will check again in 1000ms 12:51:43.475 [debug] Current batch of media processed. Will check again in 1000ms 12:51:44.468 [debug] Current batch of media processed. Will check again in 1000ms 12:51:44.476 [debug] Current batch of media processed. Will check again in 1000ms 12:51:45.469 [debug] Current batch of media processed. Will check again in 1000ms 12:51:45.477 [debug] Current batch of media processed. Will check again in 1000ms 12:51:46.470 [debug] Current batch of media processed. Will check again in 1000ms 12:51:46.478 [debug] Current batch of media processed. Will check again in 1000ms 12:51:47.471 [debug] Current batch of media processed. Will check again in 1000ms 12:51:47.479 [debug] Current batch of media processed. Will check again in 1000ms 12:51:48.472 [debug] Current batch of media processed. Will check again in 1000ms 12:51:48.480 [debug] Current batch of media processed. Will check again in 1000ms 12:51:49.473 [debug] Current batch of media processed. Will check again in 1000ms 12:51:49.481 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "🔹العلاج الطبيعي و استراتيجيات الوقاية من الإصابات للرياضيين وغير الرياضيين | #بودكاست_كابتن_أحمد\n\n🎙️ حلقة جديدة مليئة بالأسئلة والأجوبة عن الطب الرياضي مع أخصائي تأهيلي بإصابات الملاعب، نستضيف الكابتن محمد المهدي لاعب سابق في كرة الطائرة وأخصائي تأهيلي بإصابات الملاعب في الكويت لكرة اليد.\n\n📌 حلقة اليوم تفيد المدرب والرياضي وكذلك التعامل مع الإصابات قبل وبعد العلاج الطبيعي.\n\n🎙️ الآن حلقة جديدة مع ضيف الحلقة الكابتن محمد المهدي | أخصائي تأهيل بإصابات الملاعب\n\n🎯 يمكنكم الآن مشاهدة الحلقة كاملة على بودكاست كابتن أحمد\n\n@bo.omar72\n@mohamed_mehdi_baccouch\n\n#الكابتن_أحمد #الخيل #الفارس", "duration" => 75, "filename" => "/downloads/shorts/بودكاست كابتن أحمد/بودكاست كابتن أحمد - 2025-09-06 - [TnO8YS13J30].mp4", "id" => "TnO8YS13J30", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/TnO8YS13J30", "playlist_index" => 8, "timestamp" => 1757165106, "title" => "العمر المناسب لممارسة الرياضة", "upload_date" => "20250906"} 12:51:49.482 [debug] QUERY OK source="sources" db=0.3ms idle=1471.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [415] 12:51:49.482 [debug] QUERY OK source="sources" db=0.1ms idle=1472.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" = ?) [415] 12:51:49.483 [debug] QUERY OK source="media_items" db=0.4ms idle=1472.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-09-06 13:25:06Z], 415] 12:51:49.485 [debug] QUERY OK source="media_items" db=1.0ms idle=1028.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" ["🔹العلاج الطبيعي و استراتيجيات الوقاية من الإصابات للرياضيين وغير الرياضيين | #بودكاست_كابتن_أحمد\n\n🎙️ حلقة جديدة مليئة بالأسئلة والأجوبة عن الطب الرياضي مع أخصائي تأهيلي بإصابات الملاعب، نستضيف الكابتن محمد المهدي لاعب سابق في كرة الطائرة وأخصائي تأهيلي بإصابات الملاعب في الكويت لكرة اليد.\n\n📌 حلقة اليوم تفيد المدرب والرياضي وكذلك التعامل مع الإصابات قبل وبعد العلاج الطبيعي.\n\n🎙️ الآن حلقة جديدة مع ضيف الحلقة الكابتن محمد المهدي | أخصائي تأهيل بإصابات الملاعب\n\n🎯 يمكنكم الآن مشاهدة الحلقة كاملة على بودكاست كابتن أحمد\n\n@bo.omar72\n@mohamed_mehdi_baccouch\n\n#الكابتن_أحمد #الخيل #الفارس", "العمر المناسب لممارسة الرياضة", "960bd4b0-ac06-4c45-998b-f53c9ddbb76c", 75, false, "TnO8YS13J30", "https://www.youtube.com/shorts/TnO8YS13J30", 8, "/downloads/shorts/بودكاست كابتن أحمد/بودكاست كابتن أحمد - 2025-09-06 - [TnO8YS13J30].mp4", false, false, true, 415, [], 97, ~U[2025-09-06 13:25:06Z], ~U[2026-04-15 12:51:49Z], ~U[2026-04-15 12:51:49Z], "🔹العلاج الطبيعي و استراتيجيات الوقاية من الإصابات للرياضيين وغير الرياضيين | #بودكاست_كابتن_أحمد\n\n🎙️ حلقة جديدة مليئة بالأسئلة والأجوبة عن الطب الرياضي مع أخصائي تأهيلي بإصابات الملاعب، نستضيف الكابتن محمد المهدي لاعب سابق في كرة الطائرة وأخصائي تأهيلي بإصابات الملاعب في الكويت لكرة اليد.\n\n📌 حلقة اليوم تفيد المدرب والرياضي وكذلك التعامل مع الإصابات قبل وبعد العلاج الطبيعي.\n\n🎙️ الآن حلقة جديدة مع ضيف الحلقة الكابتن محمد المهدي | أخصائي تأهيل بإصابات الملاعب\n\n🎯 يمكنكم الآن مشاهدة الحلقة كاملة على بودكاست كابتن أحمد\n\n@bo.omar72\n@mohamed_mehdi_baccouch\n\n#الكابتن_أحمد #الخيل #الفارس", "العمر المناسب لممارسة الرياضة", 75, false, "TnO8YS13J30", "https://www.youtube.com/shorts/TnO8YS13J30", "/downloads/shorts/بودكاست كابتن أحمد/بودكاست كابتن أحمد - 2025-09-06 - [TnO8YS13J30].mp4", true, 415, ~U[2025-09-06 13:25:06Z]] 12:51:49.485 [debug] QUERY OK source="sources" db=0.3ms idle=29.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [415] 12:51:49.486 [debug] QUERY OK source="media_profiles" db=0.3ms idle=3.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 12:51:49.487 [debug] QUERY OK source="media_items" db=0.4ms idle=3.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 [4630813] 12:51:49.487 [debug] Current batch of media processed. Will check again in 1000ms 12:51:50.474 [debug] Current batch of media processed. Will check again in 1000ms 12:51:50.488 [debug] Current batch of media processed. Will check again in 1000ms 12:51:51.475 [debug] Current batch of media processed. Will check again in 1000ms 12:51:51.489 [debug] Current batch of media processed. Will check again in 1000ms 12:51:52.476 [debug] Current batch of media processed. Will check again in 1000ms 12:51:52.490 [debug] Current batch of media processed. Will check again in 1000ms 12:51:53.477 [debug] Current batch of media processed. Will check again in 1000ms 12:51:53.491 [debug] Current batch of media processed. Will check again in 1000ms 12:51:54.478 [debug] Current batch of media processed. Will check again in 1000ms 12:51:54.492 [debug] Current batch of media processed. Will check again in 1000ms 12:51:55.479 [debug] Current batch of media processed. Will check again in 1000ms 12:51:55.493 [debug] Current batch of media processed. Will check again in 1000ms 12:51:56.480 [debug] Current batch of media processed. Will check again in 1000ms 12:51:56.494 [debug] Current batch of media processed. Will check again in 1000ms 12:51:57.481 [debug] Current batch of media processed. Will check again in 1000ms 12:51:57.495 [debug] Current batch of media processed. Will check again in 1000ms 12:51:58.482 [debug] Current batch of media processed. Will check again in 1000ms 12:51:58.496 [debug] Current batch of media processed. Will check again in 1000ms 12:51:59.483 [debug] Current batch of media processed. Will check again in 1000ms 12:51:59.497 [debug] Current batch of media processed. Will check again in 1000ms 12:52:00.484 [debug] Current batch of media processed. Will check again in 1000ms 12:52:00.498 [debug] Current batch of media processed. Will check again in 1000ms 12:52:00.828 [info] {"source":"oban","duration":169,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:52:01.485 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "", "duration" => 102, "filename" => "/downloads/shorts/Mohammed Alnhet/Mohammed Alnhet - 2025-05-03 - [GwaYJmcAKpM].mp4", "id" => "GwaYJmcAKpM", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/GwaYJmcAKpM", "playlist_index" => 7, "timestamp" => 1746303870, "title" => "اغرب شارع في العالم❕", "upload_date" => "20250503"} 12:52:01.485 [debug] QUERY OK source="sources" db=0.1ms idle=657.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" IN (?)) [304] 12:52:01.486 [debug] QUERY OK source="sources" db=0.2ms idle=475.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [304] 12:52:01.486 [debug] QUERY OK source="media_items" db=0.3ms idle=476.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-05-03 20:24:30Z], 304] 12:52:01.487 [debug] QUERY OK source="media_items" db=0.6ms idle=476.7ms INSERT INTO "media_items" AS m0 ("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) 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" ["اغرب شارع في العالم❕", "8fb82e40-aff1-4a1a-8993-7ee4ac1460ff", 102, false, "GwaYJmcAKpM", "https://www.youtube.com/shorts/GwaYJmcAKpM", 7, "/downloads/shorts/Mohammed Alnhet/Mohammed Alnhet - 2025-05-03 - [GwaYJmcAKpM].mp4", false, false, true, 304, [], 98, ~U[2025-05-03 20:24:30Z], ~U[2026-04-15 12:52:01Z], ~U[2026-04-15 12:52:01Z], "", "اغرب شارع في العالم❕", 102, false, "GwaYJmcAKpM", "https://www.youtube.com/shorts/GwaYJmcAKpM", "/downloads/shorts/Mohammed Alnhet/Mohammed Alnhet - 2025-05-03 - [GwaYJmcAKpM].mp4", true, 304, ~U[2025-05-03 20:24:30Z]] 12:52:01.488 [debug] QUERY OK source="sources" db=0.2ms idle=18.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [304] 12:52:01.488 [debug] Current batch of media processed. Will check again in 1000ms 12:52:01.499 [debug] Current batch of media processed. Will check again in 1000ms 12:52:02.489 [debug] Current batch of media processed. Will check again in 1000ms 12:52:02.500 [debug] Current batch of media processed. Will check again in 1000ms 12:52:03.490 [debug] Current batch of media processed. Will check again in 1000ms 12:52:03.501 [debug] Current batch of media processed. Will check again in 1000ms 12:52:04.491 [debug] Current batch of media processed. Will check again in 1000ms 12:52:04.502 [debug] Current batch of media processed. Will check again in 1000ms 12:52:05.482 [info] {"args":{"id":171},"id":2191966,"meta":{},"system_time":1776257525482187751,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:52:05.482 [debug] QUERY OK source="sources" db=0.3ms idle=472.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" = ?) [171] 12:52:05.483 [debug] QUERY OK source="settings" db=0.2ms idle=472.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:52:05.483 [debug] QUERY OK source="media_profiles" db=0.2ms idle=473.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" = ?) [2] 12:52:05.484 [debug] QUERY OK source="settings" db=0.2ms idle=8.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:52:05.484 [debug] Fetching recent media IDs from YouTube API for playlist: UUPCJJLOkkiG_nO9lZkfXnjw 12:52:05.484 [debug] QUERY OK source="settings" db=0.1ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:52:05.484 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 12:52:05.492 [debug] Current batch of media processed. Will check again in 1000ms 12:52:05.503 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "🎙️ حلقة جديدة مليئة بالأسئلة والأجوبة عن الطب الرياضي مع أخصائي تأهيلي بإصابات الملاعب، نستضيف الكابتن محمد المهدي لاعب سابق في كرة الطائرة وأخصائي تأهيلي بإصابات الملاعب في الكويت لكرة اليد. \n📌 حلقة اليوم تفيد المدرب والرياضي وكذلك التعامل مع الإصابات قبل وبعد العلاج الطبيعي.\n\nحلقة جديدة مع الكابتن محمد المهدي\nعلى #بودكاست_الكابتن_أحمد", "duration" => 75, "filename" => "/downloads/shorts/بودكاست كابتن أحمد/بودكاست كابتن أحمد - 2025-09-06 - [hlUC_vGXSyk].mp4", "id" => "hlUC_vGXSyk", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/hlUC_vGXSyk", "playlist_index" => 9, "timestamp" => 1757164809, "title" => "#8 العلاج الطبيعي واستراتيجيات الوقاية من الإصابات للرياضيين و غير الرياضيين | #بودكاست_كابتن_أحمد", "upload_date" => "20250906"} 12:52:05.503 [debug] QUERY OK source="sources" db=0.1ms idle=20.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [415] 12:52:05.504 [debug] QUERY OK source="sources" db=0.1ms idle=20.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [415] 12:52:05.505 [debug] QUERY OK source="media_items" db=0.4ms idle=20.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-09-06 13:20:09Z], 415] 12:52:05.506 [debug] QUERY OK source="media_items" db=0.9ms idle=21.1ms 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" ["🎙️ حلقة جديدة مليئة بالأسئلة والأجوبة عن الطب الرياضي مع أخصائي تأهيلي بإصابات الملاعب، نستضيف الكابتن محمد المهدي لاعب سابق في كرة الطائرة وأخصائي تأهيلي بإصابات الملاعب في الكويت لكرة اليد. \n📌 حلقة اليوم تفيد المدرب والرياضي وكذلك التعامل مع الإصابات قبل وبعد العلاج الطبيعي.\n\nحلقة جديدة مع الكابتن محمد المهدي\nعلى #بودكاست_الكابتن_أحمد", "#8 العلاج الطبيعي واستراتيجيات الوقاية من الإصابات للرياضيين و غير الرياضيين | #بودكاست_كابتن_أحمد", "29d4e90f-3428-472f-bf4a-53b61627bd52", 75, false, "hlUC_vGXSyk", "https://www.youtube.com/shorts/hlUC_vGXSyk", 9, "/downloads/shorts/بودكاست كابتن أحمد/بودكاست كابتن أحمد - 2025-09-06 - [hlUC_vGXSyk].mp4", false, false, true, 415, [], 97, ~U[2025-09-06 13:20:09Z], ~U[2026-04-15 12:52:05Z], ~U[2026-04-15 12:52:05Z], "🎙️ حلقة جديدة مليئة بالأسئلة والأجوبة عن الطب الرياضي مع أخصائي تأهيلي بإصابات الملاعب، نستضيف الكابتن محمد المهدي لاعب سابق في كرة الطائرة وأخصائي تأهيلي بإصابات الملاعب في الكويت لكرة اليد. \n📌 حلقة اليوم تفيد المدرب والرياضي وكذلك التعامل مع الإصابات قبل وبعد العلاج الطبيعي.\n\nحلقة جديدة مع الكابتن محمد المهدي\nعلى #بودكاست_الكابتن_أحمد", "#8 العلاج الطبيعي واستراتيجيات الوقاية من الإصابات للرياضيين و غير الرياضيين | #بودكاست_كابتن_أحمد", 75, false, "hlUC_vGXSyk", "https://www.youtube.com/shorts/hlUC_vGXSyk", "/downloads/shorts/بودكاست كابتن أحمد/بودكاست كابتن أحمد - 2025-09-06 - [hlUC_vGXSyk].mp4", true, 415, ~U[2025-09-06 13:20:09Z]] 12:52:05.507 [debug] QUERY OK source="sources" db=0.2ms idle=22.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [415] 12:52:05.507 [debug] QUERY OK source="media_profiles" db=0.2ms idle=3.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 12:52:05.508 [debug] QUERY OK source="media_items" db=0.3ms idle=3.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 [4630815] 12:52:05.508 [debug] Current batch of media processed. Will check again in 1000ms 12:52:05.836 [debug] QUERY OK source="media_items" db=1.5ms idle=329.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [171, "VFX3pYhqhMc", "8akbqnY6xfo", "mQGq7-_ZQpk", "DvU-9b-WRJQ", "qcVMc5qMHMc", "ZyaHtWeeQJo", "ObsLfR-eCfU", "wlrCH1ymC38", "BClWowlDc8Y", "IURONY7yLa0", "tXm7P3osDUM", "fEJp3H2bGIY", "ckYlSSk9ZDY", "6eKiHxor-8w", "m4s-6oJifb4", "J4KgJCBFs3I", "JJX9_mf8FpA", "KYuy8_X3KnQ", "fAKwe1CyPFQ", "25U_zUTaGl4", "OH-Lamsjd9Q", "hswGipBbpOs", "xy6xhSL7UCs", "VV-71sXr_Eg", "GtzJpE7Immk", "rrHhJaJ4PnE", "baWEivZpZpo", "eBYlWe7Cr7U", "k2AXmp7yS9A", "Y2M9tN8gnj0", "6ma-PaQ-e6c", "JOeBw_6a5XU", "LXdTRc3Tzu4", "owNOuAsIk5U", "us6iLwMmGKE", "GaGQuySKjYQ", "LaU1HhuupRQ", "SI-1fDbu4ss", "VgyfdGRM4Pc", "rHAI52w5zxs", "lzGGMh8vkyc", "NoqX1AM-4VA", "UH4xsNgVKrU", "0mT-lxX7dLo", "YuJWnY0puNw", "_BC4l__ihhY", "yH5YAprPCA0", "JKxMb-Ky2P0", "kA0vffcJPD4", ...] 12:52:05.838 [debug] QUERY OK source="media_items" db=1.2ms idle=331.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")))) [171] 12:52:05.840 [debug] QUERY OK source="tasks" db=0.3ms idle=332.2ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2192001, 171, ~U[2026-04-15 12:52:05Z], ~U[2026-04-15 12:52:05Z]] 12:52:05.841 [info] {"args":{"id":171},"id":2191966,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":358730,"event":"job:stop","queue_time":476340,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:52:06.493 [debug] Current batch of media processed. Will check again in 1000ms 12:52:06.509 [debug] Current batch of media processed. Will check again in 1000ms 12:52:07.494 [debug] Current batch of media processed. Will check again in 1000ms 12:52:07.510 [debug] Current batch of media processed. Will check again in 1000ms 12:52:08.495 [debug] Current batch of media processed. Will check again in 1000ms 12:52:08.511 [debug] Current batch of media processed. Will check again in 1000ms 12:52:09.489 [info] {"args":{"id":45},"id":2191967,"meta":{},"system_time":1776257529489192496,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:52:09.489 [debug] QUERY OK source="sources" db=0.2ms idle=479.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" = ?) [45] 12:52:09.490 [debug] QUERY OK source="settings" db=0.2ms idle=479.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:52:09.490 [debug] QUERY OK source="media_profiles" db=0.2ms idle=480.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" = ?) [2] 12:52:09.491 [debug] QUERY OK source="settings" db=0.2ms idle=8.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:52:09.491 [debug] Fetching recent media IDs from YouTube API for playlist: UUMQ18I4n6ccOSNDLfdhrUbQ 12:52:09.491 [debug] QUERY OK source="settings" db=0.1ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:52:09.491 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 12:52:09.496 [debug] Current batch of media processed. Will check again in 1000ms 12:52:09.512 [debug] Current batch of media processed. Will check again in 1000ms 12:52:09.778 [debug] QUERY OK source="media_items" db=1.2ms idle=286.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [45, "1th0U5H3aHc", "HGQV0of6nTE", "tKUGP9uxthw", "zQ3Qx9XHEf4", "oh-kSHOIQ-c", "RIGhyFg4AEY", "v9qp1yPZt94", "gMO10EuN6KY", "guC1BavbIsk", "Fmcoi8sp3kY", "UHXR0zqI9J8", "AAbWLkNEyac", "zlJ3ZE4YpI8", "vJLpHsN9O_M", "kUUO6WBjK7Y", "9MmcAy4OnXQ", "7G_bPyOUvq0", "Rc52Q9uG9p0", "Y8n3lqN1i3g", "dD8t_STorhk", "3dNHma-3EgY", "No3485rTj_Y", "xoIs_xBbBWQ", "3K3hFo6GUvU", "NhOWgP2G6SQ", "Phk0M8YZHc4", "_IAzU1Fd9Ak", "PMpaUqMnKiI", "p0NoIs5o5_8", "dy-0x1OV7mQ", "la8vobugu4g", "x6Ya11dw01M", "btegTB5eZC8", "awVvsRDCfkw", "6RwmzCGOVYk", "DIQ2PB2ht0Y", "vu6koXlG7Po", "Eoe_RDgTSFw", "zSVaXb8nd4E", "0vFVIUPZOto", "lJ-mtNTLrHE", "uZ79fUJjhyQ", "HWMx3-Xlr6Y", "kUtb_rKxgw0", "qmiQw-kcCfI", "PtJ2G8fLzSs", "lmjBT5TyeLc", "PEM_S-3B_Ps", "Klgdof9Tg7g", ...] 12:52:09.781 [debug] QUERY OK source="media_items" db=2.3ms idle=289.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")))) [45] 12:52:09.783 [debug] QUERY OK source="tasks" db=0.3ms idle=291.5ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2192002, 45, ~U[2026-04-15 12:52:09Z], ~U[2026-04-15 12:52:09Z]] 12:52:09.783 [info] {"args":{"id":45},"id":2191967,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":294255,"event":"job:stop","queue_time":484595,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:52:10.497 [debug] Current batch of media processed. Will check again in 1000ms 12:52:10.513 [debug] Current batch of media processed. Will check again in 1000ms 12:52:11.498 [debug] Current batch of media processed. Will check again in 1000ms 12:52:11.514 [debug] Current batch of media processed. Will check again in 1000ms 12:52:11.996 [info] {"source":"oban","duration":17934,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:52:12.499 [debug] Current batch of media processed. Will check again in 1000ms 12:52:12.515 [debug] Current batch of media processed. Will check again in 1000ms 12:52:13.500 [debug] Current batch of media processed. Will check again in 1000ms 12:52:13.516 [debug] Current batch of media processed. Will check again in 1000ms 12:52:14.501 [debug] Current batch of media processed. Will check again in 1000ms 12:52:14.517 [debug] Current batch of media processed. Will check again in 1000ms 12:52:15.502 [debug] Current batch of media processed. Will check again in 1000ms 12:52:15.518 [debug] Current batch of media processed. Will check again in 1000ms 12:52:16.503 [debug] Current batch of media processed. Will check again in 1000ms 12:52:16.519 [debug] Current batch of media processed. Will check again in 1000ms 12:52:17.504 [debug] Current batch of media processed. Will check again in 1000ms 12:52:17.520 [debug] Current batch of media processed. Will check again in 1000ms 12:52:18.505 [debug] Current batch of media processed. Will check again in 1000ms 12:52:18.521 [debug] Current batch of media processed. Will check again in 1000ms 12:52:19.506 [debug] Current batch of media processed. Will check again in 1000ms 12:52:19.522 [debug] Current batch of media processed. Will check again in 1000ms 12:52:20.507 [debug] Current batch of media processed. Will check again in 1000ms 12:52:20.523 [debug] Current batch of media processed. Will check again in 1000ms 12:52:21.508 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "", "duration" => 180, "filename" => "/downloads/shorts/Mohammed Alnhet/Mohammed Alnhet - 2025-02-27 - [MPPZbFXEgtQ].mp4", "id" => "MPPZbFXEgtQ", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/MPPZbFXEgtQ", "playlist_index" => 8, "timestamp" => 1740651996, "title" => "قصة اغلاق المطارات في ازمة كورونا ! |#بودكاست باكورة", "upload_date" => "20250227"} 12:52:21.508 [debug] QUERY OK source="sources" db=0.1ms idle=498.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" IN (?)) [304] 12:52:21.509 [debug] QUERY OK source="sources" db=0.2ms idle=498.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" = ?) [304] 12:52:21.510 [debug] QUERY OK source="media_items" db=0.3ms idle=499.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-02-27 10:26:36Z], 304] 12:52:21.511 [debug] QUERY OK source="media_items" db=0.8ms idle=500.0ms INSERT INTO "media_items" AS m0 ("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) 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" ["قصة اغلاق المطارات في ازمة كورونا ! |#بودكاست باكورة", "3abfbf98-6912-4e38-9ba2-1ad00e4c1868", 180, false, "MPPZbFXEgtQ", "https://www.youtube.com/shorts/MPPZbFXEgtQ", 8, "/downloads/shorts/Mohammed Alnhet/Mohammed Alnhet - 2025-02-27 - [MPPZbFXEgtQ].mp4", false, false, true, 304, [], 98, ~U[2025-02-27 10:26:36Z], ~U[2026-04-15 12:52:21Z], ~U[2026-04-15 12:52:21Z], "", "قصة اغلاق المطارات في ازمة كورونا ! |#بودكاست باكورة", 180, false, "MPPZbFXEgtQ", "https://www.youtube.com/shorts/MPPZbFXEgtQ", "/downloads/shorts/Mohammed Alnhet/Mohammed Alnhet - 2025-02-27 - [MPPZbFXEgtQ].mp4", true, 304, ~U[2025-02-27 10:26:36Z]] 12:52:21.512 [debug] QUERY OK source="sources" db=0.9ms idle=13.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [304] 12:52:21.512 [debug] Current batch of media processed. Will check again in 1000ms 12:52:21.524 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "المعسكر\n\n🔹\"خاص جدًا... أسرار رياضة قفز الحواجز\"\n\n🎙️ الآن حلقة جديدة مع ضيف الحلقة الفارس بندر عبد العزيز جمعة\n\n🎯 يمكنكم الآن مشاهدة الحلقة كاملة على بودكاست كابتن أحمد\n\n@bo.omar72\n@bandarjumaa\n\n\n#الكابتن_أحمد #الخيل #الفارس", "duration" => 15, "filename" => "/downloads/shorts/بودكاست كابتن أحمد/بودكاست كابتن أحمد - 2025-07-29 - [xyF8MBXF0tk].mp4", "id" => "xyF8MBXF0tk", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/xyF8MBXF0tk", "playlist_index" => 10, "timestamp" => 1753778704, "title" => "المعسكر | بودكاست كابتن أحمد", "upload_date" => "20250729"} 12:52:21.524 [debug] QUERY OK source="sources" db=0.3ms idle=15.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [415] 12:52:21.525 [debug] QUERY OK source="sources" db=0.3ms idle=15.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [415] 12:52:21.526 [debug] QUERY OK source="media_items" db=0.6ms idle=15.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-07-29 08:45:04Z], 415] 12:52:21.544 [debug] QUERY OK source="media_items" db=17.3ms idle=15.5ms 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" ["المعسكر\n\n🔹\"خاص جدًا... أسرار رياضة قفز الحواجز\"\n\n🎙️ الآن حلقة جديدة مع ضيف الحلقة الفارس بندر عبد العزيز جمعة\n\n🎯 يمكنكم الآن مشاهدة الحلقة كاملة على بودكاست كابتن أحمد\n\n@bo.omar72\n@bandarjumaa\n\n\n#الكابتن_أحمد #الخيل #الفارس", "المعسكر | بودكاست كابتن أحمد", "e2a86538-40cc-433f-9eca-3dd39bb07b12", 15, false, "xyF8MBXF0tk", "https://www.youtube.com/shorts/xyF8MBXF0tk", 10, "/downloads/shorts/بودكاست كابتن أحمد/بودكاست كابتن أحمد - 2025-07-29 - [xyF8MBXF0tk].mp4", false, false, true, 415, [], 98, ~U[2025-07-29 08:45:04Z], ~U[2026-04-15 12:52:21Z], ~U[2026-04-15 12:52:21Z], "المعسكر\n\n🔹\"خاص جدًا... أسرار رياضة قفز الحواجز\"\n\n🎙️ الآن حلقة جديدة مع ضيف الحلقة الفارس بندر عبد العزيز جمعة\n\n🎯 يمكنكم الآن مشاهدة الحلقة كاملة على بودكاست كابتن أحمد\n\n@bo.omar72\n@bandarjumaa\n\n\n#الكابتن_أحمد #الخيل #الفارس", "المعسكر | بودكاست كابتن أحمد", 15, false, "xyF8MBXF0tk", "https://www.youtube.com/shorts/xyF8MBXF0tk", "/downloads/shorts/بودكاست كابتن أحمد/بودكاست كابتن أحمد - 2025-07-29 - [xyF8MBXF0tk].mp4", true, 415, ~U[2025-07-29 08:45:04Z]] 12:52:21.544 [debug] QUERY OK source="sources" db=0.4ms idle=31.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [415] 12:52:21.545 [debug] QUERY OK source="media_profiles" db=0.3ms idle=20.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" = ?) [2] 12:52:21.546 [debug] QUERY OK source="media_items" db=0.4ms idle=20.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 [4630817] 12:52:21.546 [debug] Current batch of media processed. Will check again in 1000ms 12:52:22.166 [info] GET /sources/352/media/3430785 12:52:22.166 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "3430785", "prevent_download" => "true", "source_id" => "352"} Pipelines: [:browser] 12:52:22.167 [debug] QUERY OK source="media_items" db=0.4ms 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" = ?) [3430785] 12:52:22.167 [debug] QUERY OK source="tasks" db=0.1ms idle=623.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" [3430785] 12:52:22.167 [debug] QUERY OK source="sources" db=0.3ms idle=622.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" = ?) [352] 12:52:22.168 [debug] QUERY OK source="settings" db=0.1ms idle=622.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:52:22.168 [debug] QUERY OK source="settings" db=0.1ms idle=622.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:52:22.169 [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 [] 12:52:22.170 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 12:52:22.171 [info] Sent 200 in 5ms 12:52:22.513 [debug] Current batch of media processed. Will check again in 1000ms 12:52:22.547 [debug] Current batch of media processed. Will check again in 1000ms 12:52:23.514 [debug] Current batch of media processed. Will check again in 1000ms 12:52:23.548 [debug] Current batch of media processed. Will check again in 1000ms 12:52:24.515 [debug] Current batch of media processed. Will check again in 1000ms 12:52:24.549 [debug] Current batch of media processed. Will check again in 1000ms 12:52:25.516 [debug] Current batch of media processed. Will check again in 1000ms 12:52:25.550 [debug] Current batch of media processed. Will check again in 1000ms 12:52:26.517 [debug] Current batch of media processed. Will check again in 1000ms 12:52:26.551 [debug] Current batch of media processed. Will check again in 1000ms 12:52:27.518 [debug] Current batch of media processed. Will check again in 1000ms 12:52:27.552 [debug] Current batch of media processed. Will check again in 1000ms 12:52:28.519 [debug] Current batch of media processed. Will check again in 1000ms 12:52:28.553 [debug] Current batch of media processed. Will check again in 1000ms 12:52:29.520 [debug] Current batch of media processed. Will check again in 1000ms 12:52:29.554 [debug] Current batch of media processed. Will check again in 1000ms 12:52:30.521 [debug] Current batch of media processed. Will check again in 1000ms 12:52:30.555 [debug] Current batch of media processed. Will check again in 1000ms 12:52:31.522 [debug] Current batch of media processed. Will check again in 1000ms 12:52:31.556 [debug] Current batch of media processed. Will check again in 1000ms 12:52:32.523 [debug] Current batch of media processed. Will check again in 1000ms 12:52:32.557 [debug] Current batch of media processed. Will check again in 1000ms 12:52:33.524 [debug] Current batch of media processed. Will check again in 1000ms 12:52:33.558 [debug] Current batch of media processed. Will check again in 1000ms 12:52:34.525 [debug] Current batch of media processed. Will check again in 1000ms 12:52:34.559 [debug] Current batch of media processed. Will check again in 1000ms 12:52:35.526 [debug] Current batch of media processed. Will check again in 1000ms 12:52:35.560 [debug] Current batch of media processed. Will check again in 1000ms 12:52:36.527 [debug] Current batch of media processed. Will check again in 1000ms 12:52:36.561 [debug] Current batch of media processed. Will check again in 1000ms 12:52:37.528 [debug] Current batch of media processed. Will check again in 1000ms 12:52:37.562 [debug] Current batch of media processed. Will check again in 1000ms 12:52:38.529 [debug] Current batch of media processed. Will check again in 1000ms 12:52:38.563 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "الثقافة الاحترافية\n\n🔹\"خاص جدًا... أسرار رياضة قفز الحواجز\"\n\n🎙️ الآن حلقة جديدة مع ضيف الحلقة الفارس بندر عبد العزيز جمعة\n\n🎯 يمكنكم الآن مشاهدة الحلقة كاملة على بودكاست كابتن أحمد\n\n@bo.omar72\n@bandarjumaa\n\n\n#الكابتن_أحمد #الخيل #الفارس", "duration" => 16, "filename" => "/downloads/shorts/بودكاست كابتن أحمد/بودكاست كابتن أحمد - 2025-07-28 - [F1lGURKq-fo].mp4", "id" => "F1lGURKq-fo", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/F1lGURKq-fo", "playlist_index" => 11, "timestamp" => 1753707256, "title" => "الثقافة الاحترافية | بودكاست كابتن أحمد", "upload_date" => "20250728"} 12:52:38.563 [debug] QUERY OK source="sources" db=0.2ms idle=553.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" IN (?)) [415] 12:52:38.564 [debug] QUERY OK source="sources" db=0.2ms idle=553.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" = ?) [415] 12:52:38.565 [debug] QUERY OK source="media_items" db=0.6ms idle=554.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-07-28 12:54:16Z], 415] 12:52:38.576 [debug] QUERY OK source="media_items" db=10.5ms idle=555.2ms 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" ["الثقافة الاحترافية\n\n🔹\"خاص جدًا... أسرار رياضة قفز الحواجز\"\n\n🎙️ الآن حلقة جديدة مع ضيف الحلقة الفارس بندر عبد العزيز جمعة\n\n🎯 يمكنكم الآن مشاهدة الحلقة كاملة على بودكاست كابتن أحمد\n\n@bo.omar72\n@bandarjumaa\n\n\n#الكابتن_أحمد #الخيل #الفارس", "الثقافة الاحترافية | بودكاست كابتن أحمد", "effddfa5-f59d-4d28-87aa-45c364ac52e0", 16, false, "F1lGURKq-fo", "https://www.youtube.com/shorts/F1lGURKq-fo", 11, "/downloads/shorts/بودكاست كابتن أحمد/بودكاست كابتن أحمد - 2025-07-28 - [F1lGURKq-fo].mp4", false, false, true, 415, [], 97, ~U[2025-07-28 12:54:16Z], ~U[2026-04-15 12:52:38Z], ~U[2026-04-15 12:52:38Z], "الثقافة الاحترافية\n\n🔹\"خاص جدًا... أسرار رياضة قفز الحواجز\"\n\n🎙️ الآن حلقة جديدة مع ضيف الحلقة الفارس بندر عبد العزيز جمعة\n\n🎯 يمكنكم الآن مشاهدة الحلقة كاملة على بودكاست كابتن أحمد\n\n@bo.omar72\n@bandarjumaa\n\n\n#الكابتن_أحمد #الخيل #الفارس", "الثقافة الاحترافية | بودكاست كابتن أحمد", 16, false, "F1lGURKq-fo", "https://www.youtube.com/shorts/F1lGURKq-fo", "/downloads/shorts/بودكاست كابتن أحمد/بودكاست كابتن أحمد - 2025-07-28 - [F1lGURKq-fo].mp4", true, 415, ~U[2025-07-28 12:54:16Z]] 12:52:38.576 [debug] QUERY OK source="sources" db=0.3ms idle=60.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" = ?) [415] 12:52:38.577 [debug] QUERY OK source="media_profiles" db=0.3ms idle=13.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" = ?) [2] 12:52:38.577 [debug] QUERY OK source="media_items" db=0.4ms idle=13.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4630818] 12:52:38.578 [debug] Current batch of media processed. Will check again in 1000ms 12:52:39.530 [debug] Current batch of media processed. Will check again in 1000ms 12:52:39.579 [debug] Current batch of media processed. Will check again in 1000ms 12:52:40.531 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "", "duration" => 89, "filename" => "/downloads/shorts/Mohammed Alnhet/Mohammed Alnhet - 2025-02-20 - [PffYyNkikE8].mp4", "id" => "PffYyNkikE8", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/PffYyNkikE8", "playlist_index" => 9, "timestamp" => 1740085217, "title" => "قصة دخول الانترنت في السعودية | #بودكاست باكورة", "upload_date" => "20250220"} 12:52:40.531 [debug] QUERY OK source="sources" db=0.2ms idle=521.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" IN (?)) [304] 12:52:40.532 [debug] QUERY OK source="sources" db=0.2ms idle=522.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" = ?) [304] 12:52:40.533 [debug] QUERY OK source="media_items" db=0.4ms idle=522.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-02-20 21:00:17Z], 304] 12:52:40.534 [debug] QUERY OK source="media_items" db=0.7ms idle=523.2ms INSERT INTO "media_items" AS m0 ("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) 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" ["قصة دخول الانترنت في السعودية | #بودكاست باكورة", "3ed4cfbb-aea6-449f-9247-6eb56b4b4b21", 89, false, "PffYyNkikE8", "https://www.youtube.com/shorts/PffYyNkikE8", 9, "/downloads/shorts/Mohammed Alnhet/Mohammed Alnhet - 2025-02-20 - [PffYyNkikE8].mp4", false, false, true, 304, [], 98, ~U[2025-02-20 21:00:17Z], ~U[2026-04-15 12:52:40Z], ~U[2026-04-15 12:52:40Z], "", "قصة دخول الانترنت في السعودية | #بودكاست باكورة", 89, false, "PffYyNkikE8", "https://www.youtube.com/shorts/PffYyNkikE8", "/downloads/shorts/Mohammed Alnhet/Mohammed Alnhet - 2025-02-20 - [PffYyNkikE8].mp4", true, 304, ~U[2025-02-20 21:00:17Z]] 12:52:40.534 [debug] QUERY OK source="sources" db=0.3ms idle=15.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [304] 12:52:40.535 [debug] Current batch of media processed. Will check again in 1000ms 12:52:40.580 [debug] Current batch of media processed. Will check again in 1000ms 12:52:41.536 [debug] Current batch of media processed. Will check again in 1000ms 12:52:41.581 [debug] Current batch of media processed. Will check again in 1000ms 12:52:42.015 [info] {"source":"oban","duration":18040,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:52:42.529 [info] {"args":{"id":550},"id":2191968,"meta":{},"system_time":1776257562529061229,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:52:42.529 [debug] QUERY OK source="sources" db=0.2ms idle=519.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" = ?) [550] 12:52:42.530 [debug] QUERY OK source="settings" db=0.2ms 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 [] 12:52:42.531 [debug] QUERY OK source="media_profiles" db=0.8ms idle=515.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" = ?) [2] 12:52:42.531 [debug] QUERY OK source="settings" db=0.2ms idle=9.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:52:42.531 [debug] Fetching recent media IDs from YouTube API for playlist: UUyVm0Ssw0oOM3GVTFEgfhVg 12:52:42.532 [debug] QUERY OK source="settings" db=0.1ms idle=2.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:52:42.532 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 12:52:42.537 [debug] Current batch of media processed. Will check again in 1000ms 12:52:42.582 [debug] Current batch of media processed. Will check again in 1000ms 12:52:42.811 [debug] QUERY OK source="media_items" db=1.1ms idle=280.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [550, "VVIu4Gd4Bmc", "VGkvWr49xiw", "FdtdrFElwxQ", "BiF8O-aJPsk", "pEPIdeIbSqE", "HVKDahMQhLU", "K1Z5WWHlSs0", "bTV-2GoMx5k", "5sktFoXR3kE", "Iw29TZ6SLvo", "QC4YTqx7lzA", "BIqcmk-5aJw", "YNoKdu3sWVw", "lDBjR9fkeyk", "UUw-e-5nl_w", "dWSKUDO1V2I", "ZxzpHQbUKZ8", "-88OXqMJjwg", "la1zxxjndF4", "d9IgzofO0fw", "o5zrD7rGl30", "quRGt1p1A6k", "IaipBYPY5V4", "iQu6FfiMnF4", "8xBlIDRpM28", "Lfo4DApK5a4", "bCJ3n8KOHYg", "Sjq6OHG4LSA", "8dSZzMsNwyE", "D6scLf0M_fw", "LbqgtTaCN-k", "VipSIn8XPCo", "laY5ME4rd8I", "iEqiRJ55fSM", "KpJw8Q3uePk", "wwRpgDY-BWw", "iV1WybdFWlE", "-orEfZNWjmY", "sBdEudKHhrc", "VBf9tHUdj1E", "whEUmNj9kZE", "n1-6atPiL-g", "xeXJJg6jwm0", "T65vDEtDyu0", "pe0HV6-wnsU", "i0IdbczAU7I", "2tGs0NNZaAM", "bq6i0vWfoZ0", "sRC7ONGF8EQ", ...] 12:52:42.812 [debug] QUERY OK source="media_items" db=0.6ms 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 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [550] 12:52:42.814 [debug] QUERY OK source="tasks" db=0.3ms idle=282.1ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2192003, 550, ~U[2026-04-15 12:52:42Z], ~U[2026-04-15 12:52:42Z]] 12:52:42.815 [info] {"args":{"id":550},"id":2191968,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":285660,"event":"job:stop","queue_time":479691,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:52:43.538 [debug] Current batch of media processed. Will check again in 1000ms 12:52:43.583 [debug] Current batch of media processed. Will check again in 1000ms 12:52:44.539 [debug] Current batch of media processed. Will check again in 1000ms 12:52:44.584 [debug] Current batch of media processed. Will check again in 1000ms 12:52:45.540 [debug] Current batch of media processed. Will check again in 1000ms 12:52:45.585 [debug] Current batch of media processed. Will check again in 1000ms 12:52:46.541 [debug] Current batch of media processed. Will check again in 1000ms 12:52:46.586 [debug] Current batch of media processed. Will check again in 1000ms 12:52:47.542 [debug] Current batch of media processed. Will check again in 1000ms 12:52:47.587 [debug] Current batch of media processed. Will check again in 1000ms 12:52:48.543 [debug] Current batch of media processed. Will check again in 1000ms 12:52:48.588 [debug] Current batch of media processed. Will check again in 1000ms 12:52:49.544 [debug] Current batch of media processed. Will check again in 1000ms 12:52:49.589 [debug] Current batch of media processed. Will check again in 1000ms 12:52:50.545 [debug] Current batch of media processed. Will check again in 1000ms 12:52:50.590 [debug] Current batch of media processed. Will check again in 1000ms 12:52:51.546 [debug] Current batch of media processed. Will check again in 1000ms 12:52:51.591 [debug] Current batch of media processed. Will check again in 1000ms 12:52:52.547 [debug] Current batch of media processed. Will check again in 1000ms 12:52:52.592 [debug] Current batch of media processed. Will check again in 1000ms 12:52:53.548 [debug] Current batch of media processed. Will check again in 1000ms 12:52:53.593 [debug] Current batch of media processed. Will check again in 1000ms 12:52:54.549 [debug] Current batch of media processed. Will check again in 1000ms 12:52:54.594 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "الفروسية في الكويت\n\n🔹\"خاص جدًا... أسرار رياضة قفز الحواجز\"\n\n🎙️ الآن حلقة جديدة مع ضيف الحلقة الفارس بندر عبد العزيز جمعة\n\n🎯 يمكنكم الآن مشاهدة الحلقة كاملة على بودكاست كابتن أحمد\n\n@bo.omar72\n@bandarjumaa\n\n\n#الكابتن_أحمد #الخيل #الفارس", "duration" => 29, "filename" => "/downloads/shorts/بودكاست كابتن أحمد/بودكاست كابتن أحمد - 2025-07-28 - [lPrJOeilFm8].mp4", "id" => "lPrJOeilFm8", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/lPrJOeilFm8", "playlist_index" => 12, "timestamp" => 1753707064, "title" => "الفروسية في الكويت | بودكاست كابتن أحمد", "upload_date" => "20250728"} 12:52:54.594 [debug] QUERY OK source="sources" db=0.2ms idle=584.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" IN (?)) [415] 12:52:54.595 [debug] QUERY OK source="sources" db=0.1ms idle=585.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" = ?) [415] 12:52:54.596 [debug] QUERY OK source="media_items" db=0.5ms idle=585.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-07-28 12:51:04Z], 415] 12:52:54.597 [debug] QUERY OK source="media_items" db=0.9ms idle=586.2ms 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" ["الفروسية في الكويت\n\n🔹\"خاص جدًا... أسرار رياضة قفز الحواجز\"\n\n🎙️ الآن حلقة جديدة مع ضيف الحلقة الفارس بندر عبد العزيز جمعة\n\n🎯 يمكنكم الآن مشاهدة الحلقة كاملة على بودكاست كابتن أحمد\n\n@bo.omar72\n@bandarjumaa\n\n\n#الكابتن_أحمد #الخيل #الفارس", "الفروسية في الكويت | بودكاست كابتن أحمد", "72ef1d7e-514b-4a8f-9789-fd089426bfd3", 29, false, "lPrJOeilFm8", "https://www.youtube.com/shorts/lPrJOeilFm8", 12, "/downloads/shorts/بودكاست كابتن أحمد/بودكاست كابتن أحمد - 2025-07-28 - [lPrJOeilFm8].mp4", false, false, true, 415, [], 97, ~U[2025-07-28 12:51:04Z], ~U[2026-04-15 12:52:54Z], ~U[2026-04-15 12:52:54Z], "الفروسية في الكويت\n\n🔹\"خاص جدًا... أسرار رياضة قفز الحواجز\"\n\n🎙️ الآن حلقة جديدة مع ضيف الحلقة الفارس بندر عبد العزيز جمعة\n\n🎯 يمكنكم الآن مشاهدة الحلقة كاملة على بودكاست كابتن أحمد\n\n@bo.omar72\n@bandarjumaa\n\n\n#الكابتن_أحمد #الخيل #الفارس", "الفروسية في الكويت | بودكاست كابتن أحمد", 29, false, "lPrJOeilFm8", "https://www.youtube.com/shorts/lPrJOeilFm8", "/downloads/shorts/بودكاست كابتن أحمد/بودكاست كابتن أحمد - 2025-07-28 - [lPrJOeilFm8].mp4", true, 415, ~U[2025-07-28 12:51:04Z]] 12:52:54.598 [debug] QUERY OK source="sources" db=0.3ms idle=59.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" = ?) [415] 12:52:54.598 [debug] QUERY OK source="media_profiles" db=0.2ms idle=3.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 12:52:54.599 [debug] QUERY OK source="media_items" db=0.4ms idle=3.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4630820] 12:52:54.599 [debug] Current batch of media processed. Will check again in 1000ms 12:52:55.550 [debug] Current batch of media processed. Will check again in 1000ms 12:52:55.600 [debug] Current batch of media processed. Will check again in 1000ms 12:52:56.547 [info] {"args":{"id":432},"id":2191969,"meta":{},"system_time":1776257576547130381,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:52:56.547 [debug] QUERY OK source="sources" db=0.2ms idle=537.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" = ?) [432] 12:52:56.548 [debug] QUERY OK source="settings" db=0.2ms idle=537.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:52:56.548 [debug] QUERY OK source="media_profiles" db=0.1ms idle=538.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" = ?) [3] 12:52:56.549 [debug] QUERY OK source="settings" db=0.2ms idle=8.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:52:56.549 [debug] Fetching recent media IDs from YouTube API for playlist: UUjqNqKjLuFBCfjZ5WoI0_Kw 12:52:56.549 [debug] QUERY OK source="settings" db=0.1ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:52:56.549 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 12:52:56.551 [debug] Current batch of media processed. Will check again in 1000ms 12:52:56.601 [debug] Current batch of media processed. Will check again in 1000ms 12:52:57.013 [debug] QUERY OK source="media_items" db=1.1ms idle=464.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [432, "BNcH5os2Azc", "yB1u7nWLyZM", "R9PH1e1T4bE", "mRIpLTPueWs", "eiVtQXCEJNI", "wVff1dLCB2o", "yKp5TotCvCM", "YzSEz5GqB9c", "FVkgWH0fdG4", "Vs9a6lqv2Mk", "m4NrFYSOXM8", "_91NR0tetqI", "y9T5O1B2Y8I", "a447IYbwNjk", "5fyJDR9E5dI", "tNLR5cr-GpM", "SRPizcmFrqI", "CRAuwECvcoE", "BWixeDYPutA", "kdoJee--cYo", "_L0JyHhOPa8", "cYOILGWiA90", "WSk4s-6dWho", "Fcocf1LGh8k", "ALSaV53wF_8", "8210atQw6mk", "xS335AwgMhE", "U7Ao_x_mZrc", "SHtY1j8nD80", "7DaGvK3ZlzM", "oC1KNxej1a0", "UcXUMjckYlI", "aRfBOREb9yk", "TDNwMa688us", "3vlPML1zG3E", "RkmKL4n9xLQ", "JdCOo0MBWM4", "zmj1XdI1edU", "rWxi69DrDWc", "eUftJ6-GB9E", "vbkMwqI6iKw", "qZRVpNRqIPo", "qzAOOwQboR4", "2acjUU6cQh4", "9accY9x0NmQ", "NDhBgmst590", "Uxi8ZvR6KjM", "QQ3kf587e-Y", "x5nb-k2uUzo", ...] 12:52:57.015 [debug] QUERY OK source="media_items" db=0.9ms idle=466.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")))) [432] 12:52:57.017 [debug] QUERY OK source="tasks" db=0.3ms idle=467.9ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2192004, 432, ~U[2026-04-15 12:52:57Z], ~U[2026-04-15 12:52:57Z]] 12:52:57.018 [info] {"args":{"id":432},"id":2191969,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":470701,"event":"job:stop","queue_time":550499,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:52:57.552 [debug] Current batch of media processed. Will check again in 1000ms 12:52:57.602 [debug] Current batch of media processed. Will check again in 1000ms 12:52:58.553 [debug] Current batch of media processed. Will check again in 1000ms 12:52:58.603 [debug] Current batch of media processed. Will check again in 1000ms 12:52:59.554 [debug] Current batch of media processed. Will check again in 1000ms 12:52:59.604 [debug] Current batch of media processed. Will check again in 1000ms 12:53:00.555 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "", "duration" => 76, "filename" => "/downloads/shorts/Mohammed Alnhet/Mohammed Alnhet - 2025-02-16 - [DW7LIYljlxM].mp4", "id" => "DW7LIYljlxM", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/DW7LIYljlxM", "playlist_index" => 10, "timestamp" => 1739701691, "title" => "البزنس ذكاء، والاستماع لمن هو أخبر منك جزء من النجاح! 🎯 💼", "upload_date" => "20250216"} 12:53:00.555 [debug] QUERY OK source="sources" db=0.2ms idle=1545.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" IN (?)) [304] 12:53:00.556 [debug] QUERY OK source="sources" db=0.1ms idle=1545.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" = ?) [304] 12:53:00.556 [debug] QUERY OK source="media_items" db=0.3ms idle=1546.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-02-16 10:28:11Z], 304] 12:53:00.558 [debug] QUERY OK source="media_items" db=0.7ms idle=1013.4ms INSERT INTO "media_items" AS m0 ("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) 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" ["البزنس ذكاء، والاستماع لمن هو أخبر منك جزء من النجاح! 🎯 💼", "9f896ee6-daef-4a63-8bd6-28d73ce8b533", 76, false, "DW7LIYljlxM", "https://www.youtube.com/shorts/DW7LIYljlxM", 10, "/downloads/shorts/Mohammed Alnhet/Mohammed Alnhet - 2025-02-16 - [DW7LIYljlxM].mp4", false, false, true, 304, [], 98, ~U[2025-02-16 10:28:11Z], ~U[2026-04-15 12:53:00Z], ~U[2026-04-15 12:53:00Z], "", "البزنس ذكاء، والاستماع لمن هو أخبر منك جزء من النجاح! 🎯 💼", 76, false, "DW7LIYljlxM", "https://www.youtube.com/shorts/DW7LIYljlxM", "/downloads/shorts/Mohammed Alnhet/Mohammed Alnhet - 2025-02-16 - [DW7LIYljlxM].mp4", true, 304, ~U[2025-02-16 10:28:11Z]] 12:53:00.558 [debug] QUERY OK source="sources" db=0.2ms idle=13.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [304] 12:53:00.558 [debug] Current batch of media processed. Will check again in 1000ms 12:53:00.605 [debug] Current batch of media processed. Will check again in 1000ms 12:53:00.829 [info] {"source":"oban","duration":122,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:53:01.559 [debug] Current batch of media processed. Will check again in 1000ms 12:53:01.606 [debug] Current batch of media processed. Will check again in 1000ms 12:53:02.560 [debug] Current batch of media processed. Will check again in 1000ms 12:53:02.607 [debug] Current batch of media processed. Will check again in 1000ms 12:53:03.561 [debug] Current batch of media processed. Will check again in 1000ms 12:53:03.608 [debug] Current batch of media processed. Will check again in 1000ms 12:53:04.562 [debug] Current batch of media processed. Will check again in 1000ms 12:53:04.609 [debug] Current batch of media processed. Will check again in 1000ms 12:53:05.563 [debug] Current batch of media processed. Will check again in 1000ms 12:53:05.610 [debug] Current batch of media processed. Will check again in 1000ms 12:53:06.560 [info] {"args":{"id":371},"id":2191970,"meta":{},"system_time":1776257586560126921,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:53:06.560 [debug] QUERY OK source="sources" db=0.3ms idle=550.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" = ?) [371] 12:53:06.561 [debug] QUERY OK source="settings" db=0.3ms idle=550.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:53:06.561 [debug] QUERY OK source="media_profiles" db=0.3ms idle=551.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" = ?) [2] 12:53:06.562 [debug] QUERY OK source="settings" db=0.2ms idle=8.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:53:06.562 [debug] Fetching recent media IDs from YouTube API for playlist: UUPXKFARrr9KIazKFsIdZrbg 12:53:06.562 [debug] QUERY OK source="settings" db=0.1ms idle=2.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:53:06.562 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 12:53:06.564 [debug] Current batch of media processed. Will check again in 1000ms 12:53:06.611 [debug] Current batch of media processed. Will check again in 1000ms 12:53:07.190 [debug] QUERY OK source="media_items" db=1.1ms idle=628.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [371, "yoERyAZRcQw", "6jUjdCJenQs", "YpYESr2EwGs", "ouj3976UAV0", "LCEc0kTzWF8", "5ZGpRYl6ks8", "3gkOHFl5Ri4", "H255MFb1bs4", "95GWfCxldgI", "H1zRYcAm3Go", "7qp1GsOUzDQ", "JVjUwiWv3hs", "wgQQnINLVO0", "9JU10bS2zL0", "ZR7jEy3Vaso", "j5yCJlYe9eg", "iIY7sssVwrI", "a8lG2_2PvIY", "Pa4wns5otZs", "gr91GSu_Cro", "ajH6eOSCQz8", "v9om7xCpqr8", "KkpgKcSpZEQ", "zMVfXS39Q2U", "eOS-RREFSt8", "HPMKW_Riiy4", "NXLwiiz31bc", "bdTTpJLTrZ4", "dzbra-TCuUQ", "5SPKYzmAJ-Q", "Zsc3l7AVDfQ", "GjqzhuXGFAA", "NpWfLsVWwzI", "l96CSV_PcgQ", "-YGrEcjNLJ8", "JhPNMlhub4g", "5WtA5s9B3JA", "HbRInQ0QJ-8", "px1xWZRhIyA", "WK5LmlHayN0", "fcGFxqcjTyg", "vbMYWclnMJQ", "Wlmj1-25Jbw", "JWh5H2FFZ28", "siaOhImfbmc", "jO81Xp9TIIM", "kXpR9OxpnXw", "p_tveWViZTY", "9GBJPcAPYJM", ...] 12:53:07.201 [debug] QUERY OK source="media_items" db=9.9ms idle=630.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")))) [371] 12:53:07.203 [debug] QUERY OK source="tasks" db=0.3ms idle=640.4ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2192005, 371, ~U[2026-04-15 12:53:07Z], ~U[2026-04-15 12:53:07Z]] 12:53:07.204 [info] {"args":{"id":371},"id":2191970,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":643611,"event":"job:stop","queue_time":174244,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:53:07.565 [debug] Current batch of media processed. Will check again in 1000ms 12:53:07.612 [debug] Current batch of media processed. Will check again in 1000ms 12:53:08.566 [debug] Current batch of media processed. Will check again in 1000ms 12:53:08.613 [debug] Current batch of media processed. Will check again in 1000ms 12:53:09.567 [debug] Current batch of media processed. Will check again in 1000ms 12:53:09.614 [debug] Current batch of media processed. Will check again in 1000ms 12:53:10.568 [debug] Current batch of media processed. Will check again in 1000ms 12:53:10.615 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "\u200E🔹متى أول مرة دخلت فيها الكويت؟\n\u200E🎙️ الآن حلقة جديدة مع ضيف الحلقة الحاج كمال مندي | مربي خيل عربي\n\u200E 🎯 يمكنكم الآن مشاهدة الحلقة كاملة على بودكاست كابتن أحمد\n@7upstables \n@bo.omar72 \n@waled_mondy \n\n\u200E#الكابتن_أحمد #الخيل #الفارس", "duration" => 50, "filename" => "/downloads/shorts/بودكاست كابتن أحمد/بودكاست كابتن أحمد - 2025-04-23 - [YumaPrnx31s].mp4", "id" => "YumaPrnx31s", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/YumaPrnx31s", "playlist_index" => 13, "timestamp" => 1745402454, "title" => "متى أول مرة دخلت فيها الكويت؟ | #بودكاست_كابتن_أحمد", "upload_date" => "20250423"} 12:53:10.615 [debug] QUERY OK source="sources" db=0.3ms idle=1605.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" IN (?)) [415] 12:53:10.616 [debug] QUERY OK source="sources" db=0.2ms idle=1605.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" = ?) [415] 12:53:10.617 [debug] QUERY OK source="media_items" db=0.5ms idle=1606.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-04-23 10:00:54Z], 415] 12:53:10.618 [debug] QUERY OK source="media_items" db=0.9ms idle=1060.4ms 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" ["\u200E🔹متى أول مرة دخلت فيها الكويت؟\n\u200E🎙️ الآن حلقة جديدة مع ضيف الحلقة الحاج كمال مندي | مربي خيل عربي\n\u200E 🎯 يمكنكم الآن مشاهدة الحلقة كاملة على بودكاست كابتن أحمد\n@7upstables \n@bo.omar72 \n@waled_mondy \n\n\u200E#الكابتن_أحمد #الخيل #الفارس", "متى أول مرة دخلت فيها الكويت؟ | #بودكاست_كابتن_أحمد", "d577d39c-f8df-42db-b849-13d43f0f75f0", 50, false, "YumaPrnx31s", "https://www.youtube.com/shorts/YumaPrnx31s", 13, "/downloads/shorts/بودكاست كابتن أحمد/بودكاست كابتن أحمد - 2025-04-23 - [YumaPrnx31s].mp4", false, false, true, 415, [], 98, ~U[2025-04-23 10:00:54Z], ~U[2026-04-15 12:53:10Z], ~U[2026-04-15 12:53:10Z], "\u200E🔹متى أول مرة دخلت فيها الكويت؟\n\u200E🎙️ الآن حلقة جديدة مع ضيف الحلقة الحاج كمال مندي | مربي خيل عربي\n\u200E 🎯 يمكنكم الآن مشاهدة الحلقة كاملة على بودكاست كابتن أحمد\n@7upstables \n@bo.omar72 \n@waled_mondy \n\n\u200E#الكابتن_أحمد #الخيل #الفارس", "متى أول مرة دخلت فيها الكويت؟ | #بودكاست_كابتن_أحمد", 50, false, "YumaPrnx31s", "https://www.youtube.com/shorts/YumaPrnx31s", "/downloads/shorts/بودكاست كابتن أحمد/بودكاست كابتن أحمد - 2025-04-23 - [YumaPrnx31s].mp4", true, 415, ~U[2025-04-23 10:00:54Z]] 12:53:10.619 [debug] QUERY OK source="sources" db=0.3ms idle=60.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [415] 12:53:10.619 [debug] QUERY OK source="media_profiles" db=0.2ms idle=3.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 12:53:10.620 [debug] QUERY OK source="media_items" db=0.3ms idle=3.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 [4381003] 12:53:10.620 [debug] Current batch of media processed. Will check again in 1000ms 12:53:11.569 [debug] Current batch of media processed. Will check again in 1000ms 12:53:11.621 [debug] Current batch of media processed. Will check again in 1000ms 12:53:12.033 [info] {"source":"oban","duration":17644,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:53:12.570 [debug] Current batch of media processed. Will check again in 1000ms 12:53:12.622 [debug] Current batch of media processed. Will check again in 1000ms 12:53:13.571 [debug] Current batch of media processed. Will check again in 1000ms 12:53:13.623 [debug] Current batch of media processed. Will check again in 1000ms 12:53:14.572 [debug] Current batch of media processed. Will check again in 1000ms 12:53:14.624 [debug] Current batch of media processed. Will check again in 1000ms 12:53:15.573 [debug] Current batch of media processed. Will check again in 1000ms 12:53:15.625 [debug] Current batch of media processed. Will check again in 1000ms 12:53:16.574 [debug] Current batch of media processed. Will check again in 1000ms 12:53:16.626 [debug] Current batch of media processed. Will check again in 1000ms 12:53:17.575 [debug] Current batch of media processed. Will check again in 1000ms 12:53:17.627 [debug] Current batch of media processed. Will check again in 1000ms 12:53:18.576 [debug] Current batch of media processed. Will check again in 1000ms 12:53:18.628 [debug] Current batch of media processed. Will check again in 1000ms 12:53:19.577 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "", "duration" => 41, "filename" => "/downloads/shorts/Mohammed Alnhet/Mohammed Alnhet - 2025-01-28 - [63INqEy5Jtk].mp4", "id" => "63INqEy5Jtk", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/63INqEy5Jtk", "playlist_index" => 11, "timestamp" => 1738059944, "title" => "إجتماعات العمل والأرهاق العقلي ..! | #الخطوة القادمة", "upload_date" => "20250128"} 12:53:19.577 [debug] QUERY OK source="sources" db=0.1ms idle=1567.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" IN (?)) [304] 12:53:19.578 [debug] QUERY OK source="sources" db=0.1ms idle=1567.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" = ?) [304] 12:53:19.578 [debug] QUERY OK source="media_items" db=0.2ms idle=1568.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-01-28 10:25:44Z], 304] 12:53:19.580 [debug] QUERY OK source="media_items" db=1.7ms idle=1012.0ms INSERT INTO "media_items" AS m0 ("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) 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" ["إجتماعات العمل والأرهاق العقلي ..! | #الخطوة القادمة", "5c6c9e30-7851-42c4-a4c3-0cd2f93fc136", 41, false, "63INqEy5Jtk", "https://www.youtube.com/shorts/63INqEy5Jtk", 11, "/downloads/shorts/Mohammed Alnhet/Mohammed Alnhet - 2025-01-28 - [63INqEy5Jtk].mp4", false, false, true, 304, [], 98, ~U[2025-01-28 10:25:44Z], ~U[2026-04-15 12:53:19Z], ~U[2026-04-15 12:53:19Z], "", "إجتماعات العمل والأرهاق العقلي ..! | #الخطوة القادمة", 41, false, "63INqEy5Jtk", "https://www.youtube.com/shorts/63INqEy5Jtk", "/downloads/shorts/Mohammed Alnhet/Mohammed Alnhet - 2025-01-28 - [63INqEy5Jtk].mp4", true, 304, ~U[2025-01-28 10:25:44Z]] 12:53:19.581 [debug] QUERY OK source="sources" db=0.3ms idle=13.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [304] 12:53:19.581 [debug] Current batch of media processed. Will check again in 1000ms 12:53:19.629 [debug] Current batch of media processed. Will check again in 1000ms 12:53:20.582 [debug] Current batch of media processed. Will check again in 1000ms 12:53:20.630 [debug] Current batch of media processed. Will check again in 1000ms 12:53:21.583 [debug] Current batch of media processed. Will check again in 1000ms 12:53:21.631 [debug] Current batch of media processed. Will check again in 1000ms 12:53:22.584 [debug] Current batch of media processed. Will check again in 1000ms 12:53:22.632 [debug] Current batch of media processed. Will check again in 1000ms 12:53:23.585 [debug] Current batch of media processed. Will check again in 1000ms 12:53:23.633 [debug] Current batch of media processed. Will check again in 1000ms 12:53:24.586 [debug] Current batch of media processed. Will check again in 1000ms 12:53:24.634 [debug] Current batch of media processed. Will check again in 1000ms 12:53:25.587 [debug] Current batch of media processed. Will check again in 1000ms 12:53:25.635 [debug] Current batch of media processed. Will check again in 1000ms 12:53:25.906 [info] GET /sources/468/media/4340097 12:53:25.906 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "4340097", "prevent_download" => "true", "source_id" => "468"} Pipelines: [:browser] 12:53:25.907 [debug] QUERY OK source="media_items" db=0.2ms 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."id" = ?) [4340097] 12:53:25.907 [debug] QUERY OK source="tasks" db=0.3ms idle=897.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" [4340097] 12:53:25.907 [debug] QUERY OK source="sources" db=0.3ms idle=897.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" = ?) [468] 12:53:25.908 [debug] QUERY OK source="settings" db=0.1ms idle=898.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:53:25.908 [debug] QUERY OK source="settings" db=0.1ms idle=333.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:53:25.909 [debug] QUERY OK source="settings" db=0.1ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:53:25.910 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 12:53:25.911 [info] Sent 200 in 5ms 12:53:26.588 [debug] Current batch of media processed. Will check again in 1000ms 12:53:26.636 [debug] Current batch of media processed. Will check again in 1000ms 12:53:27.589 [debug] Current batch of media processed. Will check again in 1000ms 12:53:27.637 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "\u200E🔹الخيل والسياحة\n\u200E🎙️ الآن حلقة جديدة مع ضيف الحلقة الحاج كمال مندي | مربي خيل عربي\n\u200E 🎯 يمكنكم الآن مشاهدة الحلقة كاملة على بودكاست كابتن أحمد\n@7upstables \n@bo.omar72 \n@waled_mondy \n\n\u200E#الكابتن_أحمد #الخيل #الفارس", "duration" => 63, "filename" => "/downloads/shorts/بودكاست كابتن أحمد/بودكاست كابتن أحمد - 2025-04-21 - [ewYSb_lju18].mp4", "id" => "ewYSb_lju18", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/ewYSb_lju18", "playlist_index" => 14, "timestamp" => 1745229659, "title" => "الخيل والسياحة | #بودكاست_كابتن_أحمد", "upload_date" => "20250421"} 12:53:27.637 [debug] QUERY OK source="sources" db=0.2ms idle=627.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" IN (?)) [415] 12:53:27.638 [debug] QUERY OK source="sources" db=0.1ms idle=627.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" = ?) [415] 12:53:27.639 [debug] QUERY OK source="media_items" db=0.5ms idle=628.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-04-21 10:00:59Z], 415] 12:53:27.640 [debug] QUERY OK source="media_items" db=0.9ms idle=629.2ms 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" ["\u200E🔹الخيل والسياحة\n\u200E🎙️ الآن حلقة جديدة مع ضيف الحلقة الحاج كمال مندي | مربي خيل عربي\n\u200E 🎯 يمكنكم الآن مشاهدة الحلقة كاملة على بودكاست كابتن أحمد\n@7upstables \n@bo.omar72 \n@waled_mondy \n\n\u200E#الكابتن_أحمد #الخيل #الفارس", "الخيل والسياحة | #بودكاست_كابتن_أحمد", "bc8e79e2-76af-4379-85ee-825b7bfa6b4e", 63, false, "ewYSb_lju18", "https://www.youtube.com/shorts/ewYSb_lju18", 14, "/downloads/shorts/بودكاست كابتن أحمد/بودكاست كابتن أحمد - 2025-04-21 - [ewYSb_lju18].mp4", false, false, true, 415, [], 98, ~U[2025-04-21 10:00:59Z], ~U[2026-04-15 12:53:27Z], ~U[2026-04-15 12:53:27Z], "\u200E🔹الخيل والسياحة\n\u200E🎙️ الآن حلقة جديدة مع ضيف الحلقة الحاج كمال مندي | مربي خيل عربي\n\u200E 🎯 يمكنكم الآن مشاهدة الحلقة كاملة على بودكاست كابتن أحمد\n@7upstables \n@bo.omar72 \n@waled_mondy \n\n\u200E#الكابتن_أحمد #الخيل #الفارس", "الخيل والسياحة | #بودكاست_كابتن_أحمد", 63, false, "ewYSb_lju18", "https://www.youtube.com/shorts/ewYSb_lju18", "/downloads/shorts/بودكاست كابتن أحمد/بودكاست كابتن أحمد - 2025-04-21 - [ewYSb_lju18].mp4", true, 415, ~U[2025-04-21 10:00:59Z]] 12:53:27.641 [debug] QUERY OK source="sources" db=0.3ms idle=63.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" = ?) [415] 12:53:27.642 [debug] QUERY OK source="media_profiles" db=0.9ms idle=3.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 12:53:27.643 [debug] QUERY OK source="media_items" db=0.4ms idle=4.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4377696] 12:53:27.643 [debug] Current batch of media processed. Will check again in 1000ms 12:53:28.590 [debug] Current batch of media processed. Will check again in 1000ms 12:53:28.644 [debug] Current batch of media processed. Will check again in 1000ms 12:53:29.591 [debug] Current batch of media processed. Will check again in 1000ms 12:53:29.645 [debug] Current batch of media processed. Will check again in 1000ms 12:53:30.592 [debug] Current batch of media processed. Will check again in 1000ms 12:53:30.646 [debug] Current batch of media processed. Will check again in 1000ms 12:53:31.593 [debug] Current batch of media processed. Will check again in 1000ms 12:53:31.647 [debug] Current batch of media processed. Will check again in 1000ms 12:53:32.594 [debug] Current batch of media processed. Will check again in 1000ms 12:53:32.648 [debug] Current batch of media processed. Will check again in 1000ms 12:53:33.595 [debug] Current batch of media processed. Will check again in 1000ms 12:53:33.649 [debug] Current batch of media processed. Will check again in 1000ms 12:53:34.596 [debug] Current batch of media processed. Will check again in 1000ms 12:53:34.650 [debug] Current batch of media processed. Will check again in 1000ms 12:53:35.597 [debug] Current batch of media processed. Will check again in 1000ms 12:53:35.651 [debug] Current batch of media processed. Will check again in 1000ms 12:53:36.598 [debug] Current batch of media processed. Will check again in 1000ms 12:53:36.652 [debug] Current batch of media processed. Will check again in 1000ms 12:53:37.599 [debug] Current batch of media processed. Will check again in 1000ms 12:53:37.653 [debug] Current batch of media processed. Will check again in 1000ms 12:53:38.600 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "", "duration" => 59, "filename" => "/downloads/shorts/Mohammed Alnhet/Mohammed Alnhet - 2025-01-23 - [6Jr2N27OdvA].mp4", "id" => "6Jr2N27OdvA", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/6Jr2N27OdvA", "playlist_index" => 12, "timestamp" => 1737630208, "title" => "ارتطام السيارات يعادل السقوط من برج ..!", "upload_date" => "20250123"} 12:53:38.600 [debug] QUERY OK source="sources" db=0.2ms idle=1590.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" IN (?)) [304] 12:53:38.601 [debug] QUERY OK source="sources" db=0.1ms idle=1590.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" = ?) [304] 12:53:38.601 [debug] QUERY OK source="media_items" db=0.3ms idle=1591.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-01-23 11:03:28Z], 304] 12:53:38.603 [debug] QUERY OK source="media_items" db=0.6ms idle=1013.4ms INSERT INTO "media_items" AS m0 ("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) 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" ["ارتطام السيارات يعادل السقوط من برج ..!", "6ff41528-506f-4c1d-aa2b-23574bbcc8af", 59, false, "6Jr2N27OdvA", "https://www.youtube.com/shorts/6Jr2N27OdvA", 12, "/downloads/shorts/Mohammed Alnhet/Mohammed Alnhet - 2025-01-23 - [6Jr2N27OdvA].mp4", false, false, true, 304, [], 98, ~U[2025-01-23 11:03:28Z], ~U[2026-04-15 12:53:38Z], ~U[2026-04-15 12:53:38Z], "", "ارتطام السيارات يعادل السقوط من برج ..!", 59, false, "6Jr2N27OdvA", "https://www.youtube.com/shorts/6Jr2N27OdvA", "/downloads/shorts/Mohammed Alnhet/Mohammed Alnhet - 2025-01-23 - [6Jr2N27OdvA].mp4", true, 304, ~U[2025-01-23 11:03:28Z]] 12:53:38.603 [debug] QUERY OK source="sources" db=0.3ms idle=13.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [304] 12:53:38.603 [debug] Current batch of media processed. Will check again in 1000ms 12:53:38.654 [debug] Current batch of media processed. Will check again in 1000ms 12:53:39.604 [debug] Current batch of media processed. Will check again in 1000ms 12:53:39.655 [debug] Current batch of media processed. Will check again in 1000ms 12:53:40.605 [debug] Current batch of media processed. Will check again in 1000ms 12:53:40.656 [debug] Current batch of media processed. Will check again in 1000ms 12:53:41.606 [debug] Current batch of media processed. Will check again in 1000ms 12:53:41.657 [debug] Current batch of media processed. Will check again in 1000ms 12:53:42.052 [info] {"source":"oban","duration":17938,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:53:42.607 [debug] Current batch of media processed. Will check again in 1000ms 12:53:42.658 [debug] Current batch of media processed. Will check again in 1000ms 12:53:43.608 [debug] Current batch of media processed. Will check again in 1000ms 12:53:43.659 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "\u200E🔹مارثون الشهيد\n\u200E🎙️ الآن حلقة جديدة مع ضيف الحلقة الحاج كمال مندي | مربي خيل عربي\n\u200E 🎯 يمكنكم الآن مشاهدة الحلقة كاملة على بودكاست كابتن أحمد\n@7upstables \n@bo.omar72 \n@waled_mondy \n\u200E#الكابتن_أحمد #الخيل #الفارس", "duration" => 52, "filename" => "/downloads/shorts/بودكاست كابتن أحمد/بودكاست كابتن أحمد - 2025-04-19 - [ah4vAG8sEdQ].mp4", "id" => "ah4vAG8sEdQ", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/ah4vAG8sEdQ", "playlist_index" => 15, "timestamp" => 1745056805, "title" => "مارثون الشهيد | #بودكاست_كابتن_أحمد", "upload_date" => "20250419"} 12:53:43.659 [debug] QUERY OK source="sources" db=0.2ms idle=1649.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" IN (?)) [415] 12:53:43.660 [debug] QUERY OK source="sources" db=0.1ms idle=1649.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" = ?) [415] 12:53:43.661 [debug] QUERY OK source="media_items" db=0.5ms idle=1608.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-04-19 10:00:05Z], 415] 12:53:43.662 [debug] QUERY OK source="media_items" db=0.7ms idle=1065.4ms 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" ["\u200E🔹مارثون الشهيد\n\u200E🎙️ الآن حلقة جديدة مع ضيف الحلقة الحاج كمال مندي | مربي خيل عربي\n\u200E 🎯 يمكنكم الآن مشاهدة الحلقة كاملة على بودكاست كابتن أحمد\n@7upstables \n@bo.omar72 \n@waled_mondy \n\u200E#الكابتن_أحمد #الخيل #الفارس", "مارثون الشهيد | #بودكاست_كابتن_أحمد", "39aa54bb-00b4-46c7-b356-40eedbe1c7f4", 52, false, "ah4vAG8sEdQ", "https://www.youtube.com/shorts/ah4vAG8sEdQ", 15, "/downloads/shorts/بودكاست كابتن أحمد/بودكاست كابتن أحمد - 2025-04-19 - [ah4vAG8sEdQ].mp4", false, false, true, 415, [], 98, ~U[2025-04-19 10:00:05Z], ~U[2026-04-15 12:53:43Z], ~U[2026-04-15 12:53:43Z], "\u200E🔹مارثون الشهيد\n\u200E🎙️ الآن حلقة جديدة مع ضيف الحلقة الحاج كمال مندي | مربي خيل عربي\n\u200E 🎯 يمكنكم الآن مشاهدة الحلقة كاملة على بودكاست كابتن أحمد\n@7upstables \n@bo.omar72 \n@waled_mondy \n\u200E#الكابتن_أحمد #الخيل #الفارس", "مارثون الشهيد | #بودكاست_كابتن_أحمد", 52, false, "ah4vAG8sEdQ", "https://www.youtube.com/shorts/ah4vAG8sEdQ", "/downloads/shorts/بودكاست كابتن أحمد/بودكاست كابتن أحمد - 2025-04-19 - [ah4vAG8sEdQ].mp4", true, 415, ~U[2025-04-19 10:00:05Z]] 12:53:43.662 [debug] QUERY OK source="sources" db=0.3ms idle=65.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" = ?) [415] 12:53:43.663 [debug] QUERY OK source="media_profiles" db=0.2ms idle=3.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 12:53:43.663 [debug] QUERY OK source="media_items" db=0.3ms idle=3.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 [4377698] 12:53:43.664 [debug] Current batch of media processed. Will check again in 1000ms 12:53:44.609 [debug] Current batch of media processed. Will check again in 1000ms 12:53:44.665 [debug] Current batch of media processed. Will check again in 1000ms 12:53:45.610 [debug] Current batch of media processed. Will check again in 1000ms 12:53:45.666 [debug] Current batch of media processed. Will check again in 1000ms 12:53:46.611 [debug] Current batch of media processed. Will check again in 1000ms 12:53:46.667 [debug] Current batch of media processed. Will check again in 1000ms 12:53:47.612 [debug] Current batch of media processed. Will check again in 1000ms 12:53:47.668 [debug] Current batch of media processed. Will check again in 1000ms 12:53:48.613 [debug] Current batch of media processed. Will check again in 1000ms 12:53:48.669 [debug] Current batch of media processed. Will check again in 1000ms 12:53:49.614 [debug] Current batch of media processed. Will check again in 1000ms 12:53:49.670 [debug] Current batch of media processed. Will check again in 1000ms 12:53:50.615 [debug] Current batch of media processed. Will check again in 1000ms 12:53:50.671 [debug] Current batch of media processed. Will check again in 1000ms 12:53:51.616 [debug] Current batch of media processed. Will check again in 1000ms 12:53:51.672 [debug] Current batch of media processed. Will check again in 1000ms 12:53:52.617 [debug] Current batch of media processed. Will check again in 1000ms 12:53:52.673 [debug] Current batch of media processed. Will check again in 1000ms 12:53:53.618 [debug] Current batch of media processed. Will check again in 1000ms 12:53:53.674 [debug] Current batch of media processed. Will check again in 1000ms 12:53:54.619 [debug] Current batch of media processed. Will check again in 1000ms 12:53:54.675 [debug] Current batch of media processed. Will check again in 1000ms 12:53:55.620 [debug] Current batch of media processed. Will check again in 1000ms 12:53:55.676 [debug] Current batch of media processed. Will check again in 1000ms 12:53:56.621 [debug] Current batch of media processed. Will check again in 1000ms 12:53:56.677 [debug] Current batch of media processed. Will check again in 1000ms 12:53:57.622 [debug] Current batch of media processed. Will check again in 1000ms 12:53:57.678 [debug] Current batch of media processed. Will check again in 1000ms 12:53:58.623 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "", "duration" => 48, "filename" => "/downloads/shorts/Mohammed Alnhet/Mohammed Alnhet - 2025-01-12 - [Jo6uO5vy82s].mp4", "id" => "Jo6uO5vy82s", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/Jo6uO5vy82s", "playlist_index" => 13, "timestamp" => 1736670970, "title" => "المشغول دائماً هو الشخص الناجح .! #بودكاست باكورة", "upload_date" => "20250112"} 12:53:58.623 [debug] QUERY OK source="sources" db=0.2ms idle=1613.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" IN (?)) [304] 12:53:58.624 [debug] QUERY OK source="sources" db=0.1ms idle=1613.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" = ?) [304] 12:53:58.624 [debug] QUERY OK source="media_items" db=0.3ms idle=1614.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-01-12 08:36:10Z], 304] 12:53:58.625 [debug] QUERY OK source="media_items" db=0.6ms idle=1010.2ms INSERT INTO "media_items" AS m0 ("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) 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" ["المشغول دائماً هو الشخص الناجح .! #بودكاست باكورة", "b57cb91e-f6ae-456d-b18a-6e116ea201c1", 48, false, "Jo6uO5vy82s", "https://www.youtube.com/shorts/Jo6uO5vy82s", 13, "/downloads/shorts/Mohammed Alnhet/Mohammed Alnhet - 2025-01-12 - [Jo6uO5vy82s].mp4", false, false, true, 304, [], 98, ~U[2025-01-12 08:36:10Z], ~U[2026-04-15 12:53:58Z], ~U[2026-04-15 12:53:58Z], "", "المشغول دائماً هو الشخص الناجح .! #بودكاست باكورة", 48, false, "Jo6uO5vy82s", "https://www.youtube.com/shorts/Jo6uO5vy82s", "/downloads/shorts/Mohammed Alnhet/Mohammed Alnhet - 2025-01-12 - [Jo6uO5vy82s].mp4", true, 304, ~U[2025-01-12 08:36:10Z]] 12:53:58.626 [debug] QUERY OK source="sources" db=0.3ms idle=10.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [304] 12:53:58.626 [debug] Current batch of media processed. Will check again in 1000ms 12:53:58.679 [debug] Current batch of media processed. Will check again in 1000ms 12:53:59.627 [debug] Current batch of media processed. Will check again in 1000ms 12:53:59.680 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "\u200E🔹الخيل المصري الأصيل\n\u200E🎙️ الآن حلقة جديدة مع ضيف الحلقة الحاج كمال مندي | مربي خيل عربي\n\u200E 🎯 يمكنكم الآن مشاهدة الحلقة كاملة على بودكاست كابتن أحمد\n@7upstables \n@bo.omar72 \n@waled_mondy \n\u200E#الكابتن_أحمد #الخيل #الفارس", "duration" => 42, "filename" => "/downloads/shorts/بودكاست كابتن أحمد/بودكاست كابتن أحمد - 2025-04-17 - [X7tzl-8_ZGQ].mp4", "id" => "X7tzl-8_ZGQ", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/X7tzl-8_ZGQ", "playlist_index" => 16, "timestamp" => 1744884049, "title" => "الخيل المصري الأصيل | #بودكاست_كابتن_أحمد", "upload_date" => "20250417"} 12:53:59.680 [debug] QUERY OK source="sources" db=0.3ms idle=1056.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" IN (?)) [415] 12:53:59.681 [debug] QUERY OK source="sources" db=0.3ms idle=1056.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" = ?) [415] 12:53:59.682 [debug] QUERY OK source="media_items" db=0.4ms idle=1055.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-04-17 10:00:49Z], 415] 12:53:59.683 [debug] QUERY OK source="media_items" db=0.8ms idle=1055.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" ["\u200E🔹الخيل المصري الأصيل\n\u200E🎙️ الآن حلقة جديدة مع ضيف الحلقة الحاج كمال مندي | مربي خيل عربي\n\u200E 🎯 يمكنكم الآن مشاهدة الحلقة كاملة على بودكاست كابتن أحمد\n@7upstables \n@bo.omar72 \n@waled_mondy \n\u200E#الكابتن_أحمد #الخيل #الفارس", "الخيل المصري الأصيل | #بودكاست_كابتن_أحمد", "b2b8e942-7fd6-4928-984d-f77df55eeac0", 42, false, "X7tzl-8_ZGQ", "https://www.youtube.com/shorts/X7tzl-8_ZGQ", 16, "/downloads/shorts/بودكاست كابتن أحمد/بودكاست كابتن أحمد - 2025-04-17 - [X7tzl-8_ZGQ].mp4", false, false, true, 415, [], 98, ~U[2025-04-17 10:00:49Z], ~U[2026-04-15 12:53:59Z], ~U[2026-04-15 12:53:59Z], "\u200E🔹الخيل المصري الأصيل\n\u200E🎙️ الآن حلقة جديدة مع ضيف الحلقة الحاج كمال مندي | مربي خيل عربي\n\u200E 🎯 يمكنكم الآن مشاهدة الحلقة كاملة على بودكاست كابتن أحمد\n@7upstables \n@bo.omar72 \n@waled_mondy \n\u200E#الكابتن_أحمد #الخيل #الفارس", "الخيل المصري الأصيل | #بودكاست_كابتن_أحمد", 42, false, "X7tzl-8_ZGQ", "https://www.youtube.com/shorts/X7tzl-8_ZGQ", "/downloads/shorts/بودكاست كابتن أحمد/بودكاست كابتن أحمد - 2025-04-17 - [X7tzl-8_ZGQ].mp4", true, 415, ~U[2025-04-17 10:00:49Z]] 12:53:59.683 [debug] QUERY OK source="sources" db=0.3ms idle=66.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" = ?) [415] 12:53:59.684 [debug] QUERY OK source="media_profiles" db=0.3ms idle=3.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 12:53:59.685 [debug] QUERY OK source="media_items" db=0.4ms idle=3.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 [4377700] 12:53:59.685 [debug] Current batch of media processed. Will check again in 1000ms 12:54:00.628 [debug] Current batch of media processed. Will check again in 1000ms 12:54:00.686 [debug] Current batch of media processed. Will check again in 1000ms 12:54:00.830 [info] {"source":"oban","duration":170,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:54:01.629 [debug] Current batch of media processed. Will check again in 1000ms 12:54:01.687 [debug] Current batch of media processed. Will check again in 1000ms 12:54:02.630 [debug] Current batch of media processed. Will check again in 1000ms 12:54:02.688 [debug] Current batch of media processed. Will check again in 1000ms 12:54:03.631 [debug] Current batch of media processed. Will check again in 1000ms 12:54:03.689 [debug] Current batch of media processed. Will check again in 1000ms 12:54:04.632 [debug] Current batch of media processed. Will check again in 1000ms 12:54:04.690 [debug] Current batch of media processed. Will check again in 1000ms 12:54:05.633 [debug] Current batch of media processed. Will check again in 1000ms 12:54:05.691 [debug] Current batch of media processed. Will check again in 1000ms 12:54:06.634 [debug] Current batch of media processed. Will check again in 1000ms 12:54:06.692 [debug] Current batch of media processed. Will check again in 1000ms 12:54:07.635 [debug] Current batch of media processed. Will check again in 1000ms 12:54:07.693 [debug] Current batch of media processed. Will check again in 1000ms 12:54:08.636 [debug] Current batch of media processed. Will check again in 1000ms 12:54:08.694 [debug] Current batch of media processed. Will check again in 1000ms 12:54:09.637 [debug] Current batch of media processed. Will check again in 1000ms 12:54:09.695 [debug] Current batch of media processed. Will check again in 1000ms 12:54:10.638 [debug] Current batch of media processed. Will check again in 1000ms 12:54:10.696 [debug] Current batch of media processed. Will check again in 1000ms 12:54:11.639 [debug] Current batch of media processed. Will check again in 1000ms 12:54:11.697 [debug] Current batch of media processed. Will check again in 1000ms 12:54:12.071 [info] {"source":"oban","duration":17927,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:54:12.640 [debug] Current batch of media processed. Will check again in 1000ms 12:54:12.698 [debug] Current batch of media processed. Will check again in 1000ms 12:54:13.641 [debug] Current batch of media processed. Will check again in 1000ms 12:54:13.699 [debug] Current batch of media processed. Will check again in 1000ms 12:54:14.642 [debug] Current batch of media processed. Will check again in 1000ms 12:54:14.700 [debug] Current batch of media processed. Will check again in 1000ms 12:54:15.643 [debug] Current batch of media processed. Will check again in 1000ms 12:54:15.701 [debug] Current batch of media processed. Will check again in 1000ms 12:54:16.644 [debug] Current batch of media processed. Will check again in 1000ms 12:54:16.702 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "\u200E🔹الفروسية والتجارة والسمعة الطيبة\n\u200E🎙️ الآن حلقة جديدة مع ضيف الحلقة الحاج كمال مندي | مربي خيل عربي\n\u200E 🎯 يمكنكم الآن مشاهدة الحلقة كاملة على بودكاست كابتن أحمد\n@7upstables \n@bo.omar72 \n@waled_mondy \n\u200E#الكابتن_أحمد #الخيل #الفارس", "duration" => 67, "filename" => "/downloads/shorts/بودكاست كابتن أحمد/بودكاست كابتن أحمد - 2025-04-15 - [40exdolV3mo].mp4", "id" => "40exdolV3mo", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/40exdolV3mo", "playlist_index" => 17, "timestamp" => 1744711210, "title" => "الفروسية والتجارة والسمعة الطيبة | #بودكاست_كابتن_أحمد", "upload_date" => "20250415"} 12:54:16.703 [debug] QUERY OK source="sources" db=0.2ms idle=1692.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" IN (?)) [415] 12:54:16.703 [debug] QUERY OK source="sources" db=0.2ms idle=1068.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" = ?) [415] 12:54:16.704 [debug] QUERY OK source="media_items" db=0.6ms idle=693.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-04-15 10:00:10Z], 415] 12:54:16.705 [debug] QUERY OK source="media_items" db=0.9ms idle=694.4ms 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" ["\u200E🔹الفروسية والتجارة والسمعة الطيبة\n\u200E🎙️ الآن حلقة جديدة مع ضيف الحلقة الحاج كمال مندي | مربي خيل عربي\n\u200E 🎯 يمكنكم الآن مشاهدة الحلقة كاملة على بودكاست كابتن أحمد\n@7upstables \n@bo.omar72 \n@waled_mondy \n\u200E#الكابتن_أحمد #الخيل #الفارس", "الفروسية والتجارة والسمعة الطيبة | #بودكاست_كابتن_أحمد", "1e255a2a-19da-42a7-85f5-77d3edec2f6c", 67, false, "40exdolV3mo", "https://www.youtube.com/shorts/40exdolV3mo", 17, "/downloads/shorts/بودكاست كابتن أحمد/بودكاست كابتن أحمد - 2025-04-15 - [40exdolV3mo].mp4", false, false, true, 415, [], 98, ~U[2025-04-15 10:00:10Z], ~U[2026-04-15 12:54:16Z], ~U[2026-04-15 12:54:16Z], "\u200E🔹الفروسية والتجارة والسمعة الطيبة\n\u200E🎙️ الآن حلقة جديدة مع ضيف الحلقة الحاج كمال مندي | مربي خيل عربي\n\u200E 🎯 يمكنكم الآن مشاهدة الحلقة كاملة على بودكاست كابتن أحمد\n@7upstables \n@bo.omar72 \n@waled_mondy \n\u200E#الكابتن_أحمد #الخيل #الفارس", "الفروسية والتجارة والسمعة الطيبة | #بودكاست_كابتن_أحمد", 67, false, "40exdolV3mo", "https://www.youtube.com/shorts/40exdolV3mo", "/downloads/shorts/بودكاست كابتن أحمد/بودكاست كابتن أحمد - 2025-04-15 - [40exdolV3mo].mp4", true, 415, ~U[2025-04-15 10:00:10Z]] 12:54:16.706 [debug] QUERY OK source="sources" db=0.3ms idle=70.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" = ?) [415] 12:54:16.707 [debug] QUERY OK source="media_profiles" db=0.3ms 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" = ?) [2] 12:54:16.708 [debug] QUERY OK source="media_items" db=0.9ms idle=3.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4377701] 12:54:16.708 [debug] Current batch of media processed. Will check again in 1000ms 12:54:17.645 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "", "duration" => 40, "filename" => "/downloads/shorts/Mohammed Alnhet/Mohammed Alnhet - 2024-12-29 - [4Hr8iUiqyqM].mp4", "id" => "4Hr8iUiqyqM", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/4Hr8iUiqyqM", "playlist_index" => 14, "timestamp" => 1735461331, "title" => "من هم جنود الأمن السيبراني ؟ | #بودكاست_باكورة", "upload_date" => "20241229"} 12:54:17.645 [debug] QUERY OK source="sources" db=0.2ms idle=939.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" IN (?)) [304] 12:54:17.646 [debug] QUERY OK source="sources" db=0.2ms idle=939.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" = ?) [304] 12:54:17.646 [debug] QUERY OK source="media_items" db=0.3ms idle=939.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-12-29 08:35:31Z], 304] 12:54:17.648 [debug] QUERY OK source="media_items" db=0.7ms idle=938.7ms INSERT INTO "media_items" AS m0 ("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) 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" ["من هم جنود الأمن السيبراني ؟ | #بودكاست_باكورة", "7f01ae18-a152-47a3-96a0-d2ab320b9e02", 40, false, "4Hr8iUiqyqM", "https://www.youtube.com/shorts/4Hr8iUiqyqM", 14, "/downloads/shorts/Mohammed Alnhet/Mohammed Alnhet - 2024-12-29 - [4Hr8iUiqyqM].mp4", false, false, true, 304, [], 98, ~U[2024-12-29 08:35:31Z], ~U[2026-04-15 12:54:17Z], ~U[2026-04-15 12:54:17Z], "", "من هم جنود الأمن السيبراني ؟ | #بودكاست_باكورة", 40, false, "4Hr8iUiqyqM", "https://www.youtube.com/shorts/4Hr8iUiqyqM", "/downloads/shorts/Mohammed Alnhet/Mohammed Alnhet - 2024-12-29 - [4Hr8iUiqyqM].mp4", true, 304, ~U[2024-12-29 08:35:31Z]] 12:54:17.648 [debug] QUERY OK source="sources" db=0.3ms idle=11.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [304] 12:54:17.648 [debug] Current batch of media processed. Will check again in 1000ms 12:54:17.709 [debug] Current batch of media processed. Will check again in 1000ms 12:54:18.649 [debug] Current batch of media processed. Will check again in 1000ms 12:54:18.710 [debug] Current batch of media processed. Will check again in 1000ms 12:54:19.648 [info] {"args":{"id":407},"id":2191971,"meta":{},"system_time":1776257659648169020,"max_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:54:19.648 [debug] QUERY OK source="sources" db=0.3ms idle=638.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" = ?) [407] 12:54:19.649 [debug] QUERY OK source="settings" db=0.2ms idle=638.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:54:19.649 [debug] QUERY OK source="media_profiles" db=0.3ms idle=639.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" = ?) [2] 12:54:19.650 [debug] Current batch of media processed. Will check again in 1000ms 12:54:19.650 [debug] QUERY OK source="settings" db=0.2ms idle=8.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:54:19.650 [debug] Fetching recent media IDs from YouTube API for playlist: UUga4N76Fl4sgcn30iwBs7aQ 12:54:19.650 [debug] QUERY OK source="settings" db=0.1ms idle=2.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:54:19.650 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 12:54:19.711 [debug] Current batch of media processed. Will check again in 1000ms 12:54:20.028 [debug] QUERY OK source="media_items" db=1.3ms idle=378.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [407, "-W6KEugYxBQ", "zQxXycM3IvM", "BrCSskrHOBU", "gMn1XXQ6Xus", "YwcknlhzUEU", "tinS3wZQZu0", "HWH4PB4RVpo", "aDHfYXROc5A", "qzm_Dy_rilA", "MHICU_ehVZk", "I0ZNxiVwykM", "-OsGSH3KGbA", "N00x4OkBGu8", "zqAinHuD6Yo", "cv4FVPWWF8I", "2DysQO78Y3k", "byYpxLw97ic", "8KsVvEyjEpg", "QZIJ2atHpFo", "IH0DS0Hqi1I", "6RbFcKVIMTo", "8DI46MmEzts", "JCyRL-BCGrY", "CKGoJAuUbRw", "zB12EMayFig", "jbcagG6xgqg", "VGjk8hhgRYs", "zqhKlBQ9xWI", "1SKsmmYdYng", "6lt75J3-9lY", "4-f2sw7IWPw", "WMLsLgiPFks", "TOO3B46BiGc", "5oCRsyA3ZLQ", "BWLb5EI620w", "Av1kcYca1yI", "o4yxwefSKrg", "v4aMSQBA6GY", "1v1uQJfn7mU", "wzd5JlenK7U", "lqg9v9c50PQ", "bfsLRqnZBMI", "-L8pp9DEvrs", "48tZLvPwq1A", "HMzzHdRb5bI", "VhPje4BiC6o", "vJfLhWzehCU", "GenA6mFVXtQ", "49YQZrruUlY", ...] 12:54:20.033 [debug] QUERY OK source="media_items" db=3.8ms idle=380.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")))) [407] 12:54:20.035 [debug] QUERY OK source="tasks" db=0.3ms idle=384.6ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2192006, 407, ~U[2026-04-15 12:54:20Z], ~U[2026-04-15 12:54:20Z]] 12:54:20.036 [info] {"args":{"id":407},"id":2191971,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":387791,"event":"job:stop","queue_time":365382,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:54:20.382 [info] GET /sources/237/media/2045745 12:54:20.382 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "2045745", "prevent_download" => "true", "source_id" => "237"} Pipelines: [:browser] 12:54:20.382 [debug] QUERY OK source="media_items" db=0.3ms idle=347.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" = ?) [2045745] 12:54:20.383 [debug] QUERY OK source="tasks" db=0.2ms idle=347.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" [2045745] 12:54:20.383 [debug] QUERY OK source="sources" db=0.3ms idle=347.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" = ?) [237] 12:54:20.384 [debug] QUERY OK source="settings" db=0.1ms idle=347.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:54:20.384 [debug] QUERY OK source="settings" db=0.1ms idle=341.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:54:20.385 [debug] QUERY OK source="settings" db=0.1ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:54:20.385 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 12:54:20.387 [info] Sent 200 in 5ms 12:54:20.651 [debug] Current batch of media processed. Will check again in 1000ms 12:54:20.712 [debug] Current batch of media processed. Will check again in 1000ms 12:54:21.652 [debug] Current batch of media processed. Will check again in 1000ms 12:54:21.713 [debug] Current batch of media processed. Will check again in 1000ms 12:54:22.652 [info] {"args":{"id":137},"id":2191972,"meta":{},"system_time":1776257662652077014,"max_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:54:22.652 [debug] QUERY OK source="sources" db=0.3ms idle=642.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" = ?) [137] 12:54:22.653 [debug] Current batch of media processed. Will check again in 1000ms 12:54:22.653 [debug] QUERY OK source="settings" db=0.3ms idle=642.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:54:22.653 [debug] QUERY OK source="media_profiles" db=0.2ms idle=643.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" = ?) [2] 12:54:22.654 [debug] QUERY OK source="settings" db=0.2ms idle=8.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:54:22.654 [debug] Fetching recent media IDs from YouTube API for playlist: UU6VEazPLsTwCHAq2XU0tRyA 12:54:22.654 [debug] QUERY OK source="settings" db=0.1ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:54:22.654 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 12:54:22.714 [debug] Current batch of media processed. Will check again in 1000ms 12:54:23.000 [debug] QUERY OK source="media_items" db=1.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [137, "TYzW2hwb2eU", "Y0HbsrMblSY", "Ko2rEMjJDqc", "kGP1iyJ5JVk", "8X2Gp4JrjCc", "MEYfauKFQKM", "CCJCd8F_diQ", "jsWkXl3y2V8", "eKrqp-HV73w", "gXDgE1r0fmE", "xP_EQzF8VcA", "RfZpJRL7qPA", "UtFN8sG2dac", "f__SSRXQW_0", "APPiN4Oef3o", "q5MQnKjA87M", "zwkJ95N9B1M", "9l8J-8mZZwk", "F-TBX4m7Omw", "KKl0A-Y7xIU", "Psenv5CPh7w", "MP8WxJWv0VI", "Un04g6T0MBk", "e1dWuglj0wA", "ZnuWLqLfnYQ", "oUu62USr24A", "cRx1_mB9LxE", "PLAlGw5A21E", "hcpVRhBex9U", "LK2LTfPM2Qs", "Z5F2z1XcOSw", "CVaq9bG_tBY", "X-a2XbVX3-c", "apkWIdRFzpQ", "PANiqRRIbqw", "kiTdyj1OowM", "6dQkyg0e1c8", "Cf5yNSD5HGE", "_y3X1HIUBX4", "G-e7QMglAhc", "avXMv4RrRXI", "jC3yDlwTK2A", "myA5gcE-5KE", "bcJnqkTlunE", "nNArfQK259k", "ZG7Bikz9grA", "vo7HA72gZNQ", "TNz5GHFNBj0", "14XtzGLWUtw", ...] 12:54:23.003 [debug] QUERY OK source="media_items" db=2.1ms idle=348.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")))) [137] 12:54:23.005 [debug] QUERY OK source="tasks" db=0.3ms idle=350.6ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2192007, 137, ~U[2026-04-15 12:54:23Z], ~U[2026-04-15 12:54:23Z]] 12:54:23.006 [info] {"args":{"id":137},"id":2191972,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":353653,"event":"job:stop","queue_time":403495,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:54:23.654 [debug] Current batch of media processed. Will check again in 1000ms 12:54:23.715 [debug] Current batch of media processed. Will check again in 1000ms 12:54:24.655 [debug] Current batch of media processed. Will check again in 1000ms 12:54:24.716 [debug] Current batch of media processed. Will check again in 1000ms 12:54:25.656 [debug] Current batch of media processed. Will check again in 1000ms 12:54:25.717 [debug] Current batch of media processed. Will check again in 1000ms 12:54:26.657 [debug] Current batch of media processed. Will check again in 1000ms 12:54:26.718 [debug] Current batch of media processed. Will check again in 1000ms 12:54:27.658 [debug] Current batch of media processed. Will check again in 1000ms 12:54:27.719 [debug] Current batch of media processed. Will check again in 1000ms 12:54:28.659 [debug] Current batch of media processed. Will check again in 1000ms 12:54:28.720 [debug] Current batch of media processed. Will check again in 1000ms 12:54:29.660 [debug] Current batch of media processed. Will check again in 1000ms 12:54:29.721 [debug] Current batch of media processed. Will check again in 1000ms 12:54:30.661 [debug] Current batch of media processed. Will check again in 1000ms 12:54:30.722 [debug] Current batch of media processed. Will check again in 1000ms 12:54:31.662 [debug] Current batch of media processed. Will check again in 1000ms 12:54:31.723 [debug] Current batch of media processed. Will check again in 1000ms 12:54:32.663 [debug] Current batch of media processed. Will check again in 1000ms 12:54:32.724 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "\u200E🔹الختم والهيئة الزراعية\n\u200E🎙️ الآن حلقة جديدة مع ضيف الحلقة الحاج كمال مندي | مربي خيل عربي\n\u200E 🎯 يمكنكم الآن مشاهدة الحلقة كاملة على بودكاست كابتن أحمد\n@7upstables \n@bo.omar72 \n@waled_mondy \n\u200E#الكابتن_أحمد #الخيل #الفارس", "duration" => 53, "filename" => "/downloads/shorts/بودكاست كابتن أحمد/بودكاست كابتن أحمد - 2025-04-13 - [HkCcaiWKEzA].mp4", "id" => "HkCcaiWKEzA", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/HkCcaiWKEzA", "playlist_index" => 18, "timestamp" => 1744538422, "title" => "الختم والهيئة الزراعية | #بودكاست_كابتن_أحمد", "upload_date" => "20250413"} 12:54:32.724 [debug] QUERY OK source="sources" db=0.1ms idle=1068.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" IN (?)) [415] 12:54:32.725 [debug] QUERY OK source="sources" db=0.2ms idle=714.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" = ?) [415] 12:54:32.726 [debug] QUERY OK source="media_items" db=0.5ms idle=715.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-04-13 10:00:22Z], 415] 12:54:32.727 [debug] QUERY OK source="media_items" db=0.9ms idle=716.2ms 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" ["\u200E🔹الختم والهيئة الزراعية\n\u200E🎙️ الآن حلقة جديدة مع ضيف الحلقة الحاج كمال مندي | مربي خيل عربي\n\u200E 🎯 يمكنكم الآن مشاهدة الحلقة كاملة على بودكاست كابتن أحمد\n@7upstables \n@bo.omar72 \n@waled_mondy \n\u200E#الكابتن_أحمد #الخيل #الفارس", "الختم والهيئة الزراعية | #بودكاست_كابتن_أحمد", "9b29599c-bead-4249-b834-259cf9561404", 53, false, "HkCcaiWKEzA", "https://www.youtube.com/shorts/HkCcaiWKEzA", 18, "/downloads/shorts/بودكاست كابتن أحمد/بودكاست كابتن أحمد - 2025-04-13 - [HkCcaiWKEzA].mp4", false, false, true, 415, [], 98, ~U[2025-04-13 10:00:22Z], ~U[2026-04-15 12:54:32Z], ~U[2026-04-15 12:54:32Z], "\u200E🔹الختم والهيئة الزراعية\n\u200E🎙️ الآن حلقة جديدة مع ضيف الحلقة الحاج كمال مندي | مربي خيل عربي\n\u200E 🎯 يمكنكم الآن مشاهدة الحلقة كاملة على بودكاست كابتن أحمد\n@7upstables \n@bo.omar72 \n@waled_mondy \n\u200E#الكابتن_أحمد #الخيل #الفارس", "الختم والهيئة الزراعية | #بودكاست_كابتن_أحمد", 53, false, "HkCcaiWKEzA", "https://www.youtube.com/shorts/HkCcaiWKEzA", "/downloads/shorts/بودكاست كابتن أحمد/بودكاست كابتن أحمد - 2025-04-13 - [HkCcaiWKEzA].mp4", true, 415, ~U[2025-04-13 10:00:22Z]] 12:54:32.728 [debug] QUERY OK source="sources" db=0.2ms idle=70.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" = ?) [415] 12:54:32.728 [debug] QUERY OK source="media_profiles" db=0.2ms 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" = ?) [2] 12:54:32.729 [debug] QUERY OK source="media_items" db=0.3ms idle=3.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 [4377703] 12:54:32.729 [debug] Current batch of media processed. Will check again in 1000ms 12:54:33.664 [debug] Current batch of media processed. Will check again in 1000ms 12:54:33.730 [debug] Current batch of media processed. Will check again in 1000ms 12:54:34.665 [debug] Current batch of media processed. Will check again in 1000ms 12:54:34.731 [debug] Current batch of media processed. Will check again in 1000ms 12:54:35.666 [debug] Current batch of media processed. Will check again in 1000ms 12:54:35.732 [debug] Current batch of media processed. Will check again in 1000ms 12:54:36.667 [debug] Current batch of media processed. Will check again in 1000ms 12:54:36.733 [debug] Current batch of media processed. Will check again in 1000ms 12:54:37.668 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "قصة لفكرة تبين لك عدم إطلاع الاشخاص على المعلومات الكافية يعيق ويسبب الاحراج..! \n#بودكاست#باكورة", "duration" => 47, "filename" => "/downloads/shorts/Mohammed Alnhet/Mohammed Alnhet - 2024-12-19 - [xLgAiTCsu4o].mp4", "id" => "xLgAiTCsu4o", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/xLgAiTCsu4o", "playlist_index" => 15, "timestamp" => 1734603111, "title" => "قصة قصيرة من قصص #بودكاست باكورة", "upload_date" => "20241219"} 12:54:37.668 [debug] QUERY OK source="sources" db=0.1ms idle=1658.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" IN (?)) [304] 12:54:37.669 [debug] QUERY OK source="sources" db=0.2ms idle=1658.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" = ?) [304] 12:54:37.669 [debug] QUERY OK source="media_items" db=0.3ms idle=1659.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-12-19 10:11:51Z], 304] 12:54:37.670 [debug] QUERY OK source="media_items" db=0.7ms idle=1008.2ms 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" ["قصة لفكرة تبين لك عدم إطلاع الاشخاص على المعلومات الكافية يعيق ويسبب الاحراج..! \n#بودكاست#باكورة", "قصة قصيرة من قصص #بودكاست باكورة", "d1999ecd-c137-4163-bfab-7d4d4f5420c9", 47, false, "xLgAiTCsu4o", "https://www.youtube.com/shorts/xLgAiTCsu4o", 15, "/downloads/shorts/Mohammed Alnhet/Mohammed Alnhet - 2024-12-19 - [xLgAiTCsu4o].mp4", false, false, true, 304, [], 98, ~U[2024-12-19 10:11:51Z], ~U[2026-04-15 12:54:37Z], ~U[2026-04-15 12:54:37Z], "قصة لفكرة تبين لك عدم إطلاع الاشخاص على المعلومات الكافية يعيق ويسبب الاحراج..! \n#بودكاست#باكورة", "قصة قصيرة من قصص #بودكاست باكورة", 47, false, "xLgAiTCsu4o", "https://www.youtube.com/shorts/xLgAiTCsu4o", "/downloads/shorts/Mohammed Alnhet/Mohammed Alnhet - 2024-12-19 - [xLgAiTCsu4o].mp4", true, 304, ~U[2024-12-19 10:11:51Z]] 12:54:37.671 [debug] QUERY OK source="sources" db=0.3ms 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" = ?) [304] 12:54:37.671 [debug] Current batch of media processed. Will check again in 1000ms 12:54:37.734 [debug] Current batch of media processed. Will check again in 1000ms 12:54:38.672 [debug] Current batch of media processed. Will check again in 1000ms 12:54:38.735 [debug] Current batch of media processed. Will check again in 1000ms 12:54:39.673 [debug] Current batch of media processed. Will check again in 1000ms 12:54:39.736 [debug] Current batch of media processed. Will check again in 1000ms 12:54:40.674 [debug] Current batch of media processed. Will check again in 1000ms 12:54:40.737 [debug] Current batch of media processed. Will check again in 1000ms 12:54:41.675 [debug] Current batch of media processed. Will check again in 1000ms 12:54:41.738 [debug] Current batch of media processed. Will check again in 1000ms 12:54:42.090 [info] {"source":"oban","duration":17985,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:54:42.676 [debug] Current batch of media processed. Will check again in 1000ms 12:54:42.739 [debug] Current batch of media processed. Will check again in 1000ms 12:54:43.677 [debug] Current batch of media processed. Will check again in 1000ms 12:54:43.740 [debug] Current batch of media processed. Will check again in 1000ms 12:54:44.678 [debug] Current batch of media processed. Will check again in 1000ms 12:54:44.741 [debug] Current batch of media processed. Will check again in 1000ms 12:54:45.679 [debug] Current batch of media processed. Will check again in 1000ms 12:54:45.679 [info] {"args":{"id":195},"id":2191973,"meta":{},"system_time":1776257685679245553,"max_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:54:45.680 [debug] QUERY OK source="sources" db=0.9ms idle=669.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" = ?) [195] 12:54:45.681 [debug] QUERY OK source="settings" db=0.2ms idle=670.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:54:45.681 [debug] QUERY OK source="media_profiles" db=0.2ms idle=670.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" = ?) [2] 12:54:45.681 [debug] QUERY OK source="settings" db=0.2ms idle=9.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:54:45.682 [debug] Fetching recent media IDs from YouTube API for playlist: UUBRMiH3Aivfkmh24Sa2dOew 12:54:45.682 [debug] QUERY OK source="settings" db=0.1ms idle=3.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:54:45.682 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 12:54:45.742 [debug] Current batch of media processed. Will check again in 1000ms 12:54:45.987 [debug] QUERY OK source="media_items" db=1.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 WHERE ((m0."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [195, "p8SWCk5bHV4", "lGF5Y7n_vLA", "MCEgp0nDF_s", "eT8WC3vCNpM", "FdtHhPaD850", "efb72vQ-B5w", "T8yhYw2qYpU", "rxTb8olkoPk", "04sdzvBin2M", "FmxxJMMfjIQ", "DsF8tlvZfQU", "_nwUUMj2ihk", "ddP7GahgvdE", "igdQ646Rczo", "e6bNcQn6H8U", "VTaZnN2r-C4", "6s0PkW4X18k", "nq4j2vn85k0", "zSg2dCltMlE", "mMLIwZ1Hm-o", "pB0UeWaKMAk", "Zbd7ZR96fhs", "8431epN9yQY", "q9cidfvLSAQ", "TFtz5CBcSaA", "IHxBsWkSNC8", "KFnFetow2Fk", "l-66gKQOFFo", "9hrMhbVRqaQ", "nB7DXM3aXaM", "aJqijOOspFA", "XwtlpPm7d8Y", "XQ7i8_iskPU", "JDvpnFZiW-s", "Sg2smBn7oy4", "J7pPlV84TvE", "z3pnYIzRFNU", "QXwBbQYU1b0", "2EY_87Qp5es", "7oi6e-2M_jw", "5AW4xpNiS9w", "pbu9h-Ed45w", "XiUfyDi-vJA", "8sjUDoIvz3k", "Q4w7S0_bRNE", "IjBWwvWDNeA", "ENJS0N-wJrM", "vZzfd3fTI1I", "jFHXZyZwkzo", ...] 12:54:45.992 [debug] QUERY OK source="media_items" db=3.1ms idle=308.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")))) [195] 12:54:45.994 [debug] QUERY OK source="tasks" db=0.2ms idle=311.7ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2192008, 195, ~U[2026-04-15 12:54:45Z], ~U[2026-04-15 12:54:45Z]] 12:54:45.994 [info] {"args":{"id":195},"id":2191973,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":315234,"event":"job:stop","queue_time":403327,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:54:46.680 [debug] Current batch of media processed. Will check again in 1000ms 12:54:46.743 [debug] Current batch of media processed. Will check again in 1000ms 12:54:47.681 [debug] Current batch of media processed. Will check again in 1000ms 12:54:47.744 [debug] Current batch of media processed. Will check again in 1000ms 12:54:48.682 [debug] Current batch of media processed. Will check again in 1000ms 12:54:48.745 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "\u200E🔹الخيل والتأمين\n\u200E🎙️ الآن حلقة جديدة مع ضيف الحلقة الحاج كمال مندي | مربي خيل عربي\n\u200E 🎯 يمكنكم الآن مشاهدة الحلقة كاملة على بودكاست كابتن أحمد\n@7upstables \n@bo.omar72 \n@waled_mondy \n\u200E#الكابتن_أحمد #الخيل #الفارس", "duration" => 84, "filename" => "/downloads/shorts/بودكاست كابتن أحمد/بودكاست كابتن أحمد - 2025-04-11 - [POmpPUiQsSM].mp4", "id" => "POmpPUiQsSM", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/POmpPUiQsSM", "playlist_index" => 19, "timestamp" => 1744365640, "title" => "الخيل والتأمين | #بودكاست_كابتن_أحمد", "upload_date" => "20250411"} 12:54:48.745 [debug] QUERY OK source="sources" db=0.1ms idle=1735.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" IN (?)) [415] 12:54:48.746 [debug] QUERY OK source="sources" db=0.1ms idle=1735.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" = ?) [415] 12:54:48.747 [debug] QUERY OK source="media_items" db=0.6ms idle=1736.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-04-11 10:00:40Z], 415] 12:54:48.749 [debug] QUERY OK source="media_items" db=1.5ms idle=1072.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" ["\u200E🔹الخيل والتأمين\n\u200E🎙️ الآن حلقة جديدة مع ضيف الحلقة الحاج كمال مندي | مربي خيل عربي\n\u200E 🎯 يمكنكم الآن مشاهدة الحلقة كاملة على بودكاست كابتن أحمد\n@7upstables \n@bo.omar72 \n@waled_mondy \n\u200E#الكابتن_أحمد #الخيل #الفارس", "الخيل والتأمين | #بودكاست_كابتن_أحمد", "b4d14c7a-1d7e-4bcc-9028-516f3ef0f35a", 84, false, "POmpPUiQsSM", "https://www.youtube.com/shorts/POmpPUiQsSM", 19, "/downloads/shorts/بودكاست كابتن أحمد/بودكاست كابتن أحمد - 2025-04-11 - [POmpPUiQsSM].mp4", false, false, true, 415, [], 98, ~U[2025-04-11 10:00:40Z], ~U[2026-04-15 12:54:48Z], ~U[2026-04-15 12:54:48Z], "\u200E🔹الخيل والتأمين\n\u200E🎙️ الآن حلقة جديدة مع ضيف الحلقة الحاج كمال مندي | مربي خيل عربي\n\u200E 🎯 يمكنكم الآن مشاهدة الحلقة كاملة على بودكاست كابتن أحمد\n@7upstables \n@bo.omar72 \n@waled_mondy \n\u200E#الكابتن_أحمد #الخيل #الفارس", "الخيل والتأمين | #بودكاست_كابتن_أحمد", 84, false, "POmpPUiQsSM", "https://www.youtube.com/shorts/POmpPUiQsSM", "/downloads/shorts/بودكاست كابتن أحمد/بودكاست كابتن أحمد - 2025-04-11 - [POmpPUiQsSM].mp4", true, 415, ~U[2025-04-11 10:00:40Z]] 12:54:48.749 [debug] QUERY OK source="sources" db=0.3ms idle=73.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" = ?) [415] 12:54:48.750 [debug] QUERY OK source="media_profiles" db=0.3ms idle=4.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 12:54:48.751 [debug] QUERY OK source="media_items" db=0.4ms idle=4.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4348346] 12:54:48.751 [debug] Current batch of media processed. Will check again in 1000ms 12:54:49.683 [debug] Current batch of media processed. Will check again in 1000ms 12:54:49.752 [debug] Current batch of media processed. Will check again in 1000ms 12:54:50.684 [debug] Current batch of media processed. Will check again in 1000ms 12:54:50.753 [debug] Current batch of media processed. Will check again in 1000ms 12:54:51.685 [debug] Current batch of media processed. Will check again in 1000ms 12:54:51.754 [debug] Current batch of media processed. Will check again in 1000ms 12:54:52.686 [debug] Current batch of media processed. Will check again in 1000ms 12:54:52.755 [debug] Current batch of media processed. Will check again in 1000ms 12:54:53.687 [debug] Current batch of media processed. Will check again in 1000ms 12:54:53.756 [debug] Current batch of media processed. Will check again in 1000ms 12:54:54.688 [debug] Current batch of media processed. Will check again in 1000ms 12:54:54.757 [debug] Current batch of media processed. Will check again in 1000ms 12:54:55.689 [debug] Current batch of media processed. Will check again in 1000ms 12:54:55.758 [debug] Current batch of media processed. Will check again in 1000ms 12:54:56.690 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "", "duration" => 51, "filename" => "/downloads/shorts/Mohammed Alnhet/Mohammed Alnhet - 2024-12-18 - [_F8Cj607xL8].mp4", "id" => "_F8Cj607xL8", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/_F8Cj607xL8", "playlist_index" => 16, "timestamp" => 1734514166, "title" => "كيف يزيد تقدير الناس لك بسبب كلمة لا ..!", "upload_date" => "20241218"} 12:54:56.690 [debug] QUERY OK source="sources" db=0.2ms idle=680.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" IN (?)) [304] 12:54:56.691 [debug] QUERY OK source="sources" db=0.1ms idle=680.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" = ?) [304] 12:54:56.691 [debug] QUERY OK source="media_items" db=0.3ms idle=681.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-12-18 09:29:26Z], 304] 12:54:56.692 [debug] QUERY OK source="media_items" db=0.6ms idle=681.9ms INSERT INTO "media_items" AS m0 ("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) 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" ["كيف يزيد تقدير الناس لك بسبب كلمة لا ..!", "d0351a77-f8b0-4346-8b5e-601a27c30fc0", 51, false, "_F8Cj607xL8", "https://www.youtube.com/shorts/_F8Cj607xL8", 16, "/downloads/shorts/Mohammed Alnhet/Mohammed Alnhet - 2024-12-18 - [_F8Cj607xL8].mp4", false, false, true, 304, [], 98, ~U[2024-12-18 09:29:26Z], ~U[2026-04-15 12:54:56Z], ~U[2026-04-15 12:54:56Z], "", "كيف يزيد تقدير الناس لك بسبب كلمة لا ..!", 51, false, "_F8Cj607xL8", "https://www.youtube.com/shorts/_F8Cj607xL8", "/downloads/shorts/Mohammed Alnhet/Mohammed Alnhet - 2024-12-18 - [_F8Cj607xL8].mp4", true, 304, ~U[2024-12-18 09:29:26Z]] 12:54:56.693 [debug] QUERY OK source="sources" db=0.2ms 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" = ?) [304] 12:54:56.693 [debug] Current batch of media processed. Will check again in 1000ms 12:54:56.759 [debug] Current batch of media processed. Will check again in 1000ms 12:54:57.694 [debug] Current batch of media processed. Will check again in 1000ms 12:54:57.760 [debug] Current batch of media processed. Will check again in 1000ms 12:54:58.695 [debug] Current batch of media processed. Will check again in 1000ms 12:54:58.761 [debug] Current batch of media processed. Will check again in 1000ms 12:54:59.696 [debug] Current batch of media processed. Will check again in 1000ms 12:54:59.762 [debug] Current batch of media processed. Will check again in 1000ms 12:55:00.697 [debug] Current batch of media processed. Will check again in 1000ms 12:55:00.763 [debug] Current batch of media processed. Will check again in 1000ms 12:55:00.831 [info] {"source":"oban","duration":161,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:55:01.698 [debug] Current batch of media processed. Will check again in 1000ms 12:55:01.764 [debug] Current batch of media processed. Will check again in 1000ms 12:55:02.699 [debug] Current batch of media processed. Will check again in 1000ms 12:55:02.765 [debug] Current batch of media processed. Will check again in 1000ms 12:55:03.700 [debug] Current batch of media processed. Will check again in 1000ms 12:55:03.766 [debug] Current batch of media processed. Will check again in 1000ms 12:55:04.701 [debug] Current batch of media processed. Will check again in 1000ms 12:55:04.767 [debug] Current batch of media processed. Will check again in 1000ms 12:55:04.909 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@Captainahmedalomran/shorts --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/shorts/بودكاست كابتن أحمد/بودكاست كابتن أحمد - %(upload_date>%Y-%m-%d)S - [%(id)S].%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --break-on-existing --download-archive /tmp/pinchflat/data/36/3e/363e3ea1e15477fee8c2c79622577ec685a237b33de03251802d5fe1f79efd44.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/e9/ed/e9ed43873818b1e74f6f1ba9e01fa57814978a6350e49867034fbfb747480670.json --sleep-requests 4 --sleep-interval 5 --sleep-subtitles 4 --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 101 with: 12:55:04.911 [debug] Gracefully stopping file follower 12:55:04.911 [debug] QUERY OK source="sources" db=0.2ms idle=901.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" IN (?)) [415] 12:55:04.912 [debug] QUERY OK source="sources" db=0.2ms idle=901.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" = ?) [415] 12:55:04.913 [debug] QUERY OK source="media_items" db=0.5ms idle=902.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-30 09:05:01Z], 415] 12:55:04.914 [debug] QUERY OK source="media_items" db=0.9ms idle=903.1ms 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" ["🔹 موقف طريف!\n\n🔹 قصة بطل من أبطال فرسان المملكة العربية السعودية | #بودكاست_كابتن_أحمد\n\n🎙️ حلقة جديدة تحمل في طيّاتها قصة كفاح، شغف، وبطولة، نسلّط فيها الضوء على مسيرة أحد فرسان المملكة العربية السعودية، وكيف كانت بدايته، وتحدياته، وصولًا للإنجازات ورفع اسم الوطن في ميادين الفروسية.\n\n📌 حلقة اليوم تهم:\n\nعشّاق الفروسية\n\nالرياضيين\n\nوكل من يبحث عن الإلهام وقصص النجاح\n\n🎙️ الآن حلقة جديدة تحكي رحلة بطل من أبطال فرسان المملكة بكل تفاصيلها\n\n🎯 يمكنكم الآن مشاهدة الحلقة كاملة على بودكاست كابتن أحمد عبر الرابط 👇🏻\nhttps://youtu.be/F_DygOUziFk\n\n@bo.omar72\n@saad_a_alajmi\n\n#الكابتن_أحمد\n#فرسان_المملكة\n#الفروسية\n#الخيل\n#قصص_نجاح\n#الرياضة_السعودية", "🔹 موقف طريف! | قصة بطل من أبطال فرسان المملكة العربية السعودية | #بودكاست_كابتن_أحمد", "85d0d16c-1884-4c45-a428-099c6077f6b8", 78, false, "RIAEQ3zHQBg", "https://www.youtube.com/shorts/RIAEQ3zHQBg", 1, "/downloads/shorts/بودكاست كابتن أحمد/بودكاست كابتن أحمد - 2026-01-30 - [RIAEQ3zHQBg].mp4", false, false, true, 415, [], 98, ~U[2026-01-30 09:05:01Z], ~U[2026-04-15 12:55:04Z], ~U[2026-04-15 12:55:04Z], "🔹 موقف طريف!\n\n🔹 قصة بطل من أبطال فرسان المملكة العربية السعودية | #بودكاست_كابتن_أحمد\n\n🎙️ حلقة جديدة تحمل في طيّاتها قصة كفاح، شغف، وبطولة، نسلّط فيها الضوء على مسيرة أحد فرسان المملكة العربية السعودية، وكيف كانت بدايته، وتحدياته، وصولًا للإنجازات ورفع اسم الوطن في ميادين الفروسية.\n\n📌 حلقة اليوم تهم:\n\nعشّاق الفروسية\n\nالرياضيين\n\nوكل من يبحث عن الإلهام وقصص النجاح\n\n🎙️ الآن حلقة جديدة تحكي رحلة بطل من أبطال فرسان المملكة بكل تفاصيلها\n\n🎯 يمكنكم الآن مشاهدة الحلقة كاملة على بودكاست كابتن أحمد عبر الرابط 👇🏻\nhttps://youtu.be/F_DygOUziFk\n\n@bo.omar72\n@saad_a_alajmi\n\n#الكابتن_أحمد\n#فرسان_المملكة\n#الفروسية\n#الخيل\n#قصص_نجاح\n#الرياضة_السعودية", "🔹 موقف طريف! | قصة بطل من أبطال فرسان المملكة العربية السعودية | #بودكاست_كابتن_أحمد", 78, false, "RIAEQ3zHQBg", "https://www.youtube.com/shorts/RIAEQ3zHQBg", "/downloads/shorts/بودكاست كابتن أحمد/بودكاست كابتن أحمد - 2026-01-30 - [RIAEQ3zHQBg].mp4", true, 415, ~U[2026-01-30 09:05:01Z]] 12:55:04.915 [debug] QUERY OK source="sources" db=0.2ms idle=222.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" = ?) [415] 12:55:04.915 [debug] QUERY OK source="media_items" db=0.4ms idle=3.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-28 08:00:28Z], 415] 12:55:04.917 [debug] QUERY OK source="media_items" db=0.9ms idle=3.5ms 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" ["🔹 متى تشتري خيل؟\n\n🔹 قصة بطل من أبطال فرسان المملكة العربية السعودية | #بودكاست_كابتن_أحمد\n\n🎙️ حلقة جديدة تحمل في طيّاتها قصة كفاح، شغف، وبطولة، نسلّط فيها الضوء على مسيرة أحد فرسان المملكة العربية السعودية، وكيف كانت بدايته، وتحدياته، وصولًا للإنجازات ورفع اسم الوطن في ميادين الفروسية.\n\n📌 حلقة اليوم تهم:\n\nعشّاق الفروسية\n\nالرياضيين\n\nوكل من يبحث عن الإلهام وقصص النجاح\n\n🎙️ الآن حلقة جديدة تحكي رحلة بطل من أبطال فرسان المملكة بكل تفاصيلها\n\n🎯 يمكنكم الآن مشاهدة الحلقة كاملة على بودكاست كابتن أحمد عبر الرابط 👇🏻\nhttps://youtu.be/F_DygOUziFk\n\n@bo.omar72\n@saad_a_alajmi\n\n#الكابتن_أحمد\n#فرسان_المملكة\n#الفروسية\n#الخيل\n#قصص_نجاح\n#الرياضة_السعودية", "🔹 متى تشتري خيل؟ | قصة بطل من أبطال فرسان المملكة العربية السعودية | #بودكاست_كابتن_أحمد", "7aff0909-9fe0-4062-a4a9-041bec6de898", 111, false, "CONuUBbMnk0", "https://www.youtube.com/shorts/CONuUBbMnk0", 2, "/downloads/shorts/بودكاست كابتن أحمد/بودكاست كابتن أحمد - 2026-01-28 - [CONuUBbMnk0].mp4", false, false, true, 415, [], 98, ~U[2026-01-28 08:00:28Z], ~U[2026-04-15 12:55:04Z], ~U[2026-04-15 12:55:04Z], "🔹 متى تشتري خيل؟\n\n🔹 قصة بطل من أبطال فرسان المملكة العربية السعودية | #بودكاست_كابتن_أحمد\n\n🎙️ حلقة جديدة تحمل في طيّاتها قصة كفاح، شغف، وبطولة، نسلّط فيها الضوء على مسيرة أحد فرسان المملكة العربية السعودية، وكيف كانت بدايته، وتحدياته، وصولًا للإنجازات ورفع اسم الوطن في ميادين الفروسية.\n\n📌 حلقة اليوم تهم:\n\nعشّاق الفروسية\n\nالرياضيين\n\nوكل من يبحث عن الإلهام وقصص النجاح\n\n🎙️ الآن حلقة جديدة تحكي رحلة بطل من أبطال فرسان المملكة بكل تفاصيلها\n\n🎯 يمكنكم الآن مشاهدة الحلقة كاملة على بودكاست كابتن أحمد عبر الرابط 👇🏻\nhttps://youtu.be/F_DygOUziFk\n\n@bo.omar72\n@saad_a_alajmi\n\n#الكابتن_أحمد\n#فرسان_المملكة\n#الفروسية\n#الخيل\n#قصص_نجاح\n#الرياضة_السعودية", "🔹 متى تشتري خيل؟ | قصة بطل من أبطال فرسان المملكة العربية السعودية | #بودكاست_كابتن_أحمد", 111, false, "CONuUBbMnk0", "https://www.youtube.com/shorts/CONuUBbMnk0", "/downloads/shorts/بودكاست كابتن أحمد/بودكاست كابتن أحمد - 2026-01-28 - [CONuUBbMnk0].mp4", true, 415, ~U[2026-01-28 08:00:28Z]] 12:55:04.917 [debug] QUERY OK source="sources" db=0.3ms 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" = ?) [415] 12:55:04.918 [debug] QUERY OK source="media_items" db=0.4ms idle=3.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-26 08:00:03Z], 415] 12:55:04.919 [debug] QUERY OK source="media_items" db=0.9ms idle=3.3ms 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" ["🔹 دعم الأهل\n\n🔹 قصة بطل من أبطال فرسان المملكة العربية السعودية | #بودكاست_كابتن_أحمد\n\n🎙️ حلقة جديدة تحمل في طيّاتها قصة كفاح، شغف، وبطولة، نسلّط فيها الضوء على مسيرة أحد فرسان المملكة العربية السعودية، وكيف كانت بدايته، وتحدياته، وصولًا للإنجازات ورفع اسم الوطن في ميادين الفروسية.\n\n📌 حلقة اليوم تهم:\n\nعشّاق الفروسية\n\nالرياضيين\n\nوكل من يبحث عن الإلهام وقصص النجاح\n\n🎙️ الآن حلقة جديدة تحكي رحلة بطل من أبطال فرسان المملكة بكل تفاصيلها\n\n🎯 يمكنكم الآن مشاهدة الحلقة كاملة على بودكاست كابتن أحمد 👇🏻\nhttps://youtu.be/F_DygOUziFk\n\n@bo.omar72\n@saad_a_alajmi\n\n#الكابتن_أحمد\n#فرسان_المملكة\n#الفروسية\n#الخيل\n#قصص_نجاح\n#الرياضة_السعودية", "🔹 دعم الأهل | قصة بطل من أبطال فرسان المملكة العربية السعودية | #بودكاست_كابتن_أحمد", "f4323a4b-a2ee-4f80-bf1a-5db2af1f0708", 68, false, "1ZcMmwLhoY4", "https://www.youtube.com/shorts/1ZcMmwLhoY4", 3, "/downloads/shorts/بودكاست كابتن أحمد/بودكاست كابتن أحمد - 2026-01-26 - [1ZcMmwLhoY4].mp4", false, false, true, 415, [], 98, ~U[2026-01-26 08:00:03Z], ~U[2026-04-15 12:55:04Z], ~U[2026-04-15 12:55:04Z], "🔹 دعم الأهل\n\n🔹 قصة بطل من أبطال فرسان المملكة العربية السعودية | #بودكاست_كابتن_أحمد\n\n🎙️ حلقة جديدة تحمل في طيّاتها قصة كفاح، شغف، وبطولة، نسلّط فيها الضوء على مسيرة أحد فرسان المملكة العربية السعودية، وكيف كانت بدايته، وتحدياته، وصولًا للإنجازات ورفع اسم الوطن في ميادين الفروسية.\n\n📌 حلقة اليوم تهم:\n\nعشّاق الفروسية\n\nالرياضيين\n\nوكل من يبحث عن الإلهام وقصص النجاح\n\n🎙️ الآن حلقة جديدة تحكي رحلة بطل من أبطال فرسان المملكة بكل تفاصيلها\n\n🎯 يمكنكم الآن مشاهدة الحلقة كاملة على بودكاست كابتن أحمد 👇🏻\nhttps://youtu.be/F_DygOUziFk\n\n@bo.omar72\n@saad_a_alajmi\n\n#الكابتن_أحمد\n#فرسان_المملكة\n#الفروسية\n#الخيل\n#قصص_نجاح\n#الرياضة_السعودية", "🔹 دعم الأهل | قصة بطل من أبطال فرسان المملكة العربية السعودية | #بودكاست_كابتن_أحمد", 68, false, "1ZcMmwLhoY4", "https://www.youtube.com/shorts/1ZcMmwLhoY4", "/downloads/shorts/بودكاست كابتن أحمد/بودكاست كابتن أحمد - 2026-01-26 - [1ZcMmwLhoY4].mp4", true, 415, ~U[2026-01-26 08:00:03Z]] 12:55:04.920 [debug] QUERY OK source="sources" db=0.2ms idle=4.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" = ?) [415] 12:55:04.920 [debug] QUERY OK source="media_items" db=0.4ms idle=3.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-09-14 08:45:01Z], 415] 12:55:04.921 [debug] QUERY OK source="media_items" db=0.8ms idle=3.2ms 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" ["🔹العلاج الطبيعي و استراتيجيات الوقاية من الإصابات للرياضيين وغير الرياضيين | #بودكاست_كابتن_أحمد\n\n🎙️ حلقة جديدة مليئة بالأسئلة والأجوبة عن الطب الرياضي مع أخصائي تأهيلي بإصابات الملاعب، نستضيف الكابتن محمد المهدي لاعب سابق في كرة الطائرة وأخصائي تأهيلي بإصابات الملاعب في الكويت لكرة اليد.\n\n📌 حلقة اليوم تفيد المدرب والرياضي وكذلك التعامل مع الإصابات قبل وبعد العلاج الطبيعي.\n\n🎙️ الآن حلقة جديدة مع ضيف الحلقة الكابتن محمد المهدي | أخصائي تأهيل بإصابات الملاعب\n\n🎯 يمكنكم الآن مشاهدة الحلقة كاملة على بودكاست كابتن أحمد\n\n@bo.omar72\n@mohamed_mehdi_baccouch\n\n#الكابتن_أحمد #الخيل #الفارس", "الراحة الإيجابية والسلبية", "fdc009f6-07d2-492e-97ec-7a969cf327c8", 67, false, "-CbtfiwTMAY", "https://www.youtube.com/shorts/-CbtfiwTMAY", 4, "/downloads/shorts/بودكاست كابتن أحمد/بودكاست كابتن أحمد - 2025-09-14 - [-CbtfiwTMAY].mp4", false, false, true, 415, [], 98, ~U[2025-09-14 08:45:01Z], ~U[2026-04-15 12:55:04Z], ~U[2026-04-15 12:55:04Z], "🔹العلاج الطبيعي و استراتيجيات الوقاية من الإصابات للرياضيين وغير الرياضيين | #بودكاست_كابتن_أحمد\n\n🎙️ حلقة جديدة مليئة بالأسئلة والأجوبة عن الطب الرياضي مع أخصائي تأهيلي بإصابات الملاعب، نستضيف الكابتن محمد المهدي لاعب سابق في كرة الطائرة وأخصائي تأهيلي بإصابات الملاعب في الكويت لكرة اليد.\n\n📌 حلقة اليوم تفيد المدرب والرياضي وكذلك التعامل مع الإصابات قبل وبعد العلاج الطبيعي.\n\n🎙️ الآن حلقة جديدة مع ضيف الحلقة الكابتن محمد المهدي | أخصائي تأهيل بإصابات الملاعب\n\n🎯 يمكنكم الآن مشاهدة الحلقة كاملة على بودكاست كابتن أحمد\n\n@bo.omar72\n@mohamed_mehdi_baccouch\n\n#الكابتن_أحمد #الخيل #الفارس", "الراحة الإيجابية والسلبية", 67, false, "-CbtfiwTMAY", "https://www.youtube.com/shorts/-CbtfiwTMAY", "/downloads/shorts/بودكاست كابتن أحمد/بودكاست كابتن أحمد - 2025-09-14 - [-CbtfiwTMAY].mp4", true, 415, ~U[2025-09-14 08:45:01Z]] 12:55:04.922 [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" FROM "sources" AS s0 WHERE (s0."id" = ?) [415] 12:55:04.922 [debug] QUERY OK source="media_items" db=0.4ms idle=3.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-09-12 08:45:11Z], 415] 12:55:04.924 [debug] QUERY OK source="media_items" db=0.8ms idle=3.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" ["🔹العلاج الطبيعي و استراتيجيات الوقاية من الإصابات للرياضيين وغير الرياضيين | #بودكاست_كابتن_أحمد\n\n🎙️ حلقة جديدة مليئة بالأسئلة والأجوبة عن الطب الرياضي مع أخصائي تأهيلي بإصابات الملاعب، نستضيف الكابتن محمد المهدي لاعب سابق في كرة الطائرة وأخصائي تأهيلي بإصابات الملاعب في الكويت لكرة اليد.\n\n📌 حلقة اليوم تفيد المدرب والرياضي وكذلك التعامل مع الإصابات قبل وبعد العلاج الطبيعي.\n\n🎙️ الآن حلقة جديدة مع ضيف الحلقة الكابتن محمد المهدي | أخصائي تأهيل بإصابات الملاعب\n\n🎯 يمكنكم الآن مشاهدة الحلقة كاملة على بودكاست كابتن أحمد\n\n@bo.omar72\n@mohamed_mehdi_baccouch\n\n#الكابتن_أحمد #الخيل #الفارس", "المغنيسيوم والميلاتونين", "75156f25-cf68-457b-8680-84108971455f", 61, false, "zh1pMDqM_Js", "https://www.youtube.com/shorts/zh1pMDqM_Js", 5, "/downloads/shorts/بودكاست كابتن أحمد/بودكاست كابتن أحمد - 2025-09-12 - [zh1pMDqM_Js].mp4", false, false, true, 415, [], 98, ~U[2025-09-12 08:45:11Z], ~U[2026-04-15 12:55:04Z], ~U[2026-04-15 12:55:04Z], "🔹العلاج الطبيعي و استراتيجيات الوقاية من الإصابات للرياضيين وغير الرياضيين | #بودكاست_كابتن_أحمد\n\n🎙️ حلقة جديدة مليئة بالأسئلة والأجوبة عن الطب الرياضي مع أخصائي تأهيلي بإصابات الملاعب، نستضيف الكابتن محمد المهدي لاعب سابق في كرة الطائرة وأخصائي تأهيلي بإصابات الملاعب في الكويت لكرة اليد.\n\n📌 حلقة اليوم تفيد المدرب والرياضي وكذلك التعامل مع الإصابات قبل وبعد العلاج الطبيعي.\n\n🎙️ الآن حلقة جديدة مع ضيف الحلقة الكابتن محمد المهدي | أخصائي تأهيل بإصابات الملاعب\n\n🎯 يمكنكم الآن مشاهدة الحلقة كاملة على بودكاست كابتن أحمد\n\n@bo.omar72\n@mohamed_mehdi_baccouch\n\n#الكابتن_أحمد #الخيل #الفارس", "المغنيسيوم والميلاتونين", 61, false, "zh1pMDqM_Js", "https://www.youtube.com/shorts/zh1pMDqM_Js", "/downloads/shorts/بودكاست كابتن أحمد/بودكاست كابتن أحمد - 2025-09-12 - [zh1pMDqM_Js].mp4", true, 415, ~U[2025-09-12 08:45:11Z]] 12:55:04.924 [debug] QUERY OK source="sources" db=0.2ms idle=3.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" = ?) [415] 12:55:04.925 [debug] QUERY OK source="media_items" db=0.4ms idle=3.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-09-10 08:30:22Z], 415] 12:55:04.926 [debug] QUERY OK source="media_items" db=0.8ms idle=3.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" ["🔹العلاج الطبيعي و استراتيجيات الوقاية من الإصابات للرياضيين وغير الرياضيين | #بودكاست_كابتن_أحمد\n\n🎙️ حلقة جديدة مليئة بالأسئلة والأجوبة عن الطب الرياضي مع أخصائي تأهيلي بإصابات الملاعب، نستضيف الكابتن محمد المهدي لاعب سابق في كرة الطائرة وأخصائي تأهيلي بإصابات الملاعب في الكويت لكرة اليد.\n\n📌 حلقة اليوم تفيد المدرب والرياضي وكذلك التعامل مع الإصابات قبل وبعد العلاج الطبيعي.\n\n🎙️ الآن حلقة جديدة مع ضيف الحلقة الكابتن محمد المهدي | أخصائي تأهيل بإصابات الملاعب\n\n🎯 يمكنكم الآن مشاهدة الحلقة كاملة على بودكاست كابتن أحمد\n\n@bo.omar72\n@mohamed_mehdi_baccouch\n\n#الكابتن_أحمد #الخيل #الفارس", "الإصابات", "4cc29898-b263-4bc1-98cb-211d4477a492", 48, false, "Oxagg_IMJIo", "https://www.youtube.com/shorts/Oxagg_IMJIo", 6, "/downloads/shorts/بودكاست كابتن أحمد/بودكاست كابتن أحمد - 2025-09-10 - [Oxagg_IMJIo].mp4", false, false, true, 415, [], 98, ~U[2025-09-10 08:30:22Z], ~U[2026-04-15 12:55:04Z], ~U[2026-04-15 12:55:04Z], "🔹العلاج الطبيعي و استراتيجيات الوقاية من الإصابات للرياضيين وغير الرياضيين | #بودكاست_كابتن_أحمد\n\n🎙️ حلقة جديدة مليئة بالأسئلة والأجوبة عن الطب الرياضي مع أخصائي تأهيلي بإصابات الملاعب، نستضيف الكابتن محمد المهدي لاعب سابق في كرة الطائرة وأخصائي تأهيلي بإصابات الملاعب في الكويت لكرة اليد.\n\n📌 حلقة اليوم تفيد المدرب والرياضي وكذلك التعامل مع الإصابات قبل وبعد العلاج الطبيعي.\n\n🎙️ الآن حلقة جديدة مع ضيف الحلقة الكابتن محمد المهدي | أخصائي تأهيل بإصابات الملاعب\n\n🎯 يمكنكم الآن مشاهدة الحلقة كاملة على بودكاست كابتن أحمد\n\n@bo.omar72\n@mohamed_mehdi_baccouch\n\n#الكابتن_أحمد #الخيل #الفارس", "الإصابات", 48, false, "Oxagg_IMJIo", "https://www.youtube.com/shorts/Oxagg_IMJIo", "/downloads/shorts/بودكاست كابتن أحمد/بودكاست كابتن أحمد - 2025-09-10 - [Oxagg_IMJIo].mp4", true, 415, ~U[2025-09-10 08:30:22Z]] 12:55:04.927 [debug] QUERY OK source="sources" db=0.3ms idle=3.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" = ?) [415] 12:55:04.927 [debug] QUERY OK source="media_items" db=0.5ms idle=3.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-09-08 08:45:02Z], 415] 12:55:04.929 [debug] QUERY OK source="media_items" db=1.2ms idle=3.3ms 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" ["🔹العلاج الطبيعي و استراتيجيات الوقاية من الإصابات للرياضيين وغير الرياضيين | #بودكاست_كابتن_أحمد\n\n🎙️ حلقة جديدة مليئة بالأسئلة والأجوبة عن الطب الرياضي مع أخصائي تأهيلي بإصابات الملاعب، نستضيف الكابتن محمد المهدي لاعب سابق في كرة الطائرة وأخصائي تأهيلي بإصابات الملاعب في الكويت لكرة اليد.\n\n📌 حلقة اليوم تفيد المدرب والرياضي وكذلك التعامل مع الإصابات قبل وبعد العلاج الطبيعي.\n\n🎙️ الآن حلقة جديدة مع ضيف الحلقة الكابتن محمد المهدي | أخصائي تأهيل بإصابات الملاعب\n\n🎯 يمكنكم الآن مشاهدة الحلقة كاملة على بودكاست كابتن أحمد\n\n@bo.omar72\n@mohamed_mehdi_baccouch\n\n#الكابتن_أحمد #الخيل #الفارس", "مفاهيم خاطئة في العلاج", "8dce6adb-3747-40ed-a4dd-c1a3d9c24313", 76, false, "PvgwAaAiL0A", "https://www.youtube.com/shorts/PvgwAaAiL0A", 7, "/downloads/shorts/بودكاست كابتن أحمد/بودكاست كابتن أحمد - 2025-09-08 - [PvgwAaAiL0A].mp4", false, false, true, 415, [], 98, ~U[2025-09-08 08:45:02Z], ~U[2026-04-15 12:55:04Z], ~U[2026-04-15 12:55:04Z], "🔹العلاج الطبيعي و استراتيجيات الوقاية من الإصابات للرياضيين وغير الرياضيين | #بودكاست_كابتن_أحمد\n\n🎙️ حلقة جديدة مليئة بالأسئلة والأجوبة عن الطب الرياضي مع أخصائي تأهيلي بإصابات الملاعب، نستضيف الكابتن محمد المهدي لاعب سابق في كرة الطائرة وأخصائي تأهيلي بإصابات الملاعب في الكويت لكرة اليد.\n\n📌 حلقة اليوم تفيد المدرب والرياضي وكذلك التعامل مع الإصابات قبل وبعد العلاج الطبيعي.\n\n🎙️ الآن حلقة جديدة مع ضيف الحلقة الكابتن محمد المهدي | أخصائي تأهيل بإصابات الملاعب\n\n🎯 يمكنكم الآن مشاهدة الحلقة كاملة على بودكاست كابتن أحمد\n\n@bo.omar72\n@mohamed_mehdi_baccouch\n\n#الكابتن_أحمد #الخيل #الفارس", "مفاهيم خاطئة في العلاج", 76, false, "PvgwAaAiL0A", "https://www.youtube.com/shorts/PvgwAaAiL0A", "/downloads/shorts/بودكاست كابتن أحمد/بودكاست كابتن أحمد - 2025-09-08 - [PvgwAaAiL0A].mp4", true, 415, ~U[2025-09-08 08:45:02Z]] 12:55:04.929 [debug] QUERY OK source="sources" db=0.3ms 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" = ?) [415] 12:55:04.930 [debug] QUERY OK source="media_items" db=0.6ms idle=3.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-09-06 13:25:06Z], 415] 12:55:04.932 [debug] QUERY OK source="media_items" db=1.2ms idle=3.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" ["🔹العلاج الطبيعي و استراتيجيات الوقاية من الإصابات للرياضيين وغير الرياضيين | #بودكاست_كابتن_أحمد\n\n🎙️ حلقة جديدة مليئة بالأسئلة والأجوبة عن الطب الرياضي مع أخصائي تأهيلي بإصابات الملاعب، نستضيف الكابتن محمد المهدي لاعب سابق في كرة الطائرة وأخصائي تأهيلي بإصابات الملاعب في الكويت لكرة اليد.\n\n📌 حلقة اليوم تفيد المدرب والرياضي وكذلك التعامل مع الإصابات قبل وبعد العلاج الطبيعي.\n\n🎙️ الآن حلقة جديدة مع ضيف الحلقة الكابتن محمد المهدي | أخصائي تأهيل بإصابات الملاعب\n\n🎯 يمكنكم الآن مشاهدة الحلقة كاملة على بودكاست كابتن أحمد\n\n@bo.omar72\n@mohamed_mehdi_baccouch\n\n#الكابتن_أحمد #الخيل #الفارس", "العمر المناسب لممارسة الرياضة", "a2a334c9-c50b-4cfd-a0c0-7e8bf033514f", 75, false, "TnO8YS13J30", "https://www.youtube.com/shorts/TnO8YS13J30", 8, "/downloads/shorts/بودكاست كابتن أحمد/بودكاست كابتن أحمد - 2025-09-06 - [TnO8YS13J30].mp4", false, false, true, 415, [], 97, ~U[2025-09-06 13:25:06Z], ~U[2026-04-15 12:55:04Z], ~U[2026-04-15 12:55:04Z], "🔹العلاج الطبيعي و استراتيجيات الوقاية من الإصابات للرياضيين وغير الرياضيين | #بودكاست_كابتن_أحمد\n\n🎙️ حلقة جديدة مليئة بالأسئلة والأجوبة عن الطب الرياضي مع أخصائي تأهيلي بإصابات الملاعب، نستضيف الكابتن محمد المهدي لاعب سابق في كرة الطائرة وأخصائي تأهيلي بإصابات الملاعب في الكويت لكرة اليد.\n\n📌 حلقة اليوم تفيد المدرب والرياضي وكذلك التعامل مع الإصابات قبل وبعد العلاج الطبيعي.\n\n🎙️ الآن حلقة جديدة مع ضيف الحلقة الكابتن محمد المهدي | أخصائي تأهيل بإصابات الملاعب\n\n🎯 يمكنكم الآن مشاهدة الحلقة كاملة على بودكاست كابتن أحمد\n\n@bo.omar72\n@mohamed_mehdi_baccouch\n\n#الكابتن_أحمد #الخيل #الفارس", "العمر المناسب لممارسة الرياضة", 75, false, "TnO8YS13J30", "https://www.youtube.com/shorts/TnO8YS13J30", "/downloads/shorts/بودكاست كابتن أحمد/بودكاست كابتن أحمد - 2025-09-06 - [TnO8YS13J30].mp4", true, 415, ~U[2025-09-06 13:25:06Z]] 12:55:04.932 [debug] QUERY OK source="sources" db=0.4ms 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" = ?) [415] 12:55:04.933 [debug] QUERY OK source="media_items" db=0.5ms idle=3.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-09-06 13:20:09Z], 415] 12:55:04.935 [debug] QUERY OK source="media_items" db=1.0ms idle=4.1ms 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" ["🎙️ حلقة جديدة مليئة بالأسئلة والأجوبة عن الطب الرياضي مع أخصائي تأهيلي بإصابات الملاعب، نستضيف الكابتن محمد المهدي لاعب سابق في كرة الطائرة وأخصائي تأهيلي بإصابات الملاعب في الكويت لكرة اليد. \n📌 حلقة اليوم تفيد المدرب والرياضي وكذلك التعامل مع الإصابات قبل وبعد العلاج الطبيعي.\n\nحلقة جديدة مع الكابتن محمد المهدي\nعلى #بودكاست_الكابتن_أحمد", "#8 العلاج الطبيعي واستراتيجيات الوقاية من الإصابات للرياضيين و غير الرياضيين | #بودكاست_كابتن_أحمد", "f5b11c35-4b06-46a5-b8ca-c7f7aa81a9b4", 75, false, "hlUC_vGXSyk", "https://www.youtube.com/shorts/hlUC_vGXSyk", 9, "/downloads/shorts/بودكاست كابتن أحمد/بودكاست كابتن أحمد - 2025-09-06 - [hlUC_vGXSyk].mp4", false, false, true, 415, [], 97, ~U[2025-09-06 13:20:09Z], ~U[2026-04-15 12:55:04Z], ~U[2026-04-15 12:55:04Z], "🎙️ حلقة جديدة مليئة بالأسئلة والأجوبة عن الطب الرياضي مع أخصائي تأهيلي بإصابات الملاعب، نستضيف الكابتن محمد المهدي لاعب سابق في كرة الطائرة وأخصائي تأهيلي بإصابات الملاعب في الكويت لكرة اليد. \n📌 حلقة اليوم تفيد المدرب والرياضي وكذلك التعامل مع الإصابات قبل وبعد العلاج الطبيعي.\n\nحلقة جديدة مع الكابتن محمد المهدي\nعلى #بودكاست_الكابتن_أحمد", "#8 العلاج الطبيعي واستراتيجيات الوقاية من الإصابات للرياضيين و غير الرياضيين | #بودكاست_كابتن_أحمد", 75, false, "hlUC_vGXSyk", "https://www.youtube.com/shorts/hlUC_vGXSyk", "/downloads/shorts/بودكاست كابتن أحمد/بودكاست كابتن أحمد - 2025-09-06 - [hlUC_vGXSyk].mp4", true, 415, ~U[2025-09-06 13:20:09Z]] 12:55:04.935 [debug] QUERY OK source="sources" db=0.3ms idle=4.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [415] 12:55:04.936 [debug] QUERY OK source="media_items" db=0.6ms idle=3.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-07-29 08:45:04Z], 415] 12:55:04.938 [debug] QUERY OK source="media_items" db=1.0ms idle=3.8ms 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" ["المعسكر\n\n🔹\"خاص جدًا... أسرار رياضة قفز الحواجز\"\n\n🎙️ الآن حلقة جديدة مع ضيف الحلقة الفارس بندر عبد العزيز جمعة\n\n🎯 يمكنكم الآن مشاهدة الحلقة كاملة على بودكاست كابتن أحمد\n\n@bo.omar72\n@bandarjumaa\n\n\n#الكابتن_أحمد #الخيل #الفارس", "المعسكر | بودكاست كابتن أحمد", "2a238489-1f0a-4403-9f74-29197608bf32", 15, false, "xyF8MBXF0tk", "https://www.youtube.com/shorts/xyF8MBXF0tk", 10, "/downloads/shorts/بودكاست كابتن أحمد/بودكاست كابتن أحمد - 2025-07-29 - [xyF8MBXF0tk].mp4", false, false, true, 415, [], 98, ~U[2025-07-29 08:45:04Z], ~U[2026-04-15 12:55:04Z], ~U[2026-04-15 12:55:04Z], "المعسكر\n\n🔹\"خاص جدًا... أسرار رياضة قفز الحواجز\"\n\n🎙️ الآن حلقة جديدة مع ضيف الحلقة الفارس بندر عبد العزيز جمعة\n\n🎯 يمكنكم الآن مشاهدة الحلقة كاملة على بودكاست كابتن أحمد\n\n@bo.omar72\n@bandarjumaa\n\n\n#الكابتن_أحمد #الخيل #الفارس", "المعسكر | بودكاست كابتن أحمد", 15, false, "xyF8MBXF0tk", "https://www.youtube.com/shorts/xyF8MBXF0tk", "/downloads/shorts/بودكاست كابتن أحمد/بودكاست كابتن أحمد - 2025-07-29 - [xyF8MBXF0tk].mp4", true, 415, ~U[2025-07-29 08:45:04Z]] 12:55:04.938 [debug] QUERY OK source="sources" db=0.3ms idle=4.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [415] 12:55:04.939 [debug] QUERY OK source="media_items" db=0.5ms idle=3.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-07-28 12:54:16Z], 415] 12:55:04.940 [debug] QUERY OK source="media_items" db=1.0ms idle=3.5ms 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" ["الثقافة الاحترافية\n\n🔹\"خاص جدًا... أسرار رياضة قفز الحواجز\"\n\n🎙️ الآن حلقة جديدة مع ضيف الحلقة الفارس بندر عبد العزيز جمعة\n\n🎯 يمكنكم الآن مشاهدة الحلقة كاملة على بودكاست كابتن أحمد\n\n@bo.omar72\n@bandarjumaa\n\n\n#الكابتن_أحمد #الخيل #الفارس", "الثقافة الاحترافية | بودكاست كابتن أحمد", "36bb171d-0158-430b-b624-e44a6eba255b", 16, false, "F1lGURKq-fo", "https://www.youtube.com/shorts/F1lGURKq-fo", 11, "/downloads/shorts/بودكاست كابتن أحمد/بودكاست كابتن أحمد - 2025-07-28 - [F1lGURKq-fo].mp4", false, false, true, 415, [], 97, ~U[2025-07-28 12:54:16Z], ~U[2026-04-15 12:55:04Z], ~U[2026-04-15 12:55:04Z], "الثقافة الاحترافية\n\n🔹\"خاص جدًا... أسرار رياضة قفز الحواجز\"\n\n🎙️ الآن حلقة جديدة مع ضيف الحلقة الفارس بندر عبد العزيز جمعة\n\n🎯 يمكنكم الآن مشاهدة الحلقة كاملة على بودكاست كابتن أحمد\n\n@bo.omar72\n@bandarjumaa\n\n\n#الكابتن_أحمد #الخيل #الفارس", "الثقافة الاحترافية | بودكاست كابتن أحمد", 16, false, "F1lGURKq-fo", "https://www.youtube.com/shorts/F1lGURKq-fo", "/downloads/shorts/بودكاست كابتن أحمد/بودكاست كابتن أحمد - 2025-07-28 - [F1lGURKq-fo].mp4", true, 415, ~U[2025-07-28 12:54:16Z]] 12:55:04.941 [debug] QUERY OK source="sources" db=0.3ms idle=4.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" = ?) [415] 12:55:04.941 [debug] QUERY OK source="media_items" db=0.4ms idle=3.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-07-28 12:51:04Z], 415] 12:55:04.942 [debug] QUERY OK source="media_items" db=0.6ms idle=3.3ms 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" ["الفروسية في الكويت\n\n🔹\"خاص جدًا... أسرار رياضة قفز الحواجز\"\n\n🎙️ الآن حلقة جديدة مع ضيف الحلقة الفارس بندر عبد العزيز جمعة\n\n🎯 يمكنكم الآن مشاهدة الحلقة كاملة على بودكاست كابتن أحمد\n\n@bo.omar72\n@bandarjumaa\n\n\n#الكابتن_أحمد #الخيل #الفارس", "الفروسية في الكويت | بودكاست كابتن أحمد", "84e6dfd8-68e1-43da-9021-a5a4f31f39fc", 29, false, "lPrJOeilFm8", "https://www.youtube.com/shorts/lPrJOeilFm8", 12, "/downloads/shorts/بودكاست كابتن أحمد/بودكاست كابتن أحمد - 2025-07-28 - [lPrJOeilFm8].mp4", false, false, true, 415, [], 97, ~U[2025-07-28 12:51:04Z], ~U[2026-04-15 12:55:04Z], ~U[2026-04-15 12:55:04Z], "الفروسية في الكويت\n\n🔹\"خاص جدًا... أسرار رياضة قفز الحواجز\"\n\n🎙️ الآن حلقة جديدة مع ضيف الحلقة الفارس بندر عبد العزيز جمعة\n\n🎯 يمكنكم الآن مشاهدة الحلقة كاملة على بودكاست كابتن أحمد\n\n@bo.omar72\n@bandarjumaa\n\n\n#الكابتن_أحمد #الخيل #الفارس", "الفروسية في الكويت | بودكاست كابتن أحمد", 29, false, "lPrJOeilFm8", "https://www.youtube.com/shorts/lPrJOeilFm8", "/downloads/shorts/بودكاست كابتن أحمد/بودكاست كابتن أحمد - 2025-07-28 - [lPrJOeilFm8].mp4", true, 415, ~U[2025-07-28 12:51:04Z]] 12:55:04.943 [debug] QUERY OK source="sources" db=0.3ms 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" FROM "sources" AS s0 WHERE (s0."id" = ?) [415] 12:55:04.943 [debug] QUERY OK source="media_items" db=0.3ms idle=2.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-04-23 10:00:54Z], 415] 12:55:04.945 [debug] QUERY OK source="media_items" db=0.9ms idle=2.8ms 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" ["\u200E🔹متى أول مرة دخلت فيها الكويت؟\n\u200E🎙️ الآن حلقة جديدة مع ضيف الحلقة الحاج كمال مندي | مربي خيل عربي\n\u200E 🎯 يمكنكم الآن مشاهدة الحلقة كاملة على بودكاست كابتن أحمد\n@7upstables \n@bo.omar72 \n@waled_mondy \n\n\u200E#الكابتن_أحمد #الخيل #الفارس", "متى أول مرة دخلت فيها الكويت؟ | #بودكاست_كابتن_أحمد", "ef6d3a95-e6fe-4726-8d76-e52e808873ca", 50, false, "YumaPrnx31s", "https://www.youtube.com/shorts/YumaPrnx31s", 13, "/downloads/shorts/بودكاست كابتن أحمد/بودكاست كابتن أحمد - 2025-04-23 - [YumaPrnx31s].mp4", false, false, true, 415, [], 98, ~U[2025-04-23 10:00:54Z], ~U[2026-04-15 12:55:04Z], ~U[2026-04-15 12:55:04Z], "\u200E🔹متى أول مرة دخلت فيها الكويت؟\n\u200E🎙️ الآن حلقة جديدة مع ضيف الحلقة الحاج كمال مندي | مربي خيل عربي\n\u200E 🎯 يمكنكم الآن مشاهدة الحلقة كاملة على بودكاست كابتن أحمد\n@7upstables \n@bo.omar72 \n@waled_mondy \n\n\u200E#الكابتن_أحمد #الخيل #الفارس", "متى أول مرة دخلت فيها الكويت؟ | #بودكاست_كابتن_أحمد", 50, false, "YumaPrnx31s", "https://www.youtube.com/shorts/YumaPrnx31s", "/downloads/shorts/بودكاست كابتن أحمد/بودكاست كابتن أحمد - 2025-04-23 - [YumaPrnx31s].mp4", true, 415, ~U[2025-04-23 10:00:54Z]] 12:55:04.945 [debug] QUERY OK source="sources" db=0.3ms 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" = ?) [415] 12:55:04.946 [debug] QUERY OK source="media_items" db=0.6ms idle=3.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-04-21 10:00:59Z], 415] 12:55:04.947 [debug] QUERY OK source="media_items" db=0.9ms idle=3.2ms 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" ["\u200E🔹الخيل والسياحة\n\u200E🎙️ الآن حلقة جديدة مع ضيف الحلقة الحاج كمال مندي | مربي خيل عربي\n\u200E 🎯 يمكنكم الآن مشاهدة الحلقة كاملة على بودكاست كابتن أحمد\n@7upstables \n@bo.omar72 \n@waled_mondy \n\n\u200E#الكابتن_أحمد #الخيل #الفارس", "الخيل والسياحة | #بودكاست_كابتن_أحمد", "bb2f138c-d316-4a2c-b85f-7f24bb6e82e4", 63, false, "ewYSb_lju18", "https://www.youtube.com/shorts/ewYSb_lju18", 14, "/downloads/shorts/بودكاست كابتن أحمد/بودكاست كابتن أحمد - 2025-04-21 - [ewYSb_lju18].mp4", false, false, true, 415, [], 98, ~U[2025-04-21 10:00:59Z], ~U[2026-04-15 12:55:04Z], ~U[2026-04-15 12:55:04Z], "\u200E🔹الخيل والسياحة\n\u200E🎙️ الآن حلقة جديدة مع ضيف الحلقة الحاج كمال مندي | مربي خيل عربي\n\u200E 🎯 يمكنكم الآن مشاهدة الحلقة كاملة على بودكاست كابتن أحمد\n@7upstables \n@bo.omar72 \n@waled_mondy \n\n\u200E#الكابتن_أحمد #الخيل #الفارس", "الخيل والسياحة | #بودكاست_كابتن_أحمد", 63, false, "ewYSb_lju18", "https://www.youtube.com/shorts/ewYSb_lju18", "/downloads/shorts/بودكاست كابتن أحمد/بودكاست كابتن أحمد - 2025-04-21 - [ewYSb_lju18].mp4", true, 415, ~U[2025-04-21 10:00:59Z]] 12:55:04.948 [debug] QUERY OK source="sources" db=0.3ms 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" = ?) [415] 12:55:04.948 [debug] QUERY OK source="media_items" db=0.5ms idle=3.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-04-19 10:00:05Z], 415] 12:55:04.951 [debug] QUERY OK source="media_items" db=2.8ms idle=3.4ms 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" ["\u200E🔹مارثون الشهيد\n\u200E🎙️ الآن حلقة جديدة مع ضيف الحلقة الحاج كمال مندي | مربي خيل عربي\n\u200E 🎯 يمكنكم الآن مشاهدة الحلقة كاملة على بودكاست كابتن أحمد\n@7upstables \n@bo.omar72 \n@waled_mondy \n\u200E#الكابتن_أحمد #الخيل #الفارس", "مارثون الشهيد | #بودكاست_كابتن_أحمد", "3a251e9c-76ce-45a9-9f8e-39c92aa36304", 52, false, "ah4vAG8sEdQ", "https://www.youtube.com/shorts/ah4vAG8sEdQ", 15, "/downloads/shorts/بودكاست كابتن أحمد/بودكاست كابتن أحمد - 2025-04-19 - [ah4vAG8sEdQ].mp4", false, false, true, 415, [], 98, ~U[2025-04-19 10:00:05Z], ~U[2026-04-15 12:55:04Z], ~U[2026-04-15 12:55:04Z], "\u200E🔹مارثون الشهيد\n\u200E🎙️ الآن حلقة جديدة مع ضيف الحلقة الحاج كمال مندي | مربي خيل عربي\n\u200E 🎯 يمكنكم الآن مشاهدة الحلقة كاملة على بودكاست كابتن أحمد\n@7upstables \n@bo.omar72 \n@waled_mondy \n\u200E#الكابتن_أحمد #الخيل #الفارس", "مارثون الشهيد | #بودكاست_كابتن_أحمد", 52, false, "ah4vAG8sEdQ", "https://www.youtube.com/shorts/ah4vAG8sEdQ", "/downloads/shorts/بودكاست كابتن أحمد/بودكاست كابتن أحمد - 2025-04-19 - [ah4vAG8sEdQ].mp4", true, 415, ~U[2025-04-19 10:00:05Z]] 12:55:04.952 [debug] QUERY OK source="sources" db=0.3ms idle=5.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [415] 12:55:04.953 [debug] QUERY OK source="media_items" db=0.6ms idle=5.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-04-17 10:00:49Z], 415] 12:55:04.954 [debug] QUERY OK source="media_items" db=0.9ms idle=5.2ms 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" ["\u200E🔹الخيل المصري الأصيل\n\u200E🎙️ الآن حلقة جديدة مع ضيف الحلقة الحاج كمال مندي | مربي خيل عربي\n\u200E 🎯 يمكنكم الآن مشاهدة الحلقة كاملة على بودكاست كابتن أحمد\n@7upstables \n@bo.omar72 \n@waled_mondy \n\u200E#الكابتن_أحمد #الخيل #الفارس", "الخيل المصري الأصيل | #بودكاست_كابتن_أحمد", "38db4643-07a9-4ffc-b7b1-923fa7b97576", 42, false, "X7tzl-8_ZGQ", "https://www.youtube.com/shorts/X7tzl-8_ZGQ", 16, "/downloads/shorts/بودكاست كابتن أحمد/بودكاست كابتن أحمد - 2025-04-17 - [X7tzl-8_ZGQ].mp4", false, false, true, 415, [], 98, ~U[2025-04-17 10:00:49Z], ~U[2026-04-15 12:55:04Z], ~U[2026-04-15 12:55:04Z], "\u200E🔹الخيل المصري الأصيل\n\u200E🎙️ الآن حلقة جديدة مع ضيف الحلقة الحاج كمال مندي | مربي خيل عربي\n\u200E 🎯 يمكنكم الآن مشاهدة الحلقة كاملة على بودكاست كابتن أحمد\n@7upstables \n@bo.omar72 \n@waled_mondy \n\u200E#الكابتن_أحمد #الخيل #الفارس", "الخيل المصري الأصيل | #بودكاست_كابتن_أحمد", 42, false, "X7tzl-8_ZGQ", "https://www.youtube.com/shorts/X7tzl-8_ZGQ", "/downloads/shorts/بودكاست كابتن أحمد/بودكاست كابتن أحمد - 2025-04-17 - [X7tzl-8_ZGQ].mp4", true, 415, ~U[2025-04-17 10:00:49Z]] 12:55:04.955 [debug] QUERY OK source="sources" db=0.3ms idle=5.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [415] 12:55:04.955 [debug] QUERY OK source="media_items" db=0.5ms idle=3.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-04-15 10:00:10Z], 415] 12:55:04.957 [debug] QUERY OK source="media_items" db=0.9ms idle=3.4ms 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" ["\u200E🔹الفروسية والتجارة والسمعة الطيبة\n\u200E🎙️ الآن حلقة جديدة مع ضيف الحلقة الحاج كمال مندي | مربي خيل عربي\n\u200E 🎯 يمكنكم الآن مشاهدة الحلقة كاملة على بودكاست كابتن أحمد\n@7upstables \n@bo.omar72 \n@waled_mondy \n\u200E#الكابتن_أحمد #الخيل #الفارس", "الفروسية والتجارة والسمعة الطيبة | #بودكاست_كابتن_أحمد", "cc9239bf-3454-4014-8144-418fc430b298", 67, false, "40exdolV3mo", "https://www.youtube.com/shorts/40exdolV3mo", 17, "/downloads/shorts/بودكاست كابتن أحمد/بودكاست كابتن أحمد - 2025-04-15 - [40exdolV3mo].mp4", false, false, true, 415, [], 98, ~U[2025-04-15 10:00:10Z], ~U[2026-04-15 12:55:04Z], ~U[2026-04-15 12:55:04Z], "\u200E🔹الفروسية والتجارة والسمعة الطيبة\n\u200E🎙️ الآن حلقة جديدة مع ضيف الحلقة الحاج كمال مندي | مربي خيل عربي\n\u200E 🎯 يمكنكم الآن مشاهدة الحلقة كاملة على بودكاست كابتن أحمد\n@7upstables \n@bo.omar72 \n@waled_mondy \n\u200E#الكابتن_أحمد #الخيل #الفارس", "الفروسية والتجارة والسمعة الطيبة | #بودكاست_كابتن_أحمد", 67, false, "40exdolV3mo", "https://www.youtube.com/shorts/40exdolV3mo", "/downloads/shorts/بودكاست كابتن أحمد/بودكاست كابتن أحمد - 2025-04-15 - [40exdolV3mo].mp4", true, 415, ~U[2025-04-15 10:00:10Z]] 12:55:04.957 [debug] QUERY OK source="sources" db=0.3ms 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" = ?) [415] 12:55:04.958 [debug] QUERY OK source="media_items" db=0.6ms idle=3.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-04-13 10:00:22Z], 415] 12:55:04.959 [debug] QUERY OK source="media_items" db=0.9ms idle=3.4ms 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" ["\u200E🔹الختم والهيئة الزراعية\n\u200E🎙️ الآن حلقة جديدة مع ضيف الحلقة الحاج كمال مندي | مربي خيل عربي\n\u200E 🎯 يمكنكم الآن مشاهدة الحلقة كاملة على بودكاست كابتن أحمد\n@7upstables \n@bo.omar72 \n@waled_mondy \n\u200E#الكابتن_أحمد #الخيل #الفارس", "الختم والهيئة الزراعية | #بودكاست_كابتن_أحمد", "337e6ba2-afea-451d-86c4-4e5d8ca65430", 53, false, "HkCcaiWKEzA", "https://www.youtube.com/shorts/HkCcaiWKEzA", 18, "/downloads/shorts/بودكاست كابتن أحمد/بودكاست كابتن أحمد - 2025-04-13 - [HkCcaiWKEzA].mp4", false, false, true, 415, [], 98, ~U[2025-04-13 10:00:22Z], ~U[2026-04-15 12:55:04Z], ~U[2026-04-15 12:55:04Z], "\u200E🔹الختم والهيئة الزراعية\n\u200E🎙️ الآن حلقة جديدة مع ضيف الحلقة الحاج كمال مندي | مربي خيل عربي\n\u200E 🎯 يمكنكم الآن مشاهدة الحلقة كاملة على بودكاست كابتن أحمد\n@7upstables \n@bo.omar72 \n@waled_mondy \n\u200E#الكابتن_أحمد #الخيل #الفارس", "الختم والهيئة الزراعية | #بودكاست_كابتن_أحمد", 53, false, "HkCcaiWKEzA", "https://www.youtube.com/shorts/HkCcaiWKEzA", "/downloads/shorts/بودكاست كابتن أحمد/بودكاست كابتن أحمد - 2025-04-13 - [HkCcaiWKEzA].mp4", true, 415, ~U[2025-04-13 10:00:22Z]] 12:55:04.960 [debug] QUERY OK source="sources" db=0.3ms 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" = ?) [415] 12:55:04.960 [debug] QUERY OK source="media_items" db=0.5ms idle=3.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-04-11 10:00:40Z], 415] 12:55:04.962 [debug] QUERY OK source="media_items" db=0.9ms idle=3.4ms 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" ["\u200E🔹الخيل والتأمين\n\u200E🎙️ الآن حلقة جديدة مع ضيف الحلقة الحاج كمال مندي | مربي خيل عربي\n\u200E 🎯 يمكنكم الآن مشاهدة الحلقة كاملة على بودكاست كابتن أحمد\n@7upstables \n@bo.omar72 \n@waled_mondy \n\u200E#الكابتن_أحمد #الخيل #الفارس", "الخيل والتأمين | #بودكاست_كابتن_أحمد", "078ebe55-b33b-4a12-847e-27ae6ab615bf", 84, false, "POmpPUiQsSM", "https://www.youtube.com/shorts/POmpPUiQsSM", 19, "/downloads/shorts/بودكاست كابتن أحمد/بودكاست كابتن أحمد - 2025-04-11 - [POmpPUiQsSM].mp4", false, false, true, 415, [], 98, ~U[2025-04-11 10:00:40Z], ~U[2026-04-15 12:55:04Z], ~U[2026-04-15 12:55:04Z], "\u200E🔹الخيل والتأمين\n\u200E🎙️ الآن حلقة جديدة مع ضيف الحلقة الحاج كمال مندي | مربي خيل عربي\n\u200E 🎯 يمكنكم الآن مشاهدة الحلقة كاملة على بودكاست كابتن أحمد\n@7upstables \n@bo.omar72 \n@waled_mondy \n\u200E#الكابتن_أحمد #الخيل #الفارس", "الخيل والتأمين | #بودكاست_كابتن_أحمد", 84, false, "POmpPUiQsSM", "https://www.youtube.com/shorts/POmpPUiQsSM", "/downloads/shorts/بودكاست كابتن أحمد/بودكاست كابتن أحمد - 2025-04-11 - [POmpPUiQsSM].mp4", true, 415, ~U[2025-04-11 10:00:40Z]] 12:55:04.962 [debug] QUERY OK source="sources" db=0.3ms 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" = ?) [415] 12:55:04.963 [debug] QUERY OK source="media_items" db=0.5ms idle=3.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-04-09 10:00:49Z], 415] 12:55:04.964 [debug] QUERY OK source="media_items" db=0.8ms idle=3.3ms 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" ["\u200E🔹أول من رفع علم الكويت في بطولة العالم\n\u200E🎙️ الآن حلقة جديدة مع ضيف الحلقة الحاج كمال مندي | مربي خيل عربي\n\u200E 🎯 يمكنكم الآن مشاهدة الحلقة كاملة على بودكاست كابتن أحمد\n@7upstables \n@bo.omar72 \n@waled_mondy \n\u200E#الكابتن_أحمد #الخيل #الفارس", "أول من رفع علم الكويت في بطولة العالم | #بودكاست_كابتن_أحمد", "6349954b-b596-4cc1-953c-b385e9a3213c", 66, false, "Vr0w187krs4", "https://www.youtube.com/shorts/Vr0w187krs4", 20, "/downloads/shorts/بودكاست كابتن أحمد/بودكاست كابتن أحمد - 2025-04-09 - [Vr0w187krs4].mp4", false, false, true, 415, [], 98, ~U[2025-04-09 10:00:49Z], ~U[2026-04-15 12:55:04Z], ~U[2026-04-15 12:55:04Z], "\u200E🔹أول من رفع علم الكويت في بطولة العالم\n\u200E🎙️ الآن حلقة جديدة مع ضيف الحلقة الحاج كمال مندي | مربي خيل عربي\n\u200E 🎯 يمكنكم الآن مشاهدة الحلقة كاملة على بودكاست كابتن أحمد\n@7upstables \n@bo.omar72 \n@waled_mondy \n\u200E#الكابتن_أحمد #الخيل #الفارس", "أول من رفع علم الكويت في بطولة العالم | #بودكاست_كابتن_أحمد", 66, false, "Vr0w187krs4", "https://www.youtube.com/shorts/Vr0w187krs4", "/downloads/shorts/بودكاست كابتن أحمد/بودكاست كابتن أحمد - 2025-04-09 - [Vr0w187krs4].mp4", true, 415, ~U[2025-04-09 10:00:49Z]] 12:55:04.965 [debug] QUERY OK source="sources" db=0.2ms idle=3.8ms UPDATE "sources" SET "last_indexed_at" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-04-15 12:55:04Z], ~U[2026-04-15 12:55:04Z], 415] 12:55:04.965 [debug] QUERY OK source="media_items" db=0.7ms idle=3.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")))) [415] 12:55:04.966 [debug] QUERY OK source="media_items" db=0.6ms idle=3.6ms SELECT count(*) FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [415] 12:55:04.967 [debug] QUERY OK source="media_items" db=0.2ms idle=3.7ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [415] 12:55:04.970 [debug] QUERY OK source="tasks" db=0.3ms idle=3.7ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2192009, 415, ~U[2026-04-15 12:55:04Z], ~U[2026-04-15 12:55:04Z]] 12:55:04.970 [info] {"args":{"id":415},"id":2187115,"meta":{},"state":"success","max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","duration":330668204,"event":"job:stop","queue_time":716389,"attempt":1,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 12:55:05.702 [debug] Current batch of media processed. Will check again in 1000ms 12:55:06.703 [debug] Current batch of media processed. Will check again in 1000ms 12:55:07.704 [debug] Current batch of media processed. Will check again in 1000ms 12:55:08.705 [debug] Current batch of media processed. Will check again in 1000ms 12:55:09.706 [debug] Current batch of media processed. Will check again in 1000ms 12:55:10.707 [debug] Current batch of media processed. Will check again in 1000ms 12:55:11.708 [debug] Current batch of media processed. Will check again in 1000ms 12:55:12.109 [info] {"source":"oban","duration":17810,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:55:12.709 [debug] Current batch of media processed. Will check again in 1000ms 12:55:13.196 [info] GET /sources/510/media/4342547 12:55:13.196 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "4342547", "prevent_download" => "true", "source_id" => "510"} Pipelines: [:browser] 12:55:13.197 [debug] QUERY OK source="media_items" db=0.2ms idle=1186.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" = ?) [4342547] 12:55:13.197 [debug] QUERY OK source="tasks" db=0.1ms idle=1187.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" [4342547] 12:55:13.197 [debug] QUERY OK source="sources" db=0.3ms idle=1187.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" = ?) [510] 12:55:13.198 [debug] QUERY OK source="settings" db=0.1ms idle=1089.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:55:13.198 [debug] QUERY OK source="settings" db=0.1ms idle=492.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:55:13.199 [debug] QUERY OK source="settings" db=0.1ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:55:13.200 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 12:55:13.201 [info] Sent 200 in 5ms 12:55:13.710 [debug] Current batch of media processed. Will check again in 1000ms 12:55:14.711 [debug] Current batch of media processed. Will check again in 1000ms 12:55:15.712 [debug] Current batch of media processed. Will check again in 1000ms 12:55:16.713 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "", "duration" => 47, "filename" => "/downloads/shorts/Mohammed Alnhet/Mohammed Alnhet - 2024-12-01 - [C1qjbJInMUs].mp4", "id" => "C1qjbJInMUs", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/C1qjbJInMUs", "playlist_index" => 17, "timestamp" => 1733045835, "title" => "تمرين مهم تسويه بعد كل صلاة | #بودكاست باكورة", "upload_date" => "20241201"} 12:55:16.713 [debug] QUERY OK source="sources" db=0.1ms idle=1703.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" IN (?)) [304] 12:55:16.714 [debug] QUERY OK source="sources" db=0.1ms idle=1703.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" = ?) [304] 12:55:16.714 [debug] QUERY OK source="media_items" db=0.3ms idle=1704.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-12-01 09:37:15Z], 304] 12:55:16.715 [debug] QUERY OK source="media_items" db=0.6ms idle=1006.0ms INSERT INTO "media_items" AS m0 ("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) 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" ["تمرين مهم تسويه بعد كل صلاة | #بودكاست باكورة", "ee9c550f-5a83-4e41-971b-bcdfabdd7a43", 47, false, "C1qjbJInMUs", "https://www.youtube.com/shorts/C1qjbJInMUs", 17, "/downloads/shorts/Mohammed Alnhet/Mohammed Alnhet - 2024-12-01 - [C1qjbJInMUs].mp4", false, false, true, 304, [], 98, ~U[2024-12-01 09:37:15Z], ~U[2026-04-15 12:55:16Z], ~U[2026-04-15 12:55:16Z], "", "تمرين مهم تسويه بعد كل صلاة | #بودكاست باكورة", 47, false, "C1qjbJInMUs", "https://www.youtube.com/shorts/C1qjbJInMUs", "/downloads/shorts/Mohammed Alnhet/Mohammed Alnhet - 2024-12-01 - [C1qjbJInMUs].mp4", true, 304, ~U[2024-12-01 09:37:15Z]] 12:55:16.716 [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" = ?) [304] 12:55:16.716 [debug] Current batch of media processed. Will check again in 1000ms 12:55:17.717 [debug] Current batch of media processed. Will check again in 1000ms 12:55:17.718 [info] {"args":{"id":96},"id":2191974,"meta":{},"system_time":1776257717718327509,"max_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:55:17.718 [info] {"args":{"id":98},"id":2191975,"meta":{},"system_time":1776257717718390487,"max_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:55:17.719 [debug] QUERY OK source="sources" db=0.4ms idle=1003.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" = ?) [98] 12:55:17.719 [debug] QUERY OK source="settings" db=0.3ms idle=1003.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:55:17.720 [debug] QUERY OK source="sources" db=1.4ms idle=1002.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" = ?) [96] 12:55:17.720 [debug] QUERY OK source="media_profiles" db=0.4ms idle=8.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 12:55:17.720 [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 [] 12:55:17.720 [debug] QUERY OK source="settings" db=0.2ms 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 [] 12:55:17.720 [debug] Fetching recent media IDs from YouTube API for playlist: UUAZb4c10tPnyyAPhEo-vS1w 12:55:17.721 [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" = ?) [2] 12:55:17.721 [debug] QUERY OK source="settings" db=0.1ms queue=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 [] 12:55:17.721 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 12:55:17.721 [debug] QUERY OK source="settings" db=0.4ms 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 [] 12:55:17.721 [debug] Fetching recent media IDs from YouTube API for playlist: UUKlJwuBeBliMD0OS9AN1LqA 12:55:17.722 [debug] QUERY OK source="settings" db=0.1ms idle=1.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:55:17.722 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 12:55:18.016 [debug] QUERY OK source="media_items" db=1.0ms idle=294.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [98, "Ev9FN-nBkho", "G85Ah7FqgJw", "NMWezFTpuyA", "wpwVJMVDreg", "katvUb1-VtA", "j8v0Ci3CyCM", "39M5ZIuq5R0", "aezweDUgIYI", "o7yt-kZE8Ns", "ryQ2XQL7DM8", "yRENM57s7pk", "s1QGX8WMUIA", "JoMya8mFvqw", "Kl9b5jHoi0g", "MPstTZo5ZTI", "ufjD8yVfMyM", "hkPoP9qiNFc", "uJR-FImplgI", "AJMdBafruQQ", "_3YV1GNd8YM", "48-62pf9pVU", "TSCWJLqr7ts", "yXu61yOXpSE", "BEPkOy3AM9A", "-A3XI4Nev-I", "pWqiicpnZbs", "CjnYvDUygjA", "enO_DLOpBXk", "8-cvEj2h9Jw", "BRoLiutnbv0", "rFTGwrEkzcg", "KQaz_l3M1Zk", "zgLl_BLdBUU", "jcLjRB0wu2M", "bZj0l4Omo6Y", "bf-6IUrtFb4", "ICRJYx5e50Q", "AnEHzdsKX1I", "6yAcLo_1ez0", "kVAVTj64ZYI", "C0JE-lBoYig", "PyoZ_hdaI_E", "rHX8xNJAqgs", "CYFSuOfgFCs", "GPgPJrBC2Ss", "Jn7VbYmvfrc", "utK0QZwBRSw", "s6gLJF7hR6o", "9Awsk83VIIY", ...] 12:55:18.017 [debug] QUERY OK source="media_items" db=0.6ms 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 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [98] 12:55:18.019 [debug] QUERY OK source="tasks" db=0.3ms idle=297.3ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2192010, 98, ~U[2026-04-15 12:55:18Z], ~U[2026-04-15 12:55:18Z]] 12:55:18.020 [info] {"args":{"id":98},"id":2191975,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":301552,"event":"job:stop","queue_time":136665,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:55:18.268 [debug] QUERY OK source="media_items" db=1.3ms idle=248.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [96, "lgi0gk0izVw", "iwGrG2LwuUU", "x62omneLjUQ", "7ZLylxGWhc8", "2JYaUJayC7M", "8MhWFLNJLcI", "z6uHcqDrdOU", "Cm-5wl2sGAk", "3mYv9NAhrwI", "_zGarVwlhrI", "UenlD8RnRzw", "k8GdyHR_PKI", "ph3d_UDtJmg", "sk3EIXCnj2Y", "gaPNo4hjpOA", "MfBOjMSaUlQ", "4kFWFkA5tzQ", "v4P3-qv5apE", "6sXolxcGHV8", "L0oqBbEp4Do", "eHOMLS47yRg", "fixM4HJ_t0c", "Z49bpbSmeqo", "lFk09LRAqoE", "UCFgrFMnq-M", "mX-ZHvm0EqQ", "6BeHK2sBAsU", "nVxb_6-i4vo", "5AWb3uGaGnM", "U6_uygrlXLQ", "hH-kmDMUdbM", "bECZSbJSUN4", "4NLmKeucGeQ", "So1_9zobHfI", "Q0dEwIee2QU", "owVM8htcVMY", "KdPcD4V4wwI", "ZiNb8EywGWk", "_sDNcewGKdA", "C1T0dqbQ8wY", "aOJPNjwzVoM", "ZnJE8cWMlek", "bLKHwG-zIBA", "gI5W6288Nqg", "PvlO47XZj74", "Sh9pKvCsBaw", "dGqaASnOllk", "J4aKYDp7efI", "V1hn7k2amaQ", ...] 12:55:18.283 [debug] QUERY OK source="media_items" db=13.5ms idle=250.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")))) [96] 12:55:18.285 [debug] QUERY OK source="tasks" db=0.3ms idle=258.2ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2192011, 96, ~U[2026-04-15 12:55:18Z], ~U[2026-04-15 12:55:18Z]] 12:55:18.286 [info] {"args":{"id":96},"id":2191974,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":567350,"event":"job:stop","queue_time":477222,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:55:18.718 [debug] Current batch of media processed. Will check again in 1000ms 12:55:19.719 [debug] Current batch of media processed. Will check again in 1000ms 12:55:20.720 [debug] Current batch of media processed. Will check again in 1000ms 12:55:21.721 [debug] Current batch of media processed. Will check again in 1000ms 12:55:22.722 [debug] Current batch of media processed. Will check again in 1000ms 12:55:23.723 [debug] Current batch of media processed. Will check again in 1000ms 12:55:24.724 [debug] Current batch of media processed. Will check again in 1000ms 12:55:25.725 [debug] Current batch of media processed. Will check again in 1000ms 12:55:26.726 [debug] Current batch of media processed. Will check again in 1000ms 12:55:27.727 [debug] Current batch of media processed. Will check again in 1000ms 12:55:28.728 [debug] Current batch of media processed. Will check again in 1000ms 12:55:29.729 [debug] Current batch of media processed. Will check again in 1000ms 12:55:30.730 [debug] Current batch of media processed. Will check again in 1000ms 12:55:30.733 [info] {"args":{"id":179},"id":2191976,"meta":{},"system_time":1776257730733120782,"max_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:55:30.733 [debug] QUERY OK source="sources" db=0.2ms idle=723.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" = ?) [179] 12:55:30.734 [debug] QUERY OK source="settings" db=0.2ms idle=723.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:55:30.734 [debug] QUERY OK source="media_profiles" db=0.3ms idle=724.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" = ?) [2] 12:55:30.735 [debug] QUERY OK source="settings" db=0.2ms idle=8.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:55:30.735 [debug] Fetching recent media IDs from YouTube API for playlist: UUqyUIejEzM0o-weuEpnDi3Q 12:55:30.735 [debug] QUERY OK source="settings" db=0.1ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:55:30.735 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 12:55:31.251 [debug] QUERY OK source="media_items" db=1.3ms idle=516.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [179, "pKXdilyXxAI", "GlncALbDrw8", "zf1ggra0IvY", "a6h5d-tGm6c", "uX6xwAMoZZo", "35efgolAJnQ", "6Y7p1LFvufE", "dO5F9yWjbpc", "41s3cMSb7j8", "zGinpJX6IK8", "GpwHRN69eck", "kK2cfv05DUo", "SBnnyouT6Jo", "gUIb3RFsZbM", "v-j7EdHnc2g", "Cs1y_qfIYP8", "uYzepecNaAw", "DgDtCp_z8Q0", "1TEhu1_Tv5U", "ezCec4ndn88", "x9dGduuEFHQ", "YYSe9GnVTF8", "0V6Snvm7WDM", "uml0Z4AZaK0", "5D_o1PuFNBU", "ZNkhOZYGWCo", "HnPtQuRuHjs", "fssPKb80GAk", "uCMuZv0LfQo", "wolCPbqmPKI", "P7hizGN3Qac", "oEjcEbXFr-0", "8ZJwuxwNEVY", "rFQGEqS1Jec", "JG-lowxduWk", "55cfeTeiBrU", "2H6XsOWSSCc", "mALFGAJ4Ank", "AWB5APi4yb8", "QO51is_uUwM", "AVbaqwT6wjA", "dDDhx5UY_bg", "7IGJcXIwM7c", "1286woUnTPg", "i3fhiv7KrnY", "hc5hbCiIt9E", "2nyFunyTN1Q", "9-l8VJK2Ivw", "1g1r_vTXaBE", ...] 12:55:31.255 [debug] QUERY OK source="media_items" db=2.2ms idle=518.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")))) [179] 12:55:31.259 [debug] QUERY OK source="tasks" db=0.2ms idle=2.5ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2192012, 179, ~U[2026-04-15 12:55:31Z], ~U[2026-04-15 12:55:31Z]] 12:55:31.259 [info] {"args":{"id":179},"id":2191976,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":526225,"event":"job:stop","queue_time":485169,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:55:31.731 [debug] Current batch of media processed. Will check again in 1000ms 12:55:32.732 [debug] Current batch of media processed. Will check again in 1000ms 12:55:33.733 [debug] Current batch of media processed. Will check again in 1000ms 12:55:34.734 [debug] Current batch of media processed. Will check again in 1000ms 12:55:35.735 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "", "duration" => 54, "filename" => "/downloads/shorts/Mohammed Alnhet/Mohammed Alnhet - 2024-11-24 - [4LYiSjM5rtA].mp4", "id" => "4LYiSjM5rtA", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/4LYiSjM5rtA", "playlist_index" => 18, "timestamp" => 1732448502, "title" => "أنت اكثر عرضة للأكتئاب ...😴", "upload_date" => "20241124"} 12:55:35.735 [debug] QUERY OK source="sources" db=0.1ms idle=725.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" IN (?)) [304] 12:55:35.736 [debug] QUERY OK source="sources" db=0.1ms idle=725.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" = ?) [304] 12:55:35.736 [debug] QUERY OK source="media_items" db=0.3ms idle=726.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-11-24 11:41:42Z], 304] 12:55:35.737 [debug] QUERY OK source="media_items" db=0.6ms idle=726.9ms INSERT INTO "media_items" AS m0 ("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) 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" ["أنت اكثر عرضة للأكتئاب ...😴", "ca0622ab-02c7-4109-9b08-f505b3f58f22", 54, false, "4LYiSjM5rtA", "https://www.youtube.com/shorts/4LYiSjM5rtA", 18, "/downloads/shorts/Mohammed Alnhet/Mohammed Alnhet - 2024-11-24 - [4LYiSjM5rtA].mp4", false, false, true, 304, [], 98, ~U[2024-11-24 11:41:42Z], ~U[2026-04-15 12:55:35Z], ~U[2026-04-15 12:55:35Z], "", "أنت اكثر عرضة للأكتئاب ...😴", 54, false, "4LYiSjM5rtA", "https://www.youtube.com/shorts/4LYiSjM5rtA", "/downloads/shorts/Mohammed Alnhet/Mohammed Alnhet - 2024-11-24 - [4LYiSjM5rtA].mp4", true, 304, ~U[2024-11-24 11:41:42Z]] 12:55:35.738 [debug] QUERY OK source="sources" db=0.3ms idle=5.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" = ?) [304] 12:55:35.738 [debug] Current batch of media processed. Will check again in 1000ms 12:55:36.739 [debug] Current batch of media processed. Will check again in 1000ms 12:55:37.740 [debug] Current batch of media processed. Will check again in 1000ms 12:55:38.741 [debug] Current batch of media processed. Will check again in 1000ms 12:55:39.742 [debug] Current batch of media processed. Will check again in 1000ms 12:55:39.743 [info] {"args":{"id":170},"id":2191977,"meta":{},"system_time":1776257739743677896,"max_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:55:39.744 [debug] QUERY OK source="sources" db=0.1ms idle=733.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" = ?) [170] 12:55:39.744 [debug] QUERY OK source="settings" db=0.1ms idle=734.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:55:39.744 [debug] QUERY OK source="media_profiles" db=0.1ms idle=734.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" = ?) [2] 12:55:39.745 [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 [] 12:55:39.745 [debug] Fetching recent media IDs from YouTube API for playlist: UUNdRu8acJfOSM5j3ybyp_8Q 12:55:39.745 [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 [] 12:55:39.745 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 12:55:40.073 [debug] QUERY OK source="media_items" db=1.2ms idle=328.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [170, "2dII7fUtUYg", "B-nIGwHbAVs", "-CEceffxGFA", "KIZWJA513Ao", "QneeftA53KU", "8CWL7ppNA3o", "cOxCyazeCJw", "0cWGCaFuguk", "6QMfibl-SnI", "jC5eSFR8OCs", "FVDqcFTBKVY", "bNp8eoSN4nA", "FNs2bjyYdtY", "wkMVgzvQNJk", "UcAzsfkB5qg", "zlKNqgl80nM", "NOPKBI0xLhs", "gk_TAIbLoiA", "J6xcM7Qz7UQ", "3H4TvwkjcPQ", "JID7hDNO1P0", "nhxhPipgkRA", "4znyT54MUOA", "XZqby1gGpqk", "JKvUsl_2Ow0", "1KtDgc7yWBo", "07JhQX49XVM", "WIL0xXuMeVs", "ZhZ69ws2rkw", "X7qsGLZmBQU", "2kSaPVi5IEI", "SGr5g0G00zc", "XZeXUHAyVRg", "nGe0RBK8UJE", "oU-MArspg04", "-1jFdB-QkLM", "EP0eS5Z6USo", "cZ6gjlY_KjU", "OmoT95T7a9E", "F0-EPZUydzw", "Ar-wbxmesW4", "I9nthd03SOA", "e2TH7alqLJE", "h6JxkZwuIUI", "cDlpEFf5RjY", "tpD9Yz67hBw", "mejuzJnmSMA", "2X--RidFiDg", "-xh8HQlKlog", ...] 12:55:40.077 [debug] QUERY OK source="media_items" db=2.1ms idle=330.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")))) [170] 12:55:40.079 [debug] QUERY OK source="tasks" db=0.2ms idle=333.3ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2192013, 170, ~U[2026-04-15 12:55:40Z], ~U[2026-04-15 12:55:40Z]] 12:55:40.079 [info] {"args":{"id":170},"id":2191977,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":335508,"event":"job:stop","queue_time":358643,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:55:40.743 [debug] Current batch of media processed. Will check again in 1000ms 12:55:40.746 [info] {"args":{"id":187},"id":2191978,"meta":{},"system_time":1776257740746254740,"max_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:55:40.746 [debug] QUERY OK source="sources" db=0.3ms idle=667.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" = ?) [187] 12:55:40.747 [debug] QUERY OK source="settings" db=0.2ms idle=667.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:55:40.747 [debug] QUERY OK source="media_profiles" db=0.2ms idle=661.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" = ?) [2] 12:55:40.748 [debug] QUERY OK source="settings" db=0.2ms idle=8.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:55:40.748 [debug] Fetching recent media IDs from YouTube API for playlist: UUigbBPzo9jjMgdG_CcnzJhQ 12:55:40.748 [debug] QUERY OK source="settings" db=0.1ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:55:40.748 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 12:55:41.014 [debug] QUERY OK source="media_items" db=1.3ms idle=265.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [187, "GWvaTlVbPNs", "84qfh3sRUAM", "ZlQo0Wg0kXE", "0ItF-y4uWew", "kyLG-9ClFFQ", "9Ci4G3TKIlw", "Ah2q5T91oBg", "G1SE0NM-Tbg", "cXLEVcF0DIU", "b5XQ9YhBNJg", "9_mnZd-1qAU", "yE3KKPh9vAk", "VQHaBfC_nWM", "hySWP5Xgqt0", "JlzRUtS79yc", "4Yup64cv6PU", "KDP--RC8T7c", "OlUBw4nrNvk", "kkTQeftsc1c", "jxsIjZJ3P3s", "CtK09-qlSxs", "pf9Rs02F65k", "rg5D_0SVYFs", "kl5PxYGHuTU", "eK4-7gVRdew", "j3ufeFuHN6Q", "fiVtSvdBv-8", "tN32kgkT0a4", "qkIvBGnVwSo", "UDsmYWUHvUE", "VegutkNwCEc", "H2LypidNEJk", "Rwfrdq2bCMc", "ueJbWMXwBKA", "cgJq4MyGTNY", "FBXo_CjG-5o", "0Xesauk55io", "pkb7MavLwuI", "RR5IHrnvHQE", "zHzrDgTVgmc", "2avyAUueWYE", "0WAVmj-UtIM", "VM5JWhfmf8c", "BGk1eSr6IUE", "T-oT349yB0U", "fB4Ex_Hw0pk", "CV2GjlGSxz4", "zPHZ2dRA7cg", "8Z3929e1YW4", ...] 12:55:41.016 [debug] QUERY OK source="media_items" db=1.2ms idle=268.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")))) [187] 12:55:41.018 [debug] QUERY OK source="tasks" db=0.3ms idle=269.4ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2192014, 187, ~U[2026-04-15 12:55:41Z], ~U[2026-04-15 12:55:41Z]] 12:55:41.019 [info] {"args":{"id":187},"id":2191978,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":272334,"event":"job:stop","queue_time":497899,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:55:41.744 [debug] Current batch of media processed. Will check again in 1000ms 12:55:41.748 [info] {"args":{"id":424},"id":2191979,"meta":{},"system_time":1776257741748056408,"max_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:55:41.748 [debug] QUERY OK source="sources" db=0.2ms idle=729.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" = ?) [424] 12:55:41.749 [debug] QUERY OK source="settings" db=0.2ms idle=729.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:55:41.749 [debug] QUERY OK source="media_profiles" db=0.2ms idle=723.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" = ?) [2] 12:55:41.749 [debug] QUERY OK source="settings" db=0.2ms idle=8.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:55:41.750 [debug] Fetching recent media IDs from YouTube API for playlist: UUduD22OSc9f98Fg4NuJHU3Q 12:55:41.750 [debug] QUERY OK source="settings" db=0.1ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:55:41.750 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 12:55:42.127 [info] {"source":"oban","duration":17759,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:55:42.191 [debug] QUERY OK source="media_items" db=1.2ms idle=440.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [424, "l-KXAJueeE4", "z6yloe8BVaU", "dZox-F9NY6Y", "Jzdco7kmG84", "PpT5cwX2J2k", "Wizm3xaYchc", "aGi5SNIySXE", "rO9X83U-9bE", "bpQK-NitpVg", "EMyelTKShBo", "c8_G0jFr5NQ", "aJCZzjOOv6g", "X7CxcWOcoUA", "_Urj9iKo5H4", "iXa5pmY_VCg", "gMWyJcoFnVY", "fz2LHk9pSdk", "Rs2ZZgrYK58", "L5Mjxge1yY0", "MpZ-VKedx7A", "zxIif2RJm38", "pf858AX4_U8", "MRMScf-DsO4", "0ftbeL6Y7qU", "qsiKWRrehzQ", "mkjwjTgdMmM", "Fo90Bdg8rNo", "aXG1UPQQofQ", "rTs81amP49Y", "fGSjULrPsx8", "toFpR-wyjfk", "9ElrpAc6_Bw", "l_mOZIne88k", "pHZAnjB8bws", "2m_Uh7xhQGo", "5h5ATFJs09U", "xgVOq6Bfn8A", "2grmoSe0Zrk", "kLWNObhY_tU", "JR2UuHcQH7w", "H_VB0gHAPMo", "tp5TYhBYYCg", "BZF41PXtYmU", "hVKtxCEwPvY", "9_a8vaqhvSY", "V4VJjvZQ_gY", "t4nG1fjFzng", "_ESHmhwSGro", "fhwAZIJtpCM", ...] 12:55:42.198 [debug] QUERY OK source="media_items" db=5.9ms idle=442.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")))) [424] 12:55:42.200 [debug] QUERY OK source="tasks" db=0.8ms idle=71.8ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2192015, 424, ~U[2026-04-15 12:55:42Z], ~U[2026-04-15 12:55:42Z]] 12:55:42.201 [info] {"args":{"id":424},"id":2191979,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":452800,"event":"job:stop","queue_time":324057,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:55:42.745 [debug] Current batch of media processed. Will check again in 1000ms 12:55:43.746 [debug] Current batch of media processed. Will check again in 1000ms 12:55:44.747 [debug] Current batch of media processed. Will check again in 1000ms 12:55:45.748 [debug] Current batch of media processed. Will check again in 1000ms 12:55:45.754 [info] {"args":{"id":402},"id":2191980,"meta":{},"system_time":1776257745754054393,"max_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:55:45.754 [debug] QUERY OK source="sources" db=0.2ms idle=1744.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" = ?) [402] 12:55:45.755 [debug] QUERY OK source="settings" db=0.2ms idle=1744.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:55:45.755 [debug] QUERY OK source="media_profiles" db=0.2ms idle=1009.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" = ?) [2] 12:55:45.755 [debug] QUERY OK source="settings" db=0.2ms idle=8.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:55:45.755 [debug] Fetching recent media IDs from YouTube API for playlist: UUv9CRhIdmLdRXwyqWLqT-1Q 12:55:45.756 [debug] QUERY OK source="settings" db=0.1ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:55:45.756 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 12:55:46.134 [debug] QUERY OK source="media_items" db=1.2ms idle=378.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [402, "3j4xjklMoo4", "gZqaauRhZhs", "JZsQt_4QXgI", "5loSCFTOEb4", "zaih20lw4bs", "SgGtBFbw1kI", "mcgcu1JuGao", "d2GSwD0Il-k", "LxOugY_w3q0", "QGf453DDz1g", "rdmAe2CIRcc", "cxorSoldV_k", "GYTHnZR2Id8", "rowYQBlqD-Y", "U7m925r48Jk", "Iz_79p_yVE0", "dVpdpoG9xZ8", "EW-EpQnW2rM", "Gu8aUxdMI18", "2kOrlz4Nw60", "KrLslSzReHE", "HCjDOBHpbuU", "yBoY59dq0o0", "l57SqLe4IjQ", "TtoNGT10GMQ", "CurEIX5egYY", "epLEnwmvneE", "wZmAnXwbbkM", "V4mfjEXo2jQ", "kvTUlZ4EtlM", "4DWJDctae_w", "bFIKDKTUjyU", "XXE0whBrOe8", "hb64fr-vXyM", "kBfJu4Lr9-g", "ahzLQawdLYU", "7Pw6MSgHz5A", "wZYqqWU3DoU", "E-ZcRNdvjoM", "JV_dskh0-ws", "koGDw3vHTKY", "JC3sGWRDdbs", "e5dO2XUalWY", "aDlVWlAjbV8", "Hq7-l88KNzY", "_GY3Or8ZgYY", "W354MKgc8AM", "X9MULCFLPyg", "psW2wmVYvDk", ...] 12:55:46.138 [debug] QUERY OK source="media_items" db=2.3ms idle=381.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")))) [402] 12:55:46.140 [debug] QUERY OK source="tasks" db=0.3ms idle=383.8ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2192016, 402, ~U[2026-04-15 12:55:46Z], ~U[2026-04-15 12:55:46Z]] 12:55:46.140 [info] {"args":{"id":402},"id":2191980,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":386474,"event":"job:stop","queue_time":235763,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:55:46.749 [debug] Current batch of media processed. Will check again in 1000ms 12:55:47.750 [debug] Current batch of media processed. Will check again in 1000ms 12:55:48.751 [debug] Current batch of media processed. Will check again in 1000ms 12:55:49.752 [debug] Current batch of media processed. Will check again in 1000ms 12:55:50.753 [debug] Current batch of media processed. Will check again in 1000ms 12:55:51.754 [debug] Current batch of media processed. Will check again in 1000ms 12:55:52.755 [debug] Current batch of media processed. Will check again in 1000ms 12:55:53.756 [debug] Current batch of media processed. Will check again in 1000ms 12:55:54.757 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "", "duration" => 49, "filename" => "/downloads/shorts/Mohammed Alnhet/Mohammed Alnhet - 2024-11-21 - [r10-9IVseYQ].mp4", "id" => "r10-9IVseYQ", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/r10-9IVseYQ", "playlist_index" => 19, "timestamp" => 1732195147, "title" => "اضرار الكوليسترول على القلب | بودكاست باكورة", "upload_date" => "20241121"} 12:55:54.758 [debug] QUERY OK source="sources" db=0.2ms idle=999.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" IN (?)) [304] 12:55:54.758 [debug] QUERY OK source="sources" db=0.2ms idle=748.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" = ?) [304] 12:55:54.759 [debug] QUERY OK source="media_items" db=0.6ms idle=748.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-11-21 13:19:07Z], 304] 12:55:54.760 [debug] QUERY OK source="media_items" db=0.7ms idle=749.5ms INSERT INTO "media_items" AS m0 ("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) 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" ["اضرار الكوليسترول على القلب | بودكاست باكورة", "b63923b6-7f9d-48c4-8f1a-66e45400bdeb", 49, false, "r10-9IVseYQ", "https://www.youtube.com/shorts/r10-9IVseYQ", 19, "/downloads/shorts/Mohammed Alnhet/Mohammed Alnhet - 2024-11-21 - [r10-9IVseYQ].mp4", false, false, true, 304, [], 98, ~U[2024-11-21 13:19:07Z], ~U[2026-04-15 12:55:54Z], ~U[2026-04-15 12:55:54Z], "", "اضرار الكوليسترول على القلب | بودكاست باكورة", 49, false, "r10-9IVseYQ", "https://www.youtube.com/shorts/r10-9IVseYQ", "/downloads/shorts/Mohammed Alnhet/Mohammed Alnhet - 2024-11-21 - [r10-9IVseYQ].mp4", true, 304, ~U[2024-11-21 13:19:07Z]] 12:55:54.761 [debug] QUERY OK source="sources" db=0.2ms 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" = ?) [304] 12:55:54.761 [debug] Current batch of media processed. Will check again in 1000ms 12:55:55.762 [debug] Current batch of media processed. Will check again in 1000ms 12:55:56.763 [debug] Current batch of media processed. Will check again in 1000ms 12:55:57.764 [debug] Current batch of media processed. Will check again in 1000ms 12:55:58.765 [debug] Current batch of media processed. Will check again in 1000ms 12:55:59.117 [info] GET /sources/352/media/3430874 12:55:59.118 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "3430874", "prevent_download" => "true", "source_id" => "352"} Pipelines: [:browser] 12:55:59.118 [debug] QUERY OK source="media_items" db=0.3ms idle=1108.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" = ?) [3430874] 12:55:59.119 [debug] QUERY OK source="tasks" db=0.1ms idle=1108.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" [3430874] 12:55:59.119 [debug] QUERY OK source="sources" db=0.3ms idle=1108.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" = ?) [352] 12:55:59.119 [debug] QUERY OK source="settings" db=0.0ms idle=1109.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:55:59.120 [debug] QUERY OK source="settings" db=0.1ms 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 [] 12:55:59.120 [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 [] 12:55:59.121 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 12:55:59.123 [info] Sent 200 in 5ms 12:55:59.766 [debug] Current batch of media processed. Will check again in 1000ms 12:56:00.767 [debug] Current batch of media processed. Will check again in 1000ms 12:56:00.832 [info] {"source":"oban","duration":165,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:56:01.768 [debug] Current batch of media processed. Will check again in 1000ms 12:56:02.769 [debug] Current batch of media processed. Will check again in 1000ms 12:56:03.770 [debug] Current batch of media processed. Will check again in 1000ms 12:56:04.771 [debug] Current batch of media processed. Will check again in 1000ms 12:56:04.780 [info] {"args":{"id":163},"id":2191981,"meta":{},"system_time":1776257764780283830,"max_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:56:04.781 [debug] QUERY OK source="sources" db=0.3ms idle=1770.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" = ?) [163] 12:56:04.781 [debug] QUERY OK source="settings" db=0.2ms idle=1009.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:56:04.781 [debug] QUERY OK source="media_profiles" db=0.2ms idle=771.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" = ?) [2] 12:56:04.782 [debug] QUERY OK source="settings" db=0.2ms 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 [] 12:56:04.782 [debug] Fetching recent media IDs from YouTube API for playlist: UU8vdjzu_0QMQlG9qNT5D_AQ 12:56:04.782 [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 [] 12:56:04.782 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 12:56:05.564 [debug] QUERY OK source="media_items" db=1.2ms idle=781.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [163, "AK_QSHnLvjQ", "qALXsYRF_cA", "smnHpsqBLms", "yqdOCd-jdeo", "jyUJuJhWHrs", "ZNHoFwAGFrc", "1srAVSvVOOw", "uk2FISKK7QQ", "2z-ztPJXjEU", "7L1pepENKXA", "Sv6q_F6r4DE", "mFS_V5zGaxs", "1PGqhUa4Bfg", "wbvPGTnY4Z0", "yBBSNz1Ymyo", "E6dquEKdz_M", "zD4_JqiQ7jw", "O_ynHoWd-ys", "ZkugEqFIqY4", "CfTmDWiVEqM", "iPb2DidxP48", "RFemTGJfb3Y", "_Tr7gM3Hzno", "UuvWpHA9eJ0", "0iDqCo9U78I", "b9HbLgu65cw", "2nwaI54hM2A", "2nFeIrPbzvo", "U3JjHuSfiog", "HRl29tSwTSI", "dNiviYe_iGc", "JLn7iuFdKL8", "zZRg322MXkE", "rvNKslgk6yQ", "lxVw40xOmNE", "Xw_9uYceyWo", "bD9_5xiDj8w", "jpfUutCaORQ", "nmxVTzLORDg", "7O9V1yRt15g", "n0oX65icbt4", "ry8AAFQwO-U", "1KPAD3URrFA", "ii1XRwxo04M", "jg0TYRxxYzQ", "8zv1MiJNXIk", "Z2jE4A-T2BU", "Zo9g-Mr4UXo", "qs7A7WPpjVU", ...] 12:56:05.573 [debug] QUERY OK source="media_items" db=7.9ms idle=784.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")))) [163] 12:56:05.576 [debug] QUERY OK source="tasks" db=0.3ms idle=11.7ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2192017, 163, ~U[2026-04-15 12:56:05Z], ~U[2026-04-15 12:56:05Z]] 12:56:05.577 [info] {"args":{"id":163},"id":2191981,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":796119,"event":"job:stop","queue_time":448578,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:56:05.772 [debug] Current batch of media processed. Will check again in 1000ms 12:56:06.773 [debug] Current batch of media processed. Will check again in 1000ms 12:56:07.774 [debug] Current batch of media processed. Will check again in 1000ms 12:56:08.775 [debug] Current batch of media processed. Will check again in 1000ms 12:56:09.776 [debug] Current batch of media processed. Will check again in 1000ms 12:56:10.777 [debug] Current batch of media processed. Will check again in 1000ms 12:56:11.778 [debug] Current batch of media processed. Will check again in 1000ms 12:56:12.147 [info] {"source":"oban","duration":17817,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:56:12.779 [debug] Current batch of media processed. Will check again in 1000ms 12:56:13.780 [debug] Current batch of media processed. Will check again in 1000ms 12:56:14.199 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@alnhet/shorts --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/shorts/Mohammed Alnhet/Mohammed Alnhet - %(upload_date>%Y-%m-%d)S - [%(id)S].%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --break-on-existing --download-archive /tmp/pinchflat/data/ac/5a/ac5ae3811cbf7671e1a3ab775d2fd0f05bb93ce63db85047621be08aaa31ff53.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/a3/1a/a31ab7bdd65bdfaac52822a6ca076e533d8c7ad6f29cde8a505d89c6d5bee60d.json --sleep-requests 5 --sleep-interval 5 --sleep-subtitles 4 --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 101 with: 12:56:14.200 [debug] Gracefully stopping file follower 12:56:14.201 [debug] QUERY OK source="sources" db=0.5ms idle=1190.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" IN (?)) [304] 12:56:14.202 [debug] QUERY OK source="sources" db=0.2ms idle=1191.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" = ?) [304] 12:56:14.202 [debug] QUERY OK source="media_items" db=0.3ms idle=1191.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-08-19 11:26:56Z], 304] 12:56:14.204 [debug] QUERY OK source="media_items" db=1.1ms idle=418.1ms 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" ["شكراً لك على مشاهدتك وتفاعلك دائماً واوعدك دائماً بالشيء الجميل والمفيد\n\nللتواصل والاعلانات على الايميل او الواتس اب\nalnhet.tv@gmail.com\n+966549045004\n\nاشترك في قناتي بالتلقرام\nhttps://t.me/alnhet\nتويتر\nhttps://twitter.com/M_Alnhet\nانستقرام\nhttps://www.instagram.com/m_alnhet/\nسناب شات\nhttps://www.snapchat.com/add/m_alnhet\nللتواصل على الايميل\nalnhet.tv@gmail.com", "خادمة روبوت !! | #بودكاست_باكورة", "e1190ce8-297a-43d0-b898-1797411fcf14", 59, false, "SYfnnzAY7iM", "https://www.youtube.com/shorts/SYfnnzAY7iM", 1, "/downloads/shorts/Mohammed Alnhet/Mohammed Alnhet - 2025-08-19 - [SYfnnzAY7iM].mp4", false, false, true, 304, [], 98, ~U[2025-08-19 11:26:56Z], ~U[2026-04-15 12:56:14Z], ~U[2026-04-15 12:56:14Z], "شكراً لك على مشاهدتك وتفاعلك دائماً واوعدك دائماً بالشيء الجميل والمفيد\n\nللتواصل والاعلانات على الايميل او الواتس اب\nalnhet.tv@gmail.com\n+966549045004\n\nاشترك في قناتي بالتلقرام\nhttps://t.me/alnhet\nتويتر\nhttps://twitter.com/M_Alnhet\nانستقرام\nhttps://www.instagram.com/m_alnhet/\nسناب شات\nhttps://www.snapchat.com/add/m_alnhet\nللتواصل على الايميل\nalnhet.tv@gmail.com", "خادمة روبوت !! | #بودكاست_باكورة", 59, false, "SYfnnzAY7iM", "https://www.youtube.com/shorts/SYfnnzAY7iM", "/downloads/shorts/Mohammed Alnhet/Mohammed Alnhet - 2025-08-19 - [SYfnnzAY7iM].mp4", true, 304, ~U[2025-08-19 11:26:56Z]] 12:56:14.204 [debug] QUERY OK source="sources" db=0.3ms idle=194.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" = ?) [304] 12:56:14.205 [debug] QUERY OK source="media_items" db=0.4ms idle=3.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-08-18 10:34:22Z], 304] 12:56:14.207 [debug] QUERY OK source="media_items" db=0.8ms idle=3.9ms INSERT INTO "media_items" AS m0 ("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) 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" ["كيف تقدر تتحكم في نفسك ؟ 🤔#الخطوة_القادمة", "1bc33ce5-3bc6-4833-a9f2-52c33dcb9da8", 58, false, "a5FrGc0D4BE", "https://www.youtube.com/shorts/a5FrGc0D4BE", 2, "/downloads/shorts/Mohammed Alnhet/Mohammed Alnhet - 2025-08-18 - [a5FrGc0D4BE].mp4", false, false, true, 304, [], 98, ~U[2025-08-18 10:34:22Z], ~U[2026-04-15 12:56:14Z], ~U[2026-04-15 12:56:14Z], "", "كيف تقدر تتحكم في نفسك ؟ 🤔#الخطوة_القادمة", 58, false, "a5FrGc0D4BE", "https://www.youtube.com/shorts/a5FrGc0D4BE", "/downloads/shorts/Mohammed Alnhet/Mohammed Alnhet - 2025-08-18 - [a5FrGc0D4BE].mp4", true, 304, ~U[2025-08-18 10:34:22Z]] 12:56:14.207 [debug] QUERY OK source="sources" db=0.3ms 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" = ?) [304] 12:56:14.208 [debug] QUERY OK source="media_items" db=1.0ms idle=3.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-07-07 09:43:48Z], 304] 12:56:14.210 [debug] QUERY OK source="media_items" db=0.8ms idle=4.3ms INSERT INTO "media_items" AS m0 ("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) 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" ["تأهيل اول وظيفة في العشرينات🎯 | #بودكاست باكورة", "fe7264b5-99ec-4bba-9f50-d47d130ef30f", 54, false, "Y6HPwIwpYUQ", "https://www.youtube.com/shorts/Y6HPwIwpYUQ", 3, "/downloads/shorts/Mohammed Alnhet/Mohammed Alnhet - 2025-07-07 - [Y6HPwIwpYUQ].mp4", false, false, true, 304, [], 98, ~U[2025-07-07 09:43:48Z], ~U[2026-04-15 12:56:14Z], ~U[2026-04-15 12:56:14Z], "", "تأهيل اول وظيفة في العشرينات🎯 | #بودكاست باكورة", 54, false, "Y6HPwIwpYUQ", "https://www.youtube.com/shorts/Y6HPwIwpYUQ", "/downloads/shorts/Mohammed Alnhet/Mohammed Alnhet - 2025-07-07 - [Y6HPwIwpYUQ].mp4", true, 304, ~U[2025-07-07 09:43:48Z]] 12:56:14.210 [debug] QUERY OK source="sources" db=0.3ms idle=4.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [304] 12:56:14.211 [debug] QUERY OK source="media_items" db=0.4ms idle=4.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-07-01 10:04:39Z], 304] 12:56:14.228 [debug] QUERY OK source="media_items" db=16.1ms idle=4.1ms INSERT INTO "media_items" AS m0 ("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) 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" ["الثقة مقابل عدم الثقة | #الخطوة_القادمة", "1900bb59-1341-4adc-b4db-609f215cbac0", 118, false, "uSLQpSsOuXY", "https://www.youtube.com/shorts/uSLQpSsOuXY", 4, "/downloads/shorts/Mohammed Alnhet/Mohammed Alnhet - 2025-07-01 - [uSLQpSsOuXY].mp4", false, false, true, 304, [], 98, ~U[2025-07-01 10:04:39Z], ~U[2026-04-15 12:56:14Z], ~U[2026-04-15 12:56:14Z], "", "الثقة مقابل عدم الثقة | #الخطوة_القادمة", 118, false, "uSLQpSsOuXY", "https://www.youtube.com/shorts/uSLQpSsOuXY", "/downloads/shorts/Mohammed Alnhet/Mohammed Alnhet - 2025-07-01 - [uSLQpSsOuXY].mp4", true, 304, ~U[2025-07-01 10:04:39Z]] 12:56:14.228 [debug] QUERY OK source="sources" db=0.3ms idle=19.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" = ?) [304] 12:56:14.229 [debug] QUERY OK source="media_items" db=0.4ms idle=18.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-06-29 09:48:55Z], 304] 12:56:14.233 [debug] QUERY OK source="media_items" db=3.5ms idle=18.6ms INSERT INTO "media_items" AS m0 ("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) 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" ["لومافيه HR كان الشركات بخير | #بودكاست باكورة", "07614562-8c43-492d-88e6-c18915b9f78d", 46, false, "uXEEfOVHVEs", "https://www.youtube.com/shorts/uXEEfOVHVEs", 5, "/downloads/shorts/Mohammed Alnhet/Mohammed Alnhet - 2025-06-29 - [uXEEfOVHVEs].mp4", false, false, true, 304, [], 98, ~U[2025-06-29 09:48:55Z], ~U[2026-04-15 12:56:14Z], ~U[2026-04-15 12:56:14Z], "", "لومافيه HR كان الشركات بخير | #بودكاست باكورة", 46, false, "uXEEfOVHVEs", "https://www.youtube.com/shorts/uXEEfOVHVEs", "/downloads/shorts/Mohammed Alnhet/Mohammed Alnhet - 2025-06-29 - [uXEEfOVHVEs].mp4", true, 304, ~U[2025-06-29 09:48:55Z]] 12:56:14.233 [debug] QUERY OK source="sources" db=0.2ms idle=21.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" = ?) [304] 12:56:14.234 [debug] QUERY OK source="media_items" db=0.4ms idle=5.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-05-27 11:13:44Z], 304] 12:56:14.235 [debug] QUERY OK source="media_items" db=0.7ms idle=5.9ms INSERT INTO "media_items" AS m0 ("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) 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" ["موظف عادي ممكن يكون خير للشركة ! 👨\u200D💼💼 | بودكاست باكورة", "b38f88b0-35ea-4435-a163-915447274b18", 57, false, "NMkbPidhI6w", "https://www.youtube.com/shorts/NMkbPidhI6w", 6, "/downloads/shorts/Mohammed Alnhet/Mohammed Alnhet - 2025-05-27 - [NMkbPidhI6w].mp4", false, false, true, 304, [], 98, ~U[2025-05-27 11:13:44Z], ~U[2026-04-15 12:56:14Z], ~U[2026-04-15 12:56:14Z], "", "موظف عادي ممكن يكون خير للشركة ! 👨\u200D💼💼 | بودكاست باكورة", 57, false, "NMkbPidhI6w", "https://www.youtube.com/shorts/NMkbPidhI6w", "/downloads/shorts/Mohammed Alnhet/Mohammed Alnhet - 2025-05-27 - [NMkbPidhI6w].mp4", true, 304, ~U[2025-05-27 11:13:44Z]] 12:56:14.235 [debug] QUERY OK source="sources" db=0.2ms 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" FROM "sources" AS s0 WHERE (s0."id" = ?) [304] 12:56:14.236 [debug] QUERY OK source="media_items" db=0.3ms idle=2.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-05-03 20:24:30Z], 304] 12:56:14.237 [debug] QUERY OK source="media_items" db=0.6ms idle=3.0ms INSERT INTO "media_items" AS m0 ("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) 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" ["اغرب شارع في العالم❕", "b9bf6af1-9c26-403e-817b-108220ad7603", 102, false, "GwaYJmcAKpM", "https://www.youtube.com/shorts/GwaYJmcAKpM", 7, "/downloads/shorts/Mohammed Alnhet/Mohammed Alnhet - 2025-05-03 - [GwaYJmcAKpM].mp4", false, false, true, 304, [], 98, ~U[2025-05-03 20:24:30Z], ~U[2026-04-15 12:56:14Z], ~U[2026-04-15 12:56:14Z], "", "اغرب شارع في العالم❕", 102, false, "GwaYJmcAKpM", "https://www.youtube.com/shorts/GwaYJmcAKpM", "/downloads/shorts/Mohammed Alnhet/Mohammed Alnhet - 2025-05-03 - [GwaYJmcAKpM].mp4", true, 304, ~U[2025-05-03 20:24:30Z]] 12:56:14.237 [debug] QUERY OK source="sources" db=0.2ms 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" FROM "sources" AS s0 WHERE (s0."id" = ?) [304] 12:56:14.238 [debug] QUERY OK source="media_items" db=0.4ms idle=2.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-02-27 10:26:36Z], 304] 12:56:14.240 [debug] QUERY OK source="media_items" db=1.4ms idle=2.9ms INSERT INTO "media_items" AS m0 ("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) 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" ["قصة اغلاق المطارات في ازمة كورونا ! |#بودكاست باكورة", "9104030e-031f-4b95-b5a6-fe76f26905f2", 180, false, "MPPZbFXEgtQ", "https://www.youtube.com/shorts/MPPZbFXEgtQ", 8, "/downloads/shorts/Mohammed Alnhet/Mohammed Alnhet - 2025-02-27 - [MPPZbFXEgtQ].mp4", false, false, true, 304, [], 98, ~U[2025-02-27 10:26:36Z], ~U[2026-04-15 12:56:14Z], ~U[2026-04-15 12:56:14Z], "", "قصة اغلاق المطارات في ازمة كورونا ! |#بودكاست باكورة", 180, false, "MPPZbFXEgtQ", "https://www.youtube.com/shorts/MPPZbFXEgtQ", "/downloads/shorts/Mohammed Alnhet/Mohammed Alnhet - 2025-02-27 - [MPPZbFXEgtQ].mp4", true, 304, ~U[2025-02-27 10:26:36Z]] 12:56:14.240 [debug] QUERY OK source="sources" db=0.3ms 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" = ?) [304] 12:56:14.241 [debug] QUERY OK source="media_items" db=0.3ms idle=3.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-02-20 21:00:17Z], 304] 12:56:14.242 [debug] QUERY OK source="media_items" db=0.7ms idle=3.7ms INSERT INTO "media_items" AS m0 ("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) 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" ["قصة دخول الانترنت في السعودية | #بودكاست باكورة", "5317aba8-5566-4136-9cf0-1c0ffcb79b18", 89, false, "PffYyNkikE8", "https://www.youtube.com/shorts/PffYyNkikE8", 9, "/downloads/shorts/Mohammed Alnhet/Mohammed Alnhet - 2025-02-20 - [PffYyNkikE8].mp4", false, false, true, 304, [], 98, ~U[2025-02-20 21:00:17Z], ~U[2026-04-15 12:56:14Z], ~U[2026-04-15 12:56:14Z], "", "قصة دخول الانترنت في السعودية | #بودكاست باكورة", 89, false, "PffYyNkikE8", "https://www.youtube.com/shorts/PffYyNkikE8", "/downloads/shorts/Mohammed Alnhet/Mohammed Alnhet - 2025-02-20 - [PffYyNkikE8].mp4", true, 304, ~U[2025-02-20 21:00:17Z]] 12:56:14.243 [debug] QUERY OK source="sources" db=0.2ms 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" = ?) [304] 12:56:14.243 [debug] QUERY OK source="media_items" db=0.3ms idle=2.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-02-16 10:28:11Z], 304] 12:56:14.244 [debug] QUERY OK source="media_items" db=0.6ms idle=3.0ms INSERT INTO "media_items" AS m0 ("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) 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" ["البزنس ذكاء، والاستماع لمن هو أخبر منك جزء من النجاح! 🎯 💼", "b3fadf7f-14c8-4ffe-9951-43e430a0f726", 76, false, "DW7LIYljlxM", "https://www.youtube.com/shorts/DW7LIYljlxM", 10, "/downloads/shorts/Mohammed Alnhet/Mohammed Alnhet - 2025-02-16 - [DW7LIYljlxM].mp4", false, false, true, 304, [], 98, ~U[2025-02-16 10:28:11Z], ~U[2026-04-15 12:56:14Z], ~U[2026-04-15 12:56:14Z], "", "البزنس ذكاء، والاستماع لمن هو أخبر منك جزء من النجاح! 🎯 💼", 76, false, "DW7LIYljlxM", "https://www.youtube.com/shorts/DW7LIYljlxM", "/downloads/shorts/Mohammed Alnhet/Mohammed Alnhet - 2025-02-16 - [DW7LIYljlxM].mp4", true, 304, ~U[2025-02-16 10:28:11Z]] 12:56:14.245 [debug] QUERY OK source="sources" db=0.2ms 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" FROM "sources" AS s0 WHERE (s0."id" = ?) [304] 12:56:14.245 [debug] QUERY OK source="media_items" db=0.3ms idle=2.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-01-28 10:25:44Z], 304] 12:56:14.246 [debug] QUERY OK source="media_items" db=0.6ms idle=2.9ms INSERT INTO "media_items" AS m0 ("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) 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" ["إجتماعات العمل والأرهاق العقلي ..! | #الخطوة القادمة", "8de3da0b-e3e3-43b5-8746-a17afca394ea", 41, false, "63INqEy5Jtk", "https://www.youtube.com/shorts/63INqEy5Jtk", 11, "/downloads/shorts/Mohammed Alnhet/Mohammed Alnhet - 2025-01-28 - [63INqEy5Jtk].mp4", false, false, true, 304, [], 98, ~U[2025-01-28 10:25:44Z], ~U[2026-04-15 12:56:14Z], ~U[2026-04-15 12:56:14Z], "", "إجتماعات العمل والأرهاق العقلي ..! | #الخطوة القادمة", 41, false, "63INqEy5Jtk", "https://www.youtube.com/shorts/63INqEy5Jtk", "/downloads/shorts/Mohammed Alnhet/Mohammed Alnhet - 2025-01-28 - [63INqEy5Jtk].mp4", true, 304, ~U[2025-01-28 10:25:44Z]] 12:56:14.247 [debug] QUERY OK source="sources" db=0.3ms 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" FROM "sources" AS s0 WHERE (s0."id" = ?) [304] 12:56:14.247 [debug] QUERY OK source="media_items" db=0.3ms idle=2.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-01-23 11:03:28Z], 304] 12:56:14.248 [debug] QUERY OK source="media_items" db=0.6ms idle=2.9ms INSERT INTO "media_items" AS m0 ("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) 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" ["ارتطام السيارات يعادل السقوط من برج ..!", "7bd1e041-a406-4241-a2db-f745df171a35", 59, false, "6Jr2N27OdvA", "https://www.youtube.com/shorts/6Jr2N27OdvA", 12, "/downloads/shorts/Mohammed Alnhet/Mohammed Alnhet - 2025-01-23 - [6Jr2N27OdvA].mp4", false, false, true, 304, [], 98, ~U[2025-01-23 11:03:28Z], ~U[2026-04-15 12:56:14Z], ~U[2026-04-15 12:56:14Z], "", "ارتطام السيارات يعادل السقوط من برج ..!", 59, false, "6Jr2N27OdvA", "https://www.youtube.com/shorts/6Jr2N27OdvA", "/downloads/shorts/Mohammed Alnhet/Mohammed Alnhet - 2025-01-23 - [6Jr2N27OdvA].mp4", true, 304, ~U[2025-01-23 11:03:28Z]] 12:56:14.249 [debug] QUERY OK source="sources" db=0.2ms 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" FROM "sources" AS s0 WHERE (s0."id" = ?) [304] 12:56:14.249 [debug] QUERY OK source="media_items" db=0.4ms idle=2.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-01-12 08:36:10Z], 304] 12:56:14.250 [debug] QUERY OK source="media_items" db=0.6ms idle=2.9ms INSERT INTO "media_items" AS m0 ("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) 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" ["المشغول دائماً هو الشخص الناجح .! #بودكاست باكورة", "30424a9c-de39-470f-8afd-a066e93a409f", 48, false, "Jo6uO5vy82s", "https://www.youtube.com/shorts/Jo6uO5vy82s", 13, "/downloads/shorts/Mohammed Alnhet/Mohammed Alnhet - 2025-01-12 - [Jo6uO5vy82s].mp4", false, false, true, 304, [], 98, ~U[2025-01-12 08:36:10Z], ~U[2026-04-15 12:56:14Z], ~U[2026-04-15 12:56:14Z], "", "المشغول دائماً هو الشخص الناجح .! #بودكاست باكورة", 48, false, "Jo6uO5vy82s", "https://www.youtube.com/shorts/Jo6uO5vy82s", "/downloads/shorts/Mohammed Alnhet/Mohammed Alnhet - 2025-01-12 - [Jo6uO5vy82s].mp4", true, 304, ~U[2025-01-12 08:36:10Z]] 12:56:14.251 [debug] QUERY OK source="sources" db=0.2ms 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" = ?) [304] 12:56:14.252 [debug] QUERY OK source="media_items" db=0.3ms idle=2.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-12-29 08:35:31Z], 304] 12:56:14.253 [debug] QUERY OK source="media_items" db=0.6ms idle=2.9ms INSERT INTO "media_items" AS m0 ("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) 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" ["من هم جنود الأمن السيبراني ؟ | #بودكاست_باكورة", "2c4f9f41-eda4-4678-9108-4d9f251d9c62", 40, false, "4Hr8iUiqyqM", "https://www.youtube.com/shorts/4Hr8iUiqyqM", 14, "/downloads/shorts/Mohammed Alnhet/Mohammed Alnhet - 2024-12-29 - [4Hr8iUiqyqM].mp4", false, false, true, 304, [], 98, ~U[2024-12-29 08:35:31Z], ~U[2026-04-15 12:56:14Z], ~U[2026-04-15 12:56:14Z], "", "من هم جنود الأمن السيبراني ؟ | #بودكاست_باكورة", 40, false, "4Hr8iUiqyqM", "https://www.youtube.com/shorts/4Hr8iUiqyqM", "/downloads/shorts/Mohammed Alnhet/Mohammed Alnhet - 2024-12-29 - [4Hr8iUiqyqM].mp4", true, 304, ~U[2024-12-29 08:35:31Z]] 12:56:14.253 [debug] QUERY OK source="sources" db=0.2ms 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" = ?) [304] 12:56:14.254 [debug] QUERY OK source="media_items" db=0.4ms idle=2.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-12-19 10:11:51Z], 304] 12:56:14.255 [debug] QUERY OK source="media_items" db=0.7ms idle=2.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" ["قصة لفكرة تبين لك عدم إطلاع الاشخاص على المعلومات الكافية يعيق ويسبب الاحراج..! \n#بودكاست#باكورة", "قصة قصيرة من قصص #بودكاست باكورة", "2ae6d363-bbb8-493f-acc0-c757477f3e7d", 47, false, "xLgAiTCsu4o", "https://www.youtube.com/shorts/xLgAiTCsu4o", 15, "/downloads/shorts/Mohammed Alnhet/Mohammed Alnhet - 2024-12-19 - [xLgAiTCsu4o].mp4", false, false, true, 304, [], 98, ~U[2024-12-19 10:11:51Z], ~U[2026-04-15 12:56:14Z], ~U[2026-04-15 12:56:14Z], "قصة لفكرة تبين لك عدم إطلاع الاشخاص على المعلومات الكافية يعيق ويسبب الاحراج..! \n#بودكاست#باكورة", "قصة قصيرة من قصص #بودكاست باكورة", 47, false, "xLgAiTCsu4o", "https://www.youtube.com/shorts/xLgAiTCsu4o", "/downloads/shorts/Mohammed Alnhet/Mohammed Alnhet - 2024-12-19 - [xLgAiTCsu4o].mp4", true, 304, ~U[2024-12-19 10:11:51Z]] 12:56:14.255 [debug] QUERY OK source="sources" db=0.3ms 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" FROM "sources" AS s0 WHERE (s0."id" = ?) [304] 12:56:14.256 [debug] QUERY OK source="media_items" db=0.3ms idle=2.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-12-18 09:29:26Z], 304] 12:56:14.257 [debug] QUERY OK source="media_items" db=0.7ms idle=3.0ms INSERT INTO "media_items" AS m0 ("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) 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" ["كيف يزيد تقدير الناس لك بسبب كلمة لا ..!", "cb56cb21-f56c-4627-8f76-4e207c110e89", 51, false, "_F8Cj607xL8", "https://www.youtube.com/shorts/_F8Cj607xL8", 16, "/downloads/shorts/Mohammed Alnhet/Mohammed Alnhet - 2024-12-18 - [_F8Cj607xL8].mp4", false, false, true, 304, [], 98, ~U[2024-12-18 09:29:26Z], ~U[2026-04-15 12:56:14Z], ~U[2026-04-15 12:56:14Z], "", "كيف يزيد تقدير الناس لك بسبب كلمة لا ..!", 51, false, "_F8Cj607xL8", "https://www.youtube.com/shorts/_F8Cj607xL8", "/downloads/shorts/Mohammed Alnhet/Mohammed Alnhet - 2024-12-18 - [_F8Cj607xL8].mp4", true, 304, ~U[2024-12-18 09:29:26Z]] 12:56:14.257 [debug] QUERY OK source="sources" db=0.2ms 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" FROM "sources" AS s0 WHERE (s0."id" = ?) [304] 12:56:14.258 [debug] QUERY OK source="media_items" db=0.4ms idle=2.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-12-01 09:37:15Z], 304] 12:56:14.259 [debug] QUERY OK source="media_items" db=0.6ms idle=2.9ms INSERT INTO "media_items" AS m0 ("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) 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" ["تمرين مهم تسويه بعد كل صلاة | #بودكاست باكورة", "71e8114c-62f6-46b4-b4f9-5435edfa2fa8", 47, false, "C1qjbJInMUs", "https://www.youtube.com/shorts/C1qjbJInMUs", 17, "/downloads/shorts/Mohammed Alnhet/Mohammed Alnhet - 2024-12-01 - [C1qjbJInMUs].mp4", false, false, true, 304, [], 98, ~U[2024-12-01 09:37:15Z], ~U[2026-04-15 12:56:14Z], ~U[2026-04-15 12:56:14Z], "", "تمرين مهم تسويه بعد كل صلاة | #بودكاست باكورة", 47, false, "C1qjbJInMUs", "https://www.youtube.com/shorts/C1qjbJInMUs", "/downloads/shorts/Mohammed Alnhet/Mohammed Alnhet - 2024-12-01 - [C1qjbJInMUs].mp4", true, 304, ~U[2024-12-01 09:37:15Z]] 12:56:14.259 [debug] QUERY OK source="sources" db=0.2ms 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" FROM "sources" AS s0 WHERE (s0."id" = ?) [304] 12:56:14.260 [debug] QUERY OK source="media_items" db=0.3ms idle=2.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-11-24 11:41:42Z], 304] 12:56:14.261 [debug] QUERY OK source="media_items" db=0.6ms idle=2.9ms INSERT INTO "media_items" AS m0 ("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) 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" ["أنت اكثر عرضة للأكتئاب ...😴", "cb06c1e4-eab0-4cc7-ad5f-80052751632a", 54, false, "4LYiSjM5rtA", "https://www.youtube.com/shorts/4LYiSjM5rtA", 18, "/downloads/shorts/Mohammed Alnhet/Mohammed Alnhet - 2024-11-24 - [4LYiSjM5rtA].mp4", false, false, true, 304, [], 98, ~U[2024-11-24 11:41:42Z], ~U[2026-04-15 12:56:14Z], ~U[2026-04-15 12:56:14Z], "", "أنت اكثر عرضة للأكتئاب ...😴", 54, false, "4LYiSjM5rtA", "https://www.youtube.com/shorts/4LYiSjM5rtA", "/downloads/shorts/Mohammed Alnhet/Mohammed Alnhet - 2024-11-24 - [4LYiSjM5rtA].mp4", true, 304, ~U[2024-11-24 11:41:42Z]] 12:56:14.262 [debug] QUERY OK source="sources" db=0.2ms 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" = ?) [304] 12:56:14.262 [debug] QUERY OK source="media_items" db=0.3ms idle=2.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-11-21 13:19:07Z], 304] 12:56:14.263 [debug] QUERY OK source="media_items" db=0.6ms idle=2.9ms INSERT INTO "media_items" AS m0 ("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) 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" ["اضرار الكوليسترول على القلب | بودكاست باكورة", "e3aaaac4-2ba7-4308-a0b7-7da48bcd6ebe", 49, false, "r10-9IVseYQ", "https://www.youtube.com/shorts/r10-9IVseYQ", 19, "/downloads/shorts/Mohammed Alnhet/Mohammed Alnhet - 2024-11-21 - [r10-9IVseYQ].mp4", false, false, true, 304, [], 98, ~U[2024-11-21 13:19:07Z], ~U[2026-04-15 12:56:14Z], ~U[2026-04-15 12:56:14Z], "", "اضرار الكوليسترول على القلب | بودكاست باكورة", 49, false, "r10-9IVseYQ", "https://www.youtube.com/shorts/r10-9IVseYQ", "/downloads/shorts/Mohammed Alnhet/Mohammed Alnhet - 2024-11-21 - [r10-9IVseYQ].mp4", true, 304, ~U[2024-11-21 13:19:07Z]] 12:56:14.264 [debug] QUERY OK source="sources" db=0.2ms 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" = ?) [304] 12:56:14.264 [debug] QUERY OK source="media_items" db=0.3ms idle=2.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-11-18 11:03:47Z], 304] 12:56:14.265 [debug] QUERY OK source="media_items" db=0.7ms idle=2.9ms INSERT INTO "media_items" AS m0 ("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) 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" ["لاتستسلم للفشل او تلوم نفسك | #الخطوة القادمة", "15b5046e-28e7-4816-b297-2482925d0094", 48, false, "xDd1gSvivH4", "https://www.youtube.com/shorts/xDd1gSvivH4", 20, "/downloads/shorts/Mohammed Alnhet/Mohammed Alnhet - 2024-11-18 - [xDd1gSvivH4].mp4", false, false, true, 304, [], 98, ~U[2024-11-18 11:03:47Z], ~U[2026-04-15 12:56:14Z], ~U[2026-04-15 12:56:14Z], "", "لاتستسلم للفشل او تلوم نفسك | #الخطوة القادمة", 48, false, "xDd1gSvivH4", "https://www.youtube.com/shorts/xDd1gSvivH4", "/downloads/shorts/Mohammed Alnhet/Mohammed Alnhet - 2024-11-18 - [xDd1gSvivH4].mp4", true, 304, ~U[2024-11-18 11:03:47Z]] 12:56:14.266 [debug] QUERY OK source="sources" db=0.2ms idle=3.3ms UPDATE "sources" SET "last_indexed_at" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-04-15 12:56:14Z], ~U[2026-04-15 12:56:14Z], 304] 12:56:14.269 [debug] QUERY OK source="tasks" db=0.3ms idle=4.0ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2192018, 304, ~U[2026-04-15 12:56:14Z], ~U[2026-04-15 12:56:14Z]] 12:56:14.269 [info] {"args":{"id":304},"id":2187116,"meta":{},"state":"success","max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","duration":393957949,"event":"job:stop","queue_time":821968,"attempt":1,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 12:56:22.804 [info] {"args":{"id":391},"id":2191982,"meta":{},"system_time":1776257782803945395,"max_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:56:22.804 [debug] QUERY OK source="sources" db=0.3ms idle=794.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" = ?) [391] 12:56:22.805 [debug] QUERY OK source="settings" db=0.2ms idle=794.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:56:22.805 [debug] QUERY OK source="media_profiles" db=0.2ms idle=795.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" = ?) [2] 12:56:22.806 [debug] QUERY OK source="settings" db=0.2ms idle=7.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:56:22.806 [debug] Fetching recent media IDs from YouTube API for playlist: UUqeCtPANEJ9yBQlEDmls7-g 12:56:22.806 [debug] QUERY OK source="settings" db=0.1ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:56:22.806 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 12:56:23.145 [debug] QUERY OK source="media_items" db=1.1ms idle=339.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [391, "fFGYg9Gv-PI", "Nz-IM8VFixQ", "CqBny6zVHgo", "gq4b-6y6fjg", "msNdXd-oH0g", "lKxykq3G-A0", "VUAkGy6N4AE", "YqObusJsgS8", "zm6eC_ly39Y", "9yEs_PiP91Y", "4FXTLipWWwo", "oS5oki_lq9U", "bFoaCNYCRJc", "_aMlBzxNdjs", "2ixudzh0OLs", "ABE_3uUXV5g", "PmdbLY-aHHQ", "2Nf3W31ARvI", "UzMQ9VNE9X4", "2BzFKxLtM5g", "k0BcDAp202Y", "AS8ZpSFzevg", "2lmcFhQukbI", "LBgXoEFhEZU", "ampWD1a4UJ8", "GwW4gaxsZ30", "Nt2W_LcRvHY", "A3owMXjvxow", "3mc8IV3hQcc", "5cFgzLZrLAQ", "p1NjYE-fBlI", "jvehHAuvLxw", "OyQUOPxRn38", "5uv3uK7cGgY", "jPQSSVZM7Rg", "rNu1K9oLo34", "0W-Y07_EURc", "L86F24V6J4Y", "0Mw6vu_ccZo", "mvnx10KZs2U", "KwtY240O9FE", "LihDSBkbZmQ", "2NSTkXZrUrU", "TQQqCfeebXs", "7l1F7EUEjiM", "_2vatrsVUxw", "c2wPUyxwoV4", "s_XgXgOzizM", "czocgai2km4", ...] 12:56:23.149 [debug] QUERY OK source="media_items" db=2.8ms idle=341.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")))) [391] 12:56:23.151 [debug] QUERY OK source="tasks" db=0.3ms idle=344.6ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2192019, 391, ~U[2026-04-15 12:56:23Z], ~U[2026-04-15 12:56:23Z]] 12:56:23.151 [info] {"args":{"id":391},"id":2191982,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":347490,"event":"job:stop","queue_time":371669,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:56:41.124 [info] GET /sources/292/media/4628365/force_download 12:56:41.125 [debug] QUERY OK source="settings" db=0.2ms 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 [] 12:56:41.125 [debug] QUERY OK source="settings" db=0.1ms idle=115.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:56:41.125 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 12:56:41.126 [error] #PID<0.5589.0> running PinchflatWeb.Endpoint (connection #PID<0.5588.0>, stream id 1) terminated Server: jak.hibeex.com:80 (http) Request: GET /sources/292/media/4628365/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/292/media/4628365/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5588.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/292/media/4628365/force_download", host: "jak.hibeex.com", peer: {{172, 22, 0, 1}, 48384}, bindings: %{}, sock: {{172, 22, 0, 4}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYbzZCbkwtbklJZlJzUWV2MmpnT2dFMmVH.lip9i1AqQtotONBQEJ3KSGrV8YCiJOZAAcPDyAhU9VI", "from" => "gptbot(at)openai.com", "host" => "jak.hibeex.com", "referer" => "https://jak.hibeex.com/sources/292/media/4628365?prevent_download=true", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.232", "x-forwarded-proto" => "https", "x-openai-host-hash" => "41517590", "x-real-ip" => "74.7.243.232" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYbzZCbkwtbklJZlJzUWV2MmpnT2dFMmVH.lip9i1AqQtotONBQEJ3KSGrV8YCiJOZAAcPDyAhU9VI" }, halted: false, host: "jak.hibeex.com", method: "GET", owner: #PID<0.5589.0>, params: %{}, path_info: ["sources", "292", "media", "4628365", "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://jak.hibeex.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 22, 0, 1}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYbzZCbkwtbklJZlJzUWV2MmpnT2dFMmVH.lip9i1AqQtotONBQEJ3KSGrV8YCiJOZAAcPDyAhU9VI" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"connection", "close"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYbzZCbkwtbklJZlJzUWV2MmpnT2dFMmVH.lip9i1AqQtotONBQEJ3KSGrV8YCiJOZAAcPDyAhU9VI"}, {"from", "gptbot(at)openai.com"}, {"host", "jak.hibeex.com"}, {"referer", "https://jak.hibeex.com/sources/292/media/4628365?prevent_download=true"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)"}, {"x-forwarded-for", "74.7.243.232"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "41517590"}, {"x-real-ip", "74.7.243.232"} ], request_path: "/sources/292/media/4628365/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKaJDyGKod0HdPcAA3uB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5588.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/292/media/4628365/force_download", host: "jak.hibeex.com", peer: {{172, 22, 0, 1}, 48384}, bindings: %{}, sock: {{172, 22, 0, 4}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYbzZCbkwtbklJZlJzUWV2MmpnT2dFMmVH.lip9i1AqQtotONBQEJ3KSGrV8YCiJOZAAcPDyAhU9VI", "from" => "gptbot(at)openai.com", "host" => "jak.hibeex.com", "referer" => "https://jak.hibeex.com/sources/292/media/4628365?prevent_download=true", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.232", "x-forwarded-proto" => "https", "x-openai-host-hash" => "41517590", "x-real-ip" => "74.7.243.232" }, method: "GET", body_length: 0, path_info: :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/292/media/4628365/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5588.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/292/media/4628365/force_download", host: "jak.hibeex.com", peer: {{172, 22, 0, 1}, 48384}, bindings: %{}, sock: {{172, 22, 0, 4}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYbzZCbkwtbklJZlJzUWV2MmpnT2dFMmVH.lip9i1AqQtotONBQEJ3KSGrV8YCiJOZAAcPDyAhU9VI", "from" => "gptbot(at)openai.com", "host" => "jak.hibeex.com", "referer" => "https://jak.hibeex.com/sources/292/media/4628365?prevent_download=true", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.232", "x-forwarded-proto" => "https", "x-openai-host-hash" => "41517590", "x-real-ip" => "74.7.243.232" }, method: "GET", body_length: 0, path_info: :und (truncated) 12:56:42.166 [info] {"source":"oban","duration":18189,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:56:56.846 [info] {"args":{"id":443},"id":2191983,"meta":{},"system_time":1776257816846543578,"max_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:56:56.846 [info] {"args":{"id":546},"id":2191984,"meta":{},"system_time":1776257816846595557,"max_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:56:56.847 [debug] QUERY OK source="sources" db=0.3ms idle=1836.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" = ?) [443] 12:56:56.847 [debug] QUERY OK source="sources" db=0.2ms 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" FROM "sources" AS s0 WHERE (s0."id" = ?) [546] 12:56:56.847 [debug] QUERY OK source="settings" db=0.2ms idle=837.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:56:56.847 [debug] QUERY OK source="settings" db=0.3ms idle=8.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:56:56.848 [debug] QUERY OK source="media_profiles" db=0.2ms idle=1.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 12:56:56.848 [debug] QUERY OK source="media_profiles" db=0.3ms 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" = ?) [2] 12:56:56.848 [debug] QUERY OK source="settings" db=0.5ms 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:56:56.848 [debug] Fetching recent media IDs from YouTube API for playlist: UUokgtRLAWKNPdfFMaSfLLbA 12:56:56.849 [debug] QUERY OK source="settings" db=0.4ms 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:56:56.849 [debug] Fetching recent media IDs from YouTube API for playlist: UU452L96EaYLzAYTPAiRxKdA 12:56:56.849 [debug] QUERY OK source="settings" db=0.1ms queue=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 [] 12:56:56.849 [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 [] 12:56:56.849 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 12:56:56.849 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 12:56:59.406 [debug] QUERY OK source="media_items" db=1.2ms idle=1394.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [443, "oD-QZSfOI5A", "2soSOj0KGN0", "nAbiXWcpC5k", "J6kw_Nka17Y", "e2IoGqWTX8s", "dtlPPLkCuG8", "ccc4EZfwyqg", "ZmemsVJRu3Q", "gVuzK2MUOy4", "jhtGF0DU-Us", "tdPeRTfPFug", "mYofjcnyeZM", "0tqpzvckxgU", "wp_lVw_Oemk", "_MQ322eFiM0", "PmpzFSPZmcU", "AZayZGnlOoc", "BDtCrgf6F6g", "e_3gcTBQa78", "TG58k-2U2wg", "Yf_zge2tHiw", "F7NHQ1rTVBw", "AZdFVvLhnbM", "1FJr-Rvlzfo", "-Uwz227DOXg", "xxBXGpIGDaU", "hZ4RSjsanf4", "CWuLASH1Hhg", "kxgmWGaaTSE", "p1mr39aRY1Q", "pFt6iqIug-E", "9n541lBjlso", "H8K-OVUzBP8", "UXtrfCEOPH0", "Tq6kuWhxY3k", "4sprHamH6sc", "wFO9Uo-aJJg", "M2goEYlN7wk", "6BH-hprkaBQ", "ZaVNjCXFcaQ", "__hPb3e-FK4", "Jxlr2hKwrys", "A6eWc8_bZtg", "ttgiRMWbm_s", "ENWcWveBkno", "8SU8mWL61Ek", "tcRaHb7HmAA", "o0aTw6Mv7lQ", "bbiAmRgZS1I", ...] 12:56:59.410 [debug] QUERY OK source="media_items" db=2.8ms idle=1396.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")))) [443] 12:56:59.411 [debug] QUERY OK source="tasks" db=0.3ms idle=568.3ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2192020, 443, ~U[2026-04-15 12:56:59Z], ~U[2026-04-15 12:56:59Z]] 12:56:59.412 [info] {"args":{"id":443},"id":2191983,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":2565385,"event":"job:stop","queue_time":903242,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:56:59.419 [info] {"args":{"id":408},"id":2191985,"meta":{},"system_time":1776257819419222038,"max_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:56:59.419 [debug] QUERY OK source="sources" db=0.2ms idle=8.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [408] 12:56:59.420 [debug] QUERY OK source="settings" db=0.2ms idle=8.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:56:59.420 [debug] QUERY OK source="media_profiles" db=0.3ms idle=8.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 12:56:59.421 [debug] QUERY OK source="settings" db=0.3ms idle=8.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:56:59.421 [debug] Fetching recent media IDs from YouTube API for playlist: UUN1b55nEWSpUH4dkJDbu24A 12:56:59.421 [debug] QUERY OK source="settings" db=0.2ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:56:59.421 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 12:56:59.830 [debug] QUERY OK source="media_items" db=1.1ms idle=408.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [546, "0d-Eo3MZIdo", "BH4YCJqDYlA", "_w6Dd9BP0C0", "euW7khacvEo", "WgBJZ1Ubsg0", "oE0vCmcN28s", "_mzQ8upmuMY", "1ypIFJz3jJw", "4ru4RjSiB98", "uMOtAsS4J3s", "Lt2M-jITUTg", "VVPOeq8vXtE", "U3zq72vSJog", "a947nJ7-Lvo", "U33HbFNz36o", "-wREg8baf4o", "f3AaiD26a6E", "cqxY60ckd9A", "o2kjrw3-kw8", "ekvQ83S0DAw", "D_Aw3z4ylsQ", "t7PTzeBUNeQ", "SeoEbrN765M", "lylZY9I_56U", "SH8Lz4NVxTc", "xX64EASCs8M", "PKrKsVzBbII", "wqU5gyoow7M", "eretrY5pnxQ", "SA0-0otEkfc", "pYj3D7t1QFk", "e8sKRE9Yt9U", "1ctTT71N7Ns", "19xtndufa6A", "WNLkyQFf4pM", "rqxHc4SgmUk", "21K3bNCgS-U", "-ybA8ZTcqcU", "gxZJ9yJjg_4", "CBk6n38J9bg", "oh5f3m8vsrs", "hMemXKyyX1o", "0sLgTRmSxII", "QDiGH9BiMwQ", "iAD8eVw6fSw", "VMCnDLDWz3A", "qivkxMSnNZc", "teq8bduREw8", "WC_DtGlrP-A", ...] 12:56:59.835 [debug] QUERY OK source="media_items" db=4.3ms idle=411.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")))) [546] 12:56:59.837 [debug] QUERY OK source="tasks" db=0.2ms idle=415.3ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2192021, 546, ~U[2026-04-15 12:56:59Z], ~U[2026-04-15 12:56:59Z]] 12:56:59.837 [info] {"args":{"id":546},"id":2191984,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":2990938,"event":"job:stop","queue_time":662483,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:56:59.846 [info] {"args":{"id":256},"id":2191986,"meta":{},"system_time":1776257819845935419,"max_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:56:59.846 [debug] QUERY OK source="sources" db=0.2ms idle=9.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [256] 12:56:59.846 [debug] QUERY OK source="settings" db=0.2ms idle=9.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:56:59.847 [debug] QUERY OK source="media_profiles" db=0.2ms idle=9.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 12:56:59.847 [debug] QUERY OK source="settings" db=0.2ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:56:59.847 [debug] Fetching recent media IDs from YouTube API for playlist: UUKjuhDegX8XdpWCr6nvNHzA 12:56:59.848 [debug] QUERY OK source="settings" db=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 [] 12:56:59.848 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 12:57:00.117 [debug] QUERY OK source="media_items" db=1.5ms idle=269.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [408, "60snLY1vA0E", "8pAhbBu7gEQ", "HdrrxdODQAA", "xKT3ecAfmFA", "YZO95dUHz3c", "Mp74vJFHTXM", "kJHttBFZxF0", "DmR_cT-8-hc", "SF2w4WoIFiM", "q_i5Q_JuqV8", "Ndx_mqpAlLE", "Ig5moNWc6Vg", "Kk40lncizgI", "ZcCyOkXZVjM", "c5LyWHDR8T8", "hMlhSujkKkk", "HSjwF2XIJdw", "_G5Eiyr8Qlo", "v7-lX7mNJ68", "HudMuosHMlo", "GKFSWYSGAoc", "svWkISzIjE4", "GrL4eRQxzcY", "1k3BfSt7mFI", "iyQOowSy4A8", "_wBp4fwp64E", "UcnxU-Nvp5o", "IKICkr0QDOg", "UKwdbZm6vWI", "95n7T6LSGTY", "x44wBLwVhQM", "NFTaRxu7pug", "a7SCBCJ4XIs", "BRFviE90sMY", "MgkuBaYfHLs", "KlJXxAtvjK0", "Wn-63J_jbSA", "dXXm7I0L8Dg", "kPnJgT8MklY", "vxA2Q_mrji4", "m-5OapnOgFM", "akPHdyMUl5M", "Zt6xVHfqseQ", "mk6FncB9cAA", "sbdzFS0t1zg", "BbTzZQTIwwg", "SZrqUGh_TbQ", "TXZpfFC90NQ", "SKo3F9Mr8ac", ...] 12:57:00.120 [debug] QUERY OK source="media_items" db=0.7ms idle=272.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")))) [408] 12:57:00.121 [debug] QUERY OK source="tasks" db=0.3ms idle=273.0ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2192022, 408, ~U[2026-04-15 12:57:00Z], ~U[2026-04-15 12:57:00Z]] 12:57:00.122 [info] {"args":{"id":408},"id":2191985,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":702660,"event":"job:stop","queue_time":2989863,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:57:00.129 [info] {"args":{"id":176},"id":2191987,"meta":{},"system_time":1776257820128961417,"max_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:57:00.129 [debug] QUERY OK source="sources" db=0.3ms 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" FROM "sources" AS s0 WHERE (s0."id" = ?) [176] 12:57:00.130 [debug] QUERY OK source="settings" db=0.3ms idle=8.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:57:00.130 [debug] QUERY OK source="media_profiles" db=0.3ms idle=8.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 12:57:00.131 [debug] QUERY OK source="settings" db=0.3ms idle=8.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:57:00.131 [debug] Fetching recent media IDs from YouTube API for playlist: UU6F-j9LyXIK_zXY0gbYRjog 12:57:00.131 [debug] QUERY OK source="settings" db=0.1ms idle=2.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:57:00.131 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 12:57:00.468 [debug] QUERY OK source="media_items" db=1.2ms idle=337.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [256, "DWUkU2XDaoQ", "bVd27otzkEo", "F401cxKw1uU", "V87j3RfYskI", "RTSIfcIPHZ4", "r-6bh8Odx3k", "iEMNXXVqx7k", "2oeIvbhGdss", "sqk9bSoEIi0", "tw7_JSncn18", "Wyve63135Fk", "xOlkugUCHIQ", "ZOg-UTcOWUI", "tEwCDo5sX-g", "fJMNv2rp3Ws", "_TsErXjEPo0", "aRzn7h73ScM", "foX-0CXMqzc", "OrIJDRZ5yck", "vIY1jM73Wv8", "wk0VqC_Dp3U", "6CT5F2T1kuk", "WHEKWr_ikX0", "Nku_tw_1kfE", "x0x_PkTgmTY", "yd3ttzfK_d8", "qrLjOFq4CXQ", "TQOZbpfSpxY", "2KcmeqRBAe0", "RZ7eKXOcDZA", "fyLOfjJj4cU", "-tkxtoUZNb0", "0dLV8wNyw-k", "59Gjb5NFDVQ", "Txw1JLPYcmY", "H5BLR4XliT0", "g43xxBSEsWk", "ZBSrSI_ZUgc", "PI6qDflxIQg", "wHPDU9EoILs", "3QbyJoTM7VY", "PFckr4gh1BA", "qvU1PKff_sM", "sJzJsaWL88U", "gY9uPzofHhk", "uRXFS29DGLM", "RvxT0XEbgAg", "N3SukH8PqzM", "9hfJK_HQqho", ...] 12:57:00.471 [debug] QUERY OK source="media_items" db=1.1ms idle=339.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")))) [256] 12:57:00.473 [debug] QUERY OK source="tasks" db=0.3ms idle=4.8ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2192023, 256, ~U[2026-04-15 12:57:00Z], ~U[2026-04-15 12:57:00Z]] 12:57:00.474 [info] {"args":{"id":256},"id":2191986,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":627730,"event":"job:stop","queue_time":3119077,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:57:00.722 [debug] QUERY OK source="media_items" db=1.2ms idle=248.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [176, "VrP9i5gRFmM", "WEoJyqjOLDs", "V3MNyEwmqr8", "qhNxSY35WZU", "rkb-6qjO3YM", "r_NzVN4OmIs", "YTpf0mOXNrI", "oNyFz82BVzY", "rK_Mp0leQUk", "rOIPOkqFo4o", "s-yFsryoeeA", "vHIVeqvO4aQ", "knyKlUZIwYQ", "irSIienUQd4", "eM9SB2Ny8lc", "vqZ6zySlGOU", "UdkGF_z3Aks", "ZPeBeS87EeI", "s7Ajz6YL2ZE", "rWmx74av4x4", "tNXj29ZS0VY", "oISdxagKMBI", "RVo_ar7OSDk", "dFcdYCKkc3Q", "jJmOjPGDdHQ", "uNFmnch6DkU", "agDEZAVDYAU", "I-sJTe9u0j4", "v8e_tW3NX0Y", "qGe25_jFNQ0", "0pMIwYMKE9w", "5ZYWspIqYLw", "vHH0LheJQFs", "VFlYnIQiIUo", "xQtI8cE7Igc", "cDH4cPa7XJM", "6F93shePog0", "Vn0A4aUTSbY", "yU0CccqqaX0", "tEEfMkbYfUY", "8DRBW9BERJM", "Mo6Z427HkdA", "C_hN-U1qgUo", "ACz-TF_Ln-w", "EvO9y5iGN-U", "tqH-9fmPdI0", "DnW4gL41yQc", "VDVDUOJgS9s", "0_mxyqK3sDk", ...] 12:57:00.724 [debug] QUERY OK source="media_items" db=0.7ms idle=250.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")))) [176] 12:57:00.726 [debug] QUERY OK source="tasks" db=0.2ms idle=245.1ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2192024, 176, ~U[2026-04-15 12:57:00Z], ~U[2026-04-15 12:57:00Z]] 12:57:00.726 [info] {"args":{"id":176},"id":2191987,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":597535,"event":"job:stop","queue_time":3080422,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:57:00.833 [info] {"source":"oban","duration":193,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:57:01.856 [info] {"args":{"id":548},"id":2191988,"meta":{},"system_time":1776257821856055469,"max_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:57:01.856 [debug] QUERY OK source="sources" db=0.2ms idle=1122.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" = ?) [548] 12:57:01.857 [debug] QUERY OK source="settings" db=0.2ms idle=1023.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:57:01.857 [debug] QUERY OK source="media_profiles" db=0.2ms idle=1010.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" = ?) [2] 12:57:01.858 [debug] QUERY OK source="settings" db=0.3ms idle=8.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:57:01.858 [debug] Fetching recent media IDs from YouTube API for playlist: UUKIe0D8roD7OIY6GUZey4kA 12:57:01.858 [debug] QUERY OK source="settings" db=0.1ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:57:01.858 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 12:57:02.214 [debug] QUERY OK source="media_items" db=1.2ms idle=356.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [548, "PfYHk-vjB_A", "2BuBWoUgyqk", "AAe4lJr8LMM", "f6a1cd0qIxk", "8CazQzCY3t4", "k_P0qA3sX5U", "sXQ4VA_qjEY", "Dp250ZKHJvk", "mPyaYSsntuQ", "fTqrxHYDV5I", "3sQXejmW6wI", "XJMyqh9XYjY", "lU_i_QnA1S4", "P2CObeRek_k", "UwhNyYKx5X0", "428okyYmv44", "6fqMb-oK-Xg", "mHjmfW7C5Uo", "bat3ptnzuc8", "ELACjXyUUtw", "IRUYXKvvbXU", "U8eH_biTWGw", "S5ontcrzHhU", "zybPVOUlIqM", "YjgY6OmtJLs", "dmyIkdPaWP8", "zlieCi6Tfsg", "5IgGWjGjOZc", "JR2faI1-OQU", "kpdNGZo3xQs", "L5VHg61PP5c", "HqM_WjUA12o", "bJgA5PhNu8M", "u4HpsaGxe_A", "wdJNBZvvtmA", "6nDTPvnPiy0", "LWpibL8P5B8", "F4eYz8hOg2g", "Vga4Xk3lkn0", "IWOLQphzwqA", "nKeMdr6iVts", "O29G6yd4URM", "m5qGxBjn1KM", "IYYcLFicyM8", "PfB9Sc92vYA", "ofLrgtXQLq4", "2cpOCFmVcvw", "KSbDk4A_DWc", "g2MNyRTZXIc", ...] 12:57:02.216 [debug] QUERY OK source="media_items" db=1.3ms idle=358.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")))) [548] 12:57:02.218 [debug] QUERY OK source="tasks" db=0.2ms idle=359.5ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2192025, 548, ~U[2026-04-15 12:57:02Z], ~U[2026-04-15 12:57:02Z]] 12:57:02.219 [info] {"args":{"id":548},"id":2191988,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":362620,"event":"job:stop","queue_time":392025,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:57:02.858 [info] {"args":{"id":116},"id":2191989,"meta":{},"system_time":1776257822857997092,"max_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:57:02.858 [debug] QUERY OK source="sources" db=0.3ms idle=639.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" = ?) [116] 12:57:02.859 [debug] QUERY OK source="settings" db=0.2ms idle=639.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:57:02.859 [debug] QUERY OK source="media_profiles" db=0.3ms 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" = ?) [2] 12:57:02.860 [debug] QUERY OK source="settings" db=0.2ms idle=8.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:57:02.860 [debug] Fetching recent media IDs from YouTube API for playlist: UU4vo6vxydWDmBa84KMKhiXw 12:57:02.860 [debug] QUERY OK source="settings" db=0.1ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:57:02.860 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 12:57:03.426 [debug] QUERY OK source="media_items" db=1.2ms idle=566.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [116, "678MQRWDzLE", "kfMP1FlsZ-Y", "IB-kOvrzKX8", "TdtuOizJSew", "AQUU0tZDwfI", "Wn3MRd9Wuro", "S7DdtEy9Jgg", "CV5yz6G2Z9w", "q36ovsRziNo", "odjn_S9EIdQ", "FSsKyw-iEzY", "wjMtWMa1A80", "ABWJtxsG3eU", "k4XabFYYE7Q", "5pfiBaTNIsQ", "zRDynSEI6Fk", "iD1AGYL4bR0", "t-8_25lfMJM", "Oe_TXmyWqJ8", "0NzC4S1dgM0", "9cULliuD6nE", "EDO5ReEwdio", "XdeqVSzgy2U", "TTAXcbQpEaE", "ECAr_67wdPM", "LLacJ65FK6Y", "muI5rDkVn3A", "EbMCcAmbOOo", "IkKAj4Ki2sc", "SSGgoLGe4tY", "BT7x8jDjP_0", "duHnTnv43l8", "qWRjcOH3A38", "sZeBxpZHl_8", "269E9Qg_TJ8", "K5TDrxiDhmg", "phQpyBEcPbM", "y20UfhdVbKY", "ProjJh_PVb4", "U35NNywKWkw", "HvjbSZ1jNpQ", "ab3H7nqA4iQ", "8Fg9GartJlE", "52y4kIvGb5s", "Q8yBHGBwAnc", "rFtQq4npWC4", "5LTTw4DBUwQ", "IhN1EwbuSJE", "wIZyMQGpzEs", ...] 12:57:03.434 [debug] QUERY OK source="media_items" db=5.9ms idle=568.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")))) [116] 12:57:03.436 [debug] QUERY OK source="tasks" db=0.3ms idle=575.1ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2192026, 116, ~U[2026-04-15 12:57:03Z], ~U[2026-04-15 12:57:03Z]] 12:57:03.436 [info] {"args":{"id":116},"id":2191989,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":578245,"event":"job:stop","queue_time":195717,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:57:06.866 [info] {"args":{"id":191},"id":2191991,"meta":{},"system_time":1776257826865937572,"max_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:57:06.866 [debug] QUERY OK source="sources" db=0.2ms idle=1856.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" = ?) [191] 12:57:06.867 [debug] QUERY OK source="settings" db=0.2ms idle=1856.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:57:06.867 [debug] QUERY OK source="media_profiles" db=0.2ms idle=1010.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" = ?) [2] 12:57:06.867 [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 [] 12:57:06.868 [debug] Fetching recent media IDs from YouTube API for playlist: UUaA8WJj7rZtNb41Bb34tnTA 12:57:06.868 [debug] QUERY OK source="settings" db=0.2ms 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 [] 12:57:06.868 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 12:57:07.096 [debug] QUERY OK source="media_items" db=1.2ms idle=228.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [191, "jZPBvl0cOVg", "JAPsrunU5Lg", "9Vx5IKgj6FE", "ISsGIXK0DAo", "Id20bd5X2iU", "x6VkSJy4HNw", "2IR8K7NYkNo", "_DKN9NK3Vg4", "gG7-BfNX30Q", "liy01fr1yBE", "Jlh8uBe7RFY", "9cXfBEwntzA", "qacVmM42e_o", "O4wwG8qBqXs", "1fBaNL_3JHs", "BzxEZMf3Rjc", "AvL2XPACjik", "tuWjvViGp4o", "hzy4lCK6rM8", "H0KL7u9cC1M", "8XEOshhKUPU", "rTXEC3VFqVo", "SNRZzKVH754", "eZEP7qSvMWQ", "DsbsadX-7Rw", "oNX2TzH926Q", "ClJpxV5rPkE", "5GGq9OhxbeY", "bZMwkPXAI-0", "aGAwKq2voMw", "A7Z9XghbCsE", "jBEX06n7cWQ", "UPbV21bn7Mg", "1UgURk7PuQg", "_vndBPsf0vQ", "0UJZmJzzLVI", "EUGuC62oYgg", "ABAOXlx_WuY", "4siwTxHoj5k", "IJthhi9-Ex4", "EL8VyinqjXI", "ElgT-WHpxvk", "XigqTb7Y5OQ", "RIT7GX_bO1Y", "3wQqHyMG3yo", "X6JeIE1t1pQ", "swJSgogb9ys", "DRZ6y0qceR4", "CS-oesi4GLs", ...] 12:57:07.100 [debug] QUERY OK source="media_items" db=2.5ms idle=230.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")))) [191] 12:57:07.102 [debug] QUERY OK source="tasks" db=0.3ms idle=233.5ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2192027, 191, ~U[2026-04-15 12:57:07Z], ~U[2026-04-15 12:57:07Z]] 12:57:07.103 [info] {"args":{"id":191},"id":2191991,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":236558,"event":"job:stop","queue_time":493900,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:57:10.872 [info] {"args":{"id":202},"id":2187146,"meta":{},"system_time":1776257830872144420,"max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 12:57:10.872 [debug] QUERY OK source="sources" db=0.3ms idle=1862.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" = ?) [202] 12:57:10.873 [debug] QUERY OK source="settings" db=0.2ms idle=1862.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:57:10.874 [debug] QUERY OK source="media_items" db=0.7ms idle=1009.6ms SELECT count(*) FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [202] 12:57:10.874 [debug] QUERY OK source="media_items" db=0.2ms idle=8.9ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [202] 12:57:10.875 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 12:57:10.875 [debug] QUERY OK source="settings" db=0.1ms idle=2.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:57:10.875 [debug] QUERY OK source="settings" db=0.1ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:57:10.877 [debug] QUERY OK source="media_items" db=0.8ms 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."source_id" = ?) ORDER BY m0."uploaded_at" DESC LIMIT 50 OFFSET 20 [202] 12:57:10.885 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 12:57:10.885 [debug] Current batch of media processed. Will check again in 1000ms 12:57:10.885 [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 [] 12:57:10.886 [debug] QUERY OK source="settings" db=0.1ms idle=10.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:57:10.886 [debug] QUERY OK source="settings" db=0.1ms idle=10.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:57:10.886 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@Jarrib/shorts --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/shorts/Jarrib podcast جرّب بودكاست /Jarrib podcast جرّب بودكاست - %(upload_date>%Y-%m-%d)S - [%(id)S].%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --break-on-existing --download-archive /tmp/pinchflat/data/e6/fd/e6fdcbd1b080c188ee452cfdafea58d7afea3aef79744ef2daa797ff2406a66d.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/fb/2b/fb2b7b92073327ed44700cf15dffdfcae3594158239cc056633d34597cfb9b15.json --sleep-requests 5 --sleep-interval 4 --sleep-subtitles 4 --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 12:57:11.874 [info] {"args":{"id":545},"id":2187147,"meta":{},"system_time":1776257831874265950,"max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 12:57:11.875 [debug] QUERY OK source="sources" db=0.3ms idle=988.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" = ?) [545] 12:57:11.875 [debug] QUERY OK source="settings" db=0.2ms idle=989.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:57:11.876 [debug] QUERY OK source="media_items" db=0.4ms idle=989.3ms SELECT count(*) FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [545] 12:57:11.876 [debug] QUERY OK source="media_items" db=0.2ms idle=8.9ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [545] 12:57:11.877 [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" = ?) [2] 12:57:11.877 [debug] QUERY OK source="settings" db=0.1ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:57:11.877 [debug] QUERY OK source="settings" db=0.0ms 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 [] 12:57:11.878 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 12:57:11.878 [debug] Current batch of media processed. Will check again in 1000ms 12:57:11.878 [debug] QUERY OK source="settings" db=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 [] 12:57:11.879 [debug] QUERY OK source="settings" db=0.1ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:57:11.879 [debug] QUERY OK source="settings" db=0.1ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:57:11.879 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@Kuroot-sa/shorts --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/shorts/منصة كروت - Shorts/منصة كروت - Shorts - %(upload_date>%Y-%m-%d)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/f7/4c/f74c7f52afa299ad07f2b9f05c21d91cfde135883f0e3271486aabbe7b760ebc.json --sleep-requests 5 --sleep-interval 5 --sleep-subtitles 4 --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 12:57:11.886 [debug] Current batch of media processed. Will check again in 1000ms 12:57:12.184 [info] {"source":"oban","duration":17789,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:57:12.879 [debug] Current batch of media processed. Will check again in 1000ms 12:57:12.887 [debug] Current batch of media processed. Will check again in 1000ms 12:57:13.880 [debug] Current batch of media processed. Will check again in 1000ms 12:57:13.888 [debug] Current batch of media processed. Will check again in 1000ms 12:57:14.881 [debug] Current batch of media processed. Will check again in 1000ms 12:57:14.889 [debug] Current batch of media processed. Will check again in 1000ms 12:57:15.882 [debug] Current batch of media processed. Will check again in 1000ms 12:57:15.890 [debug] Current batch of media processed. Will check again in 1000ms 12:57:16.883 [debug] Current batch of media processed. Will check again in 1000ms 12:57:16.891 [debug] Current batch of media processed. Will check again in 1000ms 12:57:17.884 [debug] Current batch of media processed. Will check again in 1000ms 12:57:17.892 [debug] Current batch of media processed. Will check again in 1000ms 12:57:18.081 [info] GET /sources/265/media/4196219 12:57:18.082 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "4196219", "prevent_download" => "true", "source_id" => "265"} Pipelines: [:browser] 12:57:18.082 [debug] QUERY OK source="media_items" db=0.1ms idle=1072.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" = ?) [4196219] 12:57:18.083 [debug] QUERY OK source="tasks" db=0.1ms idle=1072.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" [4196219] 12:57:18.083 [debug] QUERY OK source="sources" db=0.2ms idle=1072.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" = ?) [265] 12:57:18.083 [debug] QUERY OK source="settings" db=0.1ms idle=208.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:57:18.084 [debug] QUERY OK source="settings" db=0.1ms idle=73.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:57:18.084 [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 [] 12:57:18.085 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 12:57:18.087 [info] Sent 200 in 5ms 12:57:18.885 [debug] Current batch of media processed. Will check again in 1000ms 12:57:18.893 [debug] Current batch of media processed. Will check again in 1000ms 12:57:19.886 [debug] Current batch of media processed. Will check again in 1000ms 12:57:19.894 [debug] Current batch of media processed. Will check again in 1000ms 12:57:20.887 [debug] Current batch of media processed. Will check again in 1000ms 12:57:20.895 [debug] Current batch of media processed. Will check again in 1000ms 12:57:21.888 [debug] Current batch of media processed. Will check again in 1000ms 12:57:21.896 [debug] Current batch of media processed. Will check again in 1000ms 12:57:22.889 [debug] Current batch of media processed. Will check again in 1000ms 12:57:22.897 [debug] Current batch of media processed. Will check again in 1000ms 12:57:23.890 [debug] Current batch of media processed. Will check again in 1000ms 12:57:23.898 [debug] Current batch of media processed. Will check again in 1000ms 12:57:24.891 [debug] Current batch of media processed. Will check again in 1000ms 12:57:24.899 [debug] Current batch of media processed. Will check again in 1000ms 12:57:25.892 [debug] Current batch of media processed. Will check again in 1000ms 12:57:25.900 [debug] Current batch of media processed. Will check again in 1000ms 12:57:26.893 [debug] Current batch of media processed. Will check again in 1000ms 12:57:26.901 [debug] Current batch of media processed. Will check again in 1000ms 12:57:27.894 [debug] Current batch of media processed. Will check again in 1000ms 12:57:27.902 [debug] Current batch of media processed. Will check again in 1000ms 12:57:28.895 [debug] Current batch of media processed. Will check again in 1000ms 12:57:28.903 [debug] Current batch of media processed. Will check again in 1000ms 12:57:29.896 [debug] Current batch of media processed. Will check again in 1000ms 12:57:29.904 [debug] Current batch of media processed. Will check again in 1000ms 12:57:30.897 [debug] Current batch of media processed. Will check again in 1000ms 12:57:30.905 [debug] Current batch of media processed. Will check again in 1000ms 12:57:31.898 [debug] Current batch of media processed. Will check again in 1000ms 12:57:31.906 [debug] Current batch of media processed. Will check again in 1000ms 12:57:32.899 [debug] Current batch of media processed. Will check again in 1000ms 12:57:32.907 [debug] Current batch of media processed. Will check again in 1000ms 12:57:33.900 [debug] Current batch of media processed. Will check again in 1000ms 12:57:33.908 [debug] Current batch of media processed. Will check again in 1000ms 12:57:34.901 [debug] Current batch of media processed. Will check again in 1000ms 12:57:34.909 [debug] Current batch of media processed. Will check again in 1000ms 12:57:35.902 [debug] Current batch of media processed. Will check again in 1000ms 12:57:35.910 [debug] Current batch of media processed. Will check again in 1000ms 12:57:36.903 [debug] Current batch of media processed. Will check again in 1000ms 12:57:36.911 [debug] Current batch of media processed. Will check again in 1000ms 12:57:37.904 [debug] Current batch of media processed. Will check again in 1000ms 12:57:37.912 [debug] Current batch of media processed. Will check again in 1000ms 12:57:38.905 [debug] Current batch of media processed. Will check again in 1000ms 12:57:38.913 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "حالة الفقد هي من الحالات الصعبة المؤلمة اللتي لا بد ان يواجهها الانسان في حياته, حاولت في هذه الحلقة تفكيك شعور الفقد و ما هي الاشياء اللتي تزيد الفقد صعوبة وما هي الاشياء اللتي تساعد على التشافي", "duration" => 13, "filename" => "/downloads/shorts/Jarrib podcast جرّب بودكاست#/Jarrib podcast جرّب بودكاست - 2026-04-11 - [eWg2YSo6fVg].mp4", "id" => "eWg2YSo6fVg", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/eWg2YSo6fVg", "playlist_index" => 1, "timestamp" => 1775910447, "title" => "طريقة التعامل مع الوفاة وحالة الفقد بشكل صحي", "upload_date" => "20260411"} 12:57:38.913 [debug] QUERY OK source="sources" db=0.2ms idle=903.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" IN (?)) [202] 12:57:38.914 [debug] QUERY OK source="sources" db=0.2ms idle=903.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" = ?) [202] 12:57:38.915 [debug] QUERY OK source="media_items" db=0.5ms idle=904.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-11 12:27:27Z], 202] 12:57:38.916 [debug] QUERY OK source="media_items" db=0.9ms idle=905.2ms 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" ["حالة الفقد هي من الحالات الصعبة المؤلمة اللتي لا بد ان يواجهها الانسان في حياته, حاولت في هذه الحلقة تفكيك شعور الفقد و ما هي الاشياء اللتي تزيد الفقد صعوبة وما هي الاشياء اللتي تساعد على التشافي", "طريقة التعامل مع الوفاة وحالة الفقد بشكل صحي", "ea4c5ce4-bbe3-43aa-9d18-d252b0d178c9", 13, false, "eWg2YSo6fVg", "https://www.youtube.com/shorts/eWg2YSo6fVg", 1, "/downloads/shorts/Jarrib podcast جرّب بودكاست#/Jarrib podcast جرّب بودكاست - 2026-04-11 - [eWg2YSo6fVg].mp4", false, false, true, 202, [], 98, ~U[2026-04-11 12:27:27Z], ~U[2026-04-15 12:57:38Z], ~U[2026-04-15 12:57:38Z], "حالة الفقد هي من الحالات الصعبة المؤلمة اللتي لا بد ان يواجهها الانسان في حياته, حاولت في هذه الحلقة تفكيك شعور الفقد و ما هي الاشياء اللتي تزيد الفقد صعوبة وما هي الاشياء اللتي تساعد على التشافي", "طريقة التعامل مع الوفاة وحالة الفقد بشكل صحي", 13, false, "eWg2YSo6fVg", "https://www.youtube.com/shorts/eWg2YSo6fVg", "/downloads/shorts/Jarrib podcast جرّب بودكاست#/Jarrib podcast جرّب بودكاست - 2026-04-11 - [eWg2YSo6fVg].mp4", true, 202, ~U[2026-04-11 12:27:27Z]] 12:57:38.917 [debug] QUERY OK source="sources" db=0.3ms idle=19.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" = ?) [202] 12:57:38.918 [debug] QUERY OK source="media_profiles" db=0.4ms 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" = ?) [2] 12:57:38.918 [debug] QUERY OK source="media_items" db=0.4ms idle=3.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4688394] 12:57:38.918 [debug] Current batch of media processed. Will check again in 1000ms 12:57:39.906 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "", "duration" => 44, "filename" => "/downloads/shorts/منصة كروت - Shorts/منصة كروت - Shorts - 2025-05-01 - [35uk4b7yKuQ].mp4", "id" => "35uk4b7yKuQ", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/35uk4b7yKuQ", "playlist_index" => 1, "timestamp" => 1746110807, "title" => "شي ما شفتوه .. كواليس الحلقة 03 | بودكاست فيذا", "upload_date" => "20250501"} 12:57:39.906 [debug] QUERY OK source="sources" db=0.2ms idle=990.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" IN (?)) [545] 12:57:39.907 [debug] QUERY OK source="sources" db=0.2ms idle=989.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" = ?) [545] 12:57:39.907 [debug] QUERY OK source="media_items" db=0.1ms idle=989.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-05-01 14:46:47Z], 545] 12:57:39.909 [debug] QUERY OK source="media_items" db=0.7ms idle=989.5ms INSERT INTO "media_items" AS m0 ("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) 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" ["شي ما شفتوه .. كواليس الحلقة 03 | بودكاست فيذا", "9cbc3266-15f8-4baa-a9e3-977a09420760", 44, false, "35uk4b7yKuQ", "https://www.youtube.com/shorts/35uk4b7yKuQ", 1, "/downloads/shorts/منصة كروت - Shorts/منصة كروت - Shorts - 2025-05-01 - [35uk4b7yKuQ].mp4", false, false, true, 545, [], 1, ~U[2025-05-01 14:46:47Z], ~U[2026-04-15 12:57:39Z], ~U[2026-04-15 12:57:39Z], "", "شي ما شفتوه .. كواليس الحلقة 03 | بودكاست فيذا", 44, false, "35uk4b7yKuQ", "https://www.youtube.com/shorts/35uk4b7yKuQ", "/downloads/shorts/منصة كروت - Shorts/منصة كروت - Shorts - 2025-05-01 - [35uk4b7yKuQ].mp4", true, 545, ~U[2025-05-01 14:46:47Z]] 12:57:39.909 [debug] QUERY OK source="sources" db=0.3ms idle=9.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [545] 12:57:39.910 [debug] QUERY OK source="media_profiles" db=0.3ms 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" = ?) [2] 12:57:39.910 [debug] QUERY OK source="media_items" db=0.4ms idle=3.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 [4405063] 12:57:39.911 [debug] Current batch of media processed. Will check again in 1000ms 12:57:39.919 [debug] Current batch of media processed. Will check again in 1000ms 12:57:40.912 [debug] Current batch of media processed. Will check again in 1000ms 12:57:40.920 [debug] Current batch of media processed. Will check again in 1000ms 12:57:41.913 [debug] Current batch of media processed. Will check again in 1000ms 12:57:41.921 [debug] Current batch of media processed. Will check again in 1000ms 12:57:42.202 [info] {"source":"oban","duration":17679,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:57:42.914 [debug] Current batch of media processed. Will check again in 1000ms 12:57:42.922 [debug] Current batch of media processed. Will check again in 1000ms 12:57:43.915 [debug] Current batch of media processed. Will check again in 1000ms 12:57:43.923 [debug] Current batch of media processed. Will check again in 1000ms 12:57:44.916 [debug] Current batch of media processed. Will check again in 1000ms 12:57:44.924 [debug] Current batch of media processed. Will check again in 1000ms 12:57:45.917 [debug] Current batch of media processed. Will check again in 1000ms 12:57:45.925 [debug] Current batch of media processed. Will check again in 1000ms 12:57:46.918 [debug] Current batch of media processed. Will check again in 1000ms 12:57:46.926 [debug] Current batch of media processed. Will check again in 1000ms 12:57:47.919 [debug] Current batch of media processed. Will check again in 1000ms 12:57:47.927 [debug] Current batch of media processed. Will check again in 1000ms 12:57:48.920 [debug] Current batch of media processed. Will check again in 1000ms 12:57:48.928 [debug] Current batch of media processed. Will check again in 1000ms 12:57:49.921 [debug] Current batch of media processed. Will check again in 1000ms 12:57:49.929 [debug] Current batch of media processed. Will check again in 1000ms 12:57:50.922 [debug] Current batch of media processed. Will check again in 1000ms 12:57:50.930 [debug] Current batch of media processed. Will check again in 1000ms 12:57:51.923 [debug] Current batch of media processed. Will check again in 1000ms 12:57:51.931 [debug] Current batch of media processed. Will check again in 1000ms 12:57:52.924 [debug] Current batch of media processed. Will check again in 1000ms 12:57:52.932 [debug] Current batch of media processed. Will check again in 1000ms 12:57:53.925 [debug] Current batch of media processed. Will check again in 1000ms 12:57:53.933 [debug] Current batch of media processed. Will check again in 1000ms 12:57:54.926 [debug] Current batch of media processed. Will check again in 1000ms 12:57:54.934 [debug] Current batch of media processed. Will check again in 1000ms 12:57:55.927 [debug] Current batch of media processed. Will check again in 1000ms 12:57:55.935 [debug] Current batch of media processed. Will check again in 1000ms 12:57:56.928 [debug] Current batch of media processed. Will check again in 1000ms 12:57:56.936 [debug] Current batch of media processed. Will check again in 1000ms 12:57:57.929 [debug] Current batch of media processed. Will check again in 1000ms 12:57:57.937 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "علمياً اللي بخاف من العفرين بيطلعله", "duration" => 49, "filename" => "/downloads/shorts/Jarrib podcast جرّب بودكاست#/Jarrib podcast جرّب بودكاست - 2026-03-24 - [hRRJVtWexFQ].mp4", "id" => "hRRJVtWexFQ", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/hRRJVtWexFQ", "playlist_index" => 2, "timestamp" => 1774364330, "title" => "اللي بخاف من العفريت ….", "upload_date" => "20260324"} 12:57:57.937 [debug] QUERY OK source="sources" db=0.2ms 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" IN (?)) [202] 12:57:57.938 [debug] QUERY OK source="sources" db=0.1ms idle=927.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" = ?) [202] 12:57:57.938 [debug] QUERY OK source="media_items" db=0.4ms idle=928.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-24 14:58:50Z], 202] 12:57:57.940 [debug] QUERY OK source="media_items" db=0.7ms idle=928.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" ["علمياً اللي بخاف من العفرين بيطلعله", "اللي بخاف من العفريت ….", "48c81364-ae39-4269-b02b-543bf2a21a02", 49, false, "hRRJVtWexFQ", "https://www.youtube.com/shorts/hRRJVtWexFQ", 2, "/downloads/shorts/Jarrib podcast جرّب بودكاست#/Jarrib podcast جرّب بودكاست - 2026-03-24 - [hRRJVtWexFQ].mp4", false, false, true, 202, [], 98, ~U[2026-03-24 14:58:50Z], ~U[2026-04-15 12:57:57Z], ~U[2026-04-15 12:57:57Z], "علمياً اللي بخاف من العفرين بيطلعله", "اللي بخاف من العفريت ….", 49, false, "hRRJVtWexFQ", "https://www.youtube.com/shorts/hRRJVtWexFQ", "/downloads/shorts/Jarrib podcast جرّب بودكاست#/Jarrib podcast جرّب بودكاست - 2026-03-24 - [hRRJVtWexFQ].mp4", true, 202, ~U[2026-03-24 14:58:50Z]] 12:57:57.940 [debug] QUERY OK source="sources" db=0.2ms idle=17.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" = ?) [202] 12:57:57.941 [debug] QUERY OK source="media_profiles" db=0.3ms 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" = ?) [2] 12:57:57.941 [debug] QUERY OK source="media_items" db=0.3ms idle=3.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4630887] 12:57:57.941 [debug] Current batch of media processed. Will check again in 1000ms 12:57:58.930 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "", "duration" => 57, "filename" => "/downloads/shorts/منصة كروت - Shorts/منصة كروت - Shorts - 2025-04-29 - [tX6toy1cQTg].mp4", "id" => "tX6toy1cQTg", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/tX6toy1cQTg", "playlist_index" => 2, "timestamp" => 1745915851, "title" => "نظرية الديناصور 🦖 | بودكاست فيذا", "upload_date" => "20250429"} 12:57:58.930 [debug] QUERY OK source="sources" db=0.1ms idle=990.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" IN (?)) [545] 12:57:58.931 [debug] QUERY OK source="sources" db=0.1ms idle=990.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" = ?) [545] 12:57:58.931 [debug] QUERY OK source="media_items" db=0.1ms idle=990.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-04-29 08:37:31Z], 545] 12:57:58.933 [debug] QUERY OK source="media_items" db=1.1ms idle=990.2ms INSERT INTO "media_items" AS m0 ("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) 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" ["نظرية الديناصور 🦖 | بودكاست فيذا", "e5b18717-9c09-40aa-b781-a692612ca7e1", 57, false, "tX6toy1cQTg", "https://www.youtube.com/shorts/tX6toy1cQTg", 2, "/downloads/shorts/منصة كروت - Shorts/منصة كروت - Shorts - 2025-04-29 - [tX6toy1cQTg].mp4", false, false, true, 545, [], 1, ~U[2025-04-29 08:37:31Z], ~U[2026-04-15 12:57:58Z], ~U[2026-04-15 12:57:58Z], "", "نظرية الديناصور 🦖 | بودكاست فيذا", 57, false, "tX6toy1cQTg", "https://www.youtube.com/shorts/tX6toy1cQTg", "/downloads/shorts/منصة كروت - Shorts/منصة كروت - Shorts - 2025-04-29 - [tX6toy1cQTg].mp4", true, 545, ~U[2025-04-29 08:37:31Z]] 12:57:58.933 [debug] QUERY OK source="sources" db=0.3ms idle=8.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [545] 12:57:58.934 [debug] QUERY OK source="media_profiles" db=0.3ms idle=3.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 12:57:58.935 [debug] QUERY OK source="media_items" db=0.4ms idle=3.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 [4405065] 12:57:58.935 [debug] Current batch of media processed. Will check again in 1000ms 12:57:58.942 [debug] Current batch of media processed. Will check again in 1000ms 12:57:59.936 [debug] Current batch of media processed. Will check again in 1000ms 12:57:59.943 [debug] Current batch of media processed. Will check again in 1000ms 12:58:00.834 [info] {"source":"oban","duration":190,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:58:00.937 [debug] Current batch of media processed. Will check again in 1000ms 12:58:00.944 [debug] Current batch of media processed. Will check again in 1000ms 12:58:01.938 [debug] Current batch of media processed. Will check again in 1000ms 12:58:01.945 [debug] Current batch of media processed. Will check again in 1000ms 12:58:02.939 [debug] Current batch of media processed. Will check again in 1000ms 12:58:02.939 [info] {"args":{"id":398},"id":2191992,"meta":{},"system_time":1776257882939158967,"max_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:58:02.939 [debug] QUERY OK source="sources" db=0.3ms idle=929.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" = ?) [398] 12:58:02.940 [debug] QUERY OK source="settings" db=0.2ms idle=929.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:58:02.940 [debug] QUERY OK source="media_profiles" db=0.3ms idle=930.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" = ?) [2] 12:58:02.941 [debug] QUERY OK source="settings" db=0.2ms idle=8.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:58:02.941 [debug] Fetching recent media IDs from YouTube API for playlist: UUCbIqqUYqlvskcT4UJKgp0A 12:58:02.941 [debug] QUERY OK source="settings" db=0.1ms idle=2.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:58:02.941 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 12:58:02.946 [debug] Current batch of media processed. Will check again in 1000ms 12:58:03.268 [debug] QUERY OK source="media_items" db=1.3ms idle=327.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [398, "TMMZYc9IgDA", "17sWgRsYQqY", "ZpjrNISTUh0", "NEeBdV2GB8U", "6UEKxr0CjGg", "NWCVD7myp4o", "MhK3gfLvTNw", "eEHajx5JzSs", "I4XkUPlVuNA", "BBHjfuE8uYc", "oaummeIbyiE", "IAYtkgRgV1o", "4zhXB40pfuQ", "O0-9r7OeVjg", "BR1SZVInqnw", "7wBlas-p7zU", "xEHgIoiu8WU", "2zWSjk5Vqn8", "7xtXhYC1oLM", "8bg5pYHU1rU", "StfQN_0vmWs", "kSuw_nrQou0", "--cc1UnTZOM", "v02AjJzWA5c", "gTuMrWqxe7s", "p-v9j1CbD5s", "3YFqKJeDWQk", "X5EsXmOGxkQ", "zkCjl4vhiVI", "QBLbqY5Ea-U", "p1Ca3rBtM_0", "80PF1Vatv4o", "cof4ynZjXTg", "aNEFg5WCC_s", "1l8S9eDgjms", "fQG9_ZWhmps", "mG6ZDr2-_0E", "SGZJHTfLUFY", "sIbaqt6JzeU", "YTFHrYqpmDA", "EggNQNf4-xg", "SDmB0xlDdw0", "d55qkSwiDEo", "75tg3p5h8K8", "NN-DFa3l_xs", "ICTzn9oQJjQ", "lGi0YQw2FHw", "uo6mStUoJjc", "fYOGrcWS7vk", ...] 12:58:03.271 [debug] QUERY OK source="media_items" db=1.8ms idle=329.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")))) [398] 12:58:03.273 [debug] QUERY OK source="tasks" db=0.3ms idle=331.2ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2192028, 398, ~U[2026-04-15 12:58:03Z], ~U[2026-04-15 12:58:03Z]] 12:58:03.274 [info] {"args":{"id":398},"id":2191992,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":334444,"event":"job:stop","queue_time":506693,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:58:03.940 [debug] Current batch of media processed. Will check again in 1000ms 12:58:03.947 [debug] Current batch of media processed. Will check again in 1000ms 12:58:04.941 [debug] Current batch of media processed. Will check again in 1000ms 12:58:04.948 [debug] Current batch of media processed. Will check again in 1000ms 12:58:05.942 [debug] Current batch of media processed. Will check again in 1000ms 12:58:05.949 [debug] Current batch of media processed. Will check again in 1000ms 12:58:06.943 [debug] Current batch of media processed. Will check again in 1000ms 12:58:06.950 [debug] Current batch of media processed. Will check again in 1000ms 12:58:07.944 [debug] Current batch of media processed. Will check again in 1000ms 12:58:07.951 [debug] Current batch of media processed. Will check again in 1000ms 12:58:08.945 [debug] Current batch of media processed. Will check again in 1000ms 12:58:08.952 [debug] Current batch of media processed. Will check again in 1000ms 12:58:09.946 [debug] Current batch of media processed. Will check again in 1000ms 12:58:09.953 [debug] Current batch of media processed. Will check again in 1000ms 12:58:10.947 [debug] Current batch of media processed. Will check again in 1000ms 12:58:10.954 [debug] Current batch of media processed. Will check again in 1000ms 12:58:11.948 [debug] Current batch of media processed. Will check again in 1000ms 12:58:11.955 [debug] Current batch of media processed. Will check again in 1000ms 12:58:12.220 [info] {"source":"oban","duration":17520,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:58:12.949 [debug] Current batch of media processed. Will check again in 1000ms 12:58:12.956 [debug] Current batch of media processed. Will check again in 1000ms 12:58:13.950 [debug] Current batch of media processed. Will check again in 1000ms 12:58:13.957 [debug] Current batch of media processed. Will check again in 1000ms 12:58:14.951 [debug] Current batch of media processed. Will check again in 1000ms 12:58:14.958 [debug] Current batch of media processed. Will check again in 1000ms 12:58:15.952 [debug] Current batch of media processed. Will check again in 1000ms 12:58:15.956 [info] {"args":{"id":411},"id":2191993,"meta":{},"system_time":1776257895956246572,"max_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:58:15.956 [debug] QUERY OK source="sources" db=0.3ms idle=946.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" = ?) [411] 12:58:15.957 [debug] QUERY OK source="settings" db=0.2ms idle=946.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:58:15.958 [debug] QUERY OK source="media_profiles" db=0.8ms 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" = ?) [2] 12:58:15.958 [debug] QUERY OK source="settings" db=0.2ms idle=9.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:58:15.959 [debug] Fetching recent media IDs from YouTube API for playlist: UUDItXi7_EXg4AEviycQNaLQ 12:58:15.959 [debug] Current batch of media processed. Will check again in 1000ms 12:58:15.959 [debug] QUERY OK source="settings" db=0.1ms idle=3.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:58:15.959 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 12:58:16.379 [debug] QUERY OK source="media_items" db=0.8ms idle=421.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [411, "JuDij37WcMQ", "rfg7AvtzW-w", "9D2z-swZk04", "z8Yxq-sXAEY", "M9BoVFGH0RY", "t8d0ZZmhz0U", "-yt8Js4ud6A", "4dW9FV5t4Yo", "ATPqDugamkY", "AXV7sIoRgkM", "TMmET7MMEYk", "fAXX1Gaj5XA", "s-1LQGqIeyM", "Td5Sf4q51bk", "QRrz7bLpg5Q", "iKP4LnL6Iy0", "EO4McLmPyJQ", "Ir9G5100kN0", "gA_5V8GkswQ", "Bq2dgjvq74I", "u7Q0hVQPYkE", "VH2u9XmsStE", "WC5MwjCb-m4", "UDCNa698Jrk", "hba6Wln8hFY", "ap2i_nGoQ4c", "UWGhRXAqpAA", "XeMCi0Np7cI", "4z4pMvSEcb0", "GvXJejZfMdY", "E0XS1NX_tcQ", "0q7aRwmrbtg", "CUmm-3krENA", "2rZzuysCjmg", "sbN8KmyhtQk", "d6rZg1_QO_M", "4PSn3m7r7O8", "W_yHf301OD0", "88HufGqVfCU", "FAbVG6RVX-M", "5oMDMqp8aNg", "7trWvdh3-xM", "EmvBf7NJPDo", "AfD6sytM9e8", "rckwoxIA8zI", "DC9ihJ9j8tg", "i8M4cmPln74", "aY6KSMYwGhA", "FITQe52CL6k", ...] 12:58:16.386 [debug] QUERY OK source="media_items" db=5.0ms idle=423.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")))) [411] 12:58:16.388 [debug] QUERY OK source="tasks" db=0.4ms idle=428.2ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2192029, 411, ~U[2026-04-15 12:58:16Z], ~U[2026-04-15 12:58:16Z]] 12:58:16.388 [info] {"args":{"id":411},"id":2191993,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":431970,"event":"job:stop","queue_time":465825,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:58:16.953 [debug] Current batch of media processed. Will check again in 1000ms 12:58:16.960 [debug] Current batch of media processed. Will check again in 1000ms 12:58:17.954 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "", "duration" => 55, "filename" => "/downloads/shorts/منصة كروت - Shorts/منصة كروت - Shorts - 2025-04-28 - [vdr76Pvx8rc].mp4", "id" => "vdr76Pvx8rc", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/vdr76Pvx8rc", "playlist_index" => 3, "timestamp" => 1745829665, "title" => "هل انت مستعد للحج ! 🕋 | بودكاست فيذا", "upload_date" => "20250428"} 12:58:17.954 [debug] QUERY OK source="sources" db=0.3ms idle=1566.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" IN (?)) [545] 12:58:17.955 [debug] QUERY OK source="sources" db=0.3ms idle=1566.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" = ?) [545] 12:58:17.956 [debug] QUERY OK source="media_items" db=0.3ms idle=1560.8ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-04-28 08:41:05Z], 545] 12:58:17.957 [debug] QUERY OK source="media_items" db=0.8ms idle=1005.8ms INSERT INTO "media_items" AS m0 ("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) 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" ["هل انت مستعد للحج ! 🕋 | بودكاست فيذا", "d30c057f-6a36-4b85-9d09-e9eea93ba3d5", 55, false, "vdr76Pvx8rc", "https://www.youtube.com/shorts/vdr76Pvx8rc", 3, "/downloads/shorts/منصة كروت - Shorts/منصة كروت - Shorts - 2025-04-28 - [vdr76Pvx8rc].mp4", false, false, true, 545, [], 1, ~U[2025-04-28 08:41:05Z], ~U[2026-04-15 12:58:17Z], ~U[2026-04-15 12:58:17Z], "", "هل انت مستعد للحج ! 🕋 | بودكاست فيذا", 55, false, "vdr76Pvx8rc", "https://www.youtube.com/shorts/vdr76Pvx8rc", "/downloads/shorts/منصة كروت - Shorts/منصة كروت - Shorts - 2025-04-28 - [vdr76Pvx8rc].mp4", true, 545, ~U[2025-04-28 08:41:05Z]] 12:58:17.958 [debug] QUERY OK source="sources" db=0.3ms idle=5.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" = ?) [545] 12:58:17.959 [debug] QUERY OK source="media_profiles" db=0.7ms 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" = ?) [2] 12:58:17.959 [info] {"args":{"id":174},"id":2191994,"meta":{},"system_time":1776257897959437452,"max_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:58:17.960 [debug] QUERY OK source="media_items" db=0.5ms idle=3.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 [4405067] 12:58:17.960 [debug] Current batch of media processed. Will check again in 1000ms 12:58:17.960 [debug] QUERY OK source="sources" db=0.3ms idle=2.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [174] 12:58:17.960 [debug] QUERY OK source="settings" db=0.2ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:58:17.961 [debug] QUERY OK source="media_profiles" db=0.2ms idle=1.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 12:58:17.961 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "علاج التفكير الزائد الحقيقي هو معالجة الشعور وليس التخلص من الأفكار نفسها. \n#صحة_نفسية #overthinker #التفكير_الزائد", "duration" => 32, "filename" => "/downloads/shorts/Jarrib podcast جرّب بودكاست#/Jarrib podcast جرّب بودكاست - 2026-03-22 - [0yVF--X98iE].mp4", "id" => "0yVF--X98iE", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/0yVF--X98iE", "playlist_index" => 3, "timestamp" => 1774200225, "title" => "علاج التفكير الزائد", "upload_date" => "20260322"} 12:58:17.961 [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 [] 12:58:17.961 [debug] Fetching recent media IDs from YouTube API for playlist: UUgh7hDxRUy44n2C0fpuweuA 12:58:17.961 [debug] QUERY OK source="sources" db=0.4ms 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" IN (?)) [202] 12:58:17.962 [debug] QUERY OK source="settings" db=0.4ms 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 [] 12:58:17.962 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 12:58:17.962 [debug] QUERY OK source="sources" db=0.3ms 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" = ?) [202] 12:58:17.963 [debug] QUERY OK source="media_items" db=0.5ms idle=1.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-22 17:23:45Z], 202] 12:58:17.964 [debug] QUERY OK source="media_items" db=0.6ms idle=2.1ms 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" ["علاج التفكير الزائد الحقيقي هو معالجة الشعور وليس التخلص من الأفكار نفسها. \n#صحة_نفسية #overthinker #التفكير_الزائد", "علاج التفكير الزائد", "2ae1caa0-7cc3-42f3-aef2-6ca6c330bffd", 32, false, "0yVF--X98iE", "https://www.youtube.com/shorts/0yVF--X98iE", 3, "/downloads/shorts/Jarrib podcast جرّب بودكاست#/Jarrib podcast جرّب بودكاست - 2026-03-22 - [0yVF--X98iE].mp4", false, false, true, 202, [], 98, ~U[2026-03-22 17:23:45Z], ~U[2026-04-15 12:58:17Z], ~U[2026-04-15 12:58:17Z], "علاج التفكير الزائد الحقيقي هو معالجة الشعور وليس التخلص من الأفكار نفسها. \n#صحة_نفسية #overthinker #التفكير_الزائد", "علاج التفكير الزائد", 32, false, "0yVF--X98iE", "https://www.youtube.com/shorts/0yVF--X98iE", "/downloads/shorts/Jarrib podcast جرّب بودكاست#/Jarrib podcast جرّب بودكاست - 2026-03-22 - [0yVF--X98iE].mp4", true, 202, ~U[2026-03-22 17:23:45Z]] 12:58:17.965 [debug] QUERY OK source="sources" db=0.3ms 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" = ?) [202] 12:58:17.965 [debug] QUERY OK source="media_profiles" db=0.3ms idle=3.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 12:58:17.966 [debug] QUERY OK source="media_items" db=0.4ms idle=3.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 [4630889] 12:58:17.966 [debug] Current batch of media processed. Will check again in 1000ms 12:58:18.359 [debug] QUERY OK source="media_items" db=1.4ms idle=394.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [174, "mnC32YQtLaM", "jFCnvX91Mf4", "ZBliwo9EBTQ", "ZtWxlUBlUeo", "O_YT14LOkV8", "vYkXCwBxaWk", "GQMcWcp7iII", "PM2hH6k6FAI", "OnPyArQdyqU", "yTmwiByqRB4", "2R_i6g6M1mU", "h6D3xHSmiN0", "LinnkM4bD5s", "mdTPRWg-mDY", "TNWDyRo9sgE", "jHQ67V9Qb_Y", "6KE_NGb5aQY", "9rxm1nOYr8U", "ALNHb-rmLqA", "5LZmm3G4abs", "hdGp9pZRWkE", "1-1VVVYCDxY", "PGgqj8Oc8qc", "BrRSe7jghBo", "ByP2G4j7jWE", "5bz0UaSzhe8", "OeUKShLLZoo", "PW3wFLy8tTM", "nY_bmBNlXO4", "nHoIck64yfU", "Ua1t9a59osg", "4Ipt1YC6Rsk", "Z0BjSmk8gCY", "Dz55V0-TnsE", "YXP5BmHMuJ8", "TSCLkDgFNis", "uwCW0TMNShU", "tBg3xMaUV7I", "Bj43Cq2_Wds", "361tk2e_sQc", "2W-0YlJUzHE", "YmvxFHR1Upg", "_ERvQbE6Qcg", "JKKOKWe6WUY", "h9ZvZQR8S6Q", "fw5S0jLGyw0", "Q9K5nuhZXso", "sOfyTqif9yg", "_4saIvJyiZY", ...] 12:58:18.364 [debug] QUERY OK source="media_items" db=3.2ms idle=396.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")))) [174] 12:58:18.366 [debug] QUERY OK source="tasks" db=0.3ms idle=399.8ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2192030, 174, ~U[2026-04-15 12:58:18Z], ~U[2026-04-15 12:58:18Z]] 12:58:18.367 [info] {"args":{"id":174},"id":2191994,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":407043,"event":"job:stop","queue_time":301467,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:58:18.961 [debug] Current batch of media processed. Will check again in 1000ms 12:58:18.967 [debug] Current batch of media processed. Will check again in 1000ms 12:58:19.962 [debug] Current batch of media processed. Will check again in 1000ms 12:58:19.968 [debug] Current batch of media processed. Will check again in 1000ms 12:58:20.963 [debug] Current batch of media processed. Will check again in 1000ms 12:58:20.969 [debug] Current batch of media processed. Will check again in 1000ms 12:58:21.964 [debug] Current batch of media processed. Will check again in 1000ms 12:58:21.970 [debug] Current batch of media processed. Will check again in 1000ms 12:58:22.886 [info] GET /sources/112/media/4682800/force_download 12:58:22.886 [debug] QUERY OK source="settings" db=0.1ms idle=927.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:58:22.886 [debug] QUERY OK source="settings" db=0.1ms idle=876.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:58:22.887 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 12:58:22.887 [error] #PID<0.5626.0> running PinchflatWeb.Endpoint (connection #PID<0.5625.0>, stream id 1) terminated Server: jak.hibeex.com:80 (http) Request: GET /sources/112/media/4682800/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/112/media/4682800/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5625.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/112/media/4682800/force_download", host: "jak.hibeex.com", peer: {{172, 22, 0, 1}, 49060}, bindings: %{}, sock: {{172, 22, 0, 4}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "from" => "gptbot(at)openai.com", "host" => "jak.hibeex.com", "referer" => "https://jak.hibeex.com/sources/112/media/4682800?prevent_download=true", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.232", "x-forwarded-proto" => "https", "x-openai-host-hash" => "41517590", "x-real-ip" => "74.7.243.232" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "jak.hibeex.com", method: "GET", owner: #PID<0.5626.0>, params: %{}, path_info: ["sources", "112", "media", "4682800", "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://jak.hibeex.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 22, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"connection", "close"}, {"from", "gptbot(at)openai.com"}, {"host", "jak.hibeex.com"}, {"referer", "https://jak.hibeex.com/sources/112/media/4682800?prevent_download=true"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)"}, {"x-forwarded-for", "74.7.243.232"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "41517590"}, {"x-real-ip", "74.7.243.232"} ], request_path: "/sources/112/media/4682800/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKaJJtMANKp1gOkAA4oB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5625.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/112/media/4682800/force_download", host: "jak.hibeex.com", peer: {{172, 22, 0, 1}, 49060}, bindings: %{}, sock: {{172, 22, 0, 4}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "from" => "gptbot(at)openai.com", "host" => "jak.hibeex.com", "referer" => "https://jak.hibeex.com/sources/112/media/4682800?prevent_download=true", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.232", "x-forwarded-proto" => "https", "x-openai-host-hash" => "41517590", "x-real-ip" => "74.7.243.232" }, method: "GET", body_length: 0, path_info: :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/112/media/4682800/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5625.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/112/media/4682800/force_download", host: "jak.hibeex.com", peer: {{172, 22, 0, 1}, 49060}, bindings: %{}, sock: {{172, 22, 0, 4}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "from" => "gptbot(at)openai.com", "host" => "jak.hibeex.com", "referer" => "https://jak.hibeex.com/sources/112/media/4682800?prevent_download=true", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.232", "x-forwarded-proto" => "https", "x-openai-host-hash" => "41517590", "x-real-ip" => "74.7.243.232" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "jak.hibeex.com", method: "GET", owner: #PID<0.5626.0>, params: %{}, path_info: ["sources", "112", "media", "4682800", "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://jak.hibeex.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, (truncated) 12:58:22.965 [debug] Current batch of media processed. Will check again in 1000ms 12:58:22.971 [debug] Current batch of media processed. Will check again in 1000ms 12:58:23.966 [debug] Current batch of media processed. Will check again in 1000ms 12:58:23.972 [debug] Current batch of media processed. Will check again in 1000ms 12:58:24.967 [debug] Current batch of media processed. Will check again in 1000ms 12:58:24.973 [debug] Current batch of media processed. Will check again in 1000ms 12:58:25.968 [debug] Current batch of media processed. Will check again in 1000ms 12:58:25.974 [debug] Current batch of media processed. Will check again in 1000ms 12:58:26.969 [debug] Current batch of media processed. Will check again in 1000ms 12:58:26.975 [debug] Current batch of media processed. Will check again in 1000ms 12:58:27.970 [debug] Current batch of media processed. Will check again in 1000ms 12:58:27.976 [debug] Current batch of media processed. Will check again in 1000ms 12:58:28.971 [debug] Current batch of media processed. Will check again in 1000ms 12:58:28.977 [debug] Current batch of media processed. Will check again in 1000ms 12:58:29.972 [debug] Current batch of media processed. Will check again in 1000ms 12:58:29.978 [debug] Current batch of media processed. Will check again in 1000ms 12:58:30.973 [debug] Current batch of media processed. Will check again in 1000ms 12:58:30.979 [debug] Current batch of media processed. Will check again in 1000ms 12:58:31.974 [debug] Current batch of media processed. Will check again in 1000ms 12:58:31.980 [debug] Current batch of media processed. Will check again in 1000ms 12:58:32.975 [debug] Current batch of media processed. Will check again in 1000ms 12:58:32.981 [debug] Current batch of media processed. Will check again in 1000ms 12:58:33.976 [debug] Current batch of media processed. Will check again in 1000ms 12:58:33.982 [debug] Current batch of media processed. Will check again in 1000ms 12:58:34.977 [debug] Current batch of media processed. Will check again in 1000ms 12:58:34.983 [debug] Current batch of media processed. Will check again in 1000ms 12:58:35.978 [debug] Current batch of media processed. Will check again in 1000ms 12:58:35.984 [debug] Current batch of media processed. Will check again in 1000ms 12:58:36.979 [debug] Current batch of media processed. Will check again in 1000ms 12:58:36.985 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "مشكلة التعامل مع المشاعر و المشاكل النفسية انه وانت رايق ما في داعي تعمل اشي، وانت مش رايق ما بتقدر تعمل اشي، فالحل هو استغلال اوقات الرواق في حل المشاكل. \n#جرب_بودكاست #صحة_نفسية", "duration" => 30, "filename" => "/downloads/shorts/Jarrib podcast جرّب بودكاست#/Jarrib podcast جرّب بودكاست - 2026-03-19 - [5L7GtmahopM].mp4", "id" => "5L7GtmahopM", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/5L7GtmahopM", "playlist_index" => 4, "timestamp" => 1773929963, "title" => "ما في داعي", "upload_date" => "20260319"} 12:58:36.985 [debug] QUERY OK source="sources" db=0.1ms idle=975.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" IN (?)) [202] 12:58:36.986 [debug] QUERY OK source="sources" db=0.2ms idle=975.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" = ?) [202] 12:58:36.987 [debug] QUERY OK source="media_items" db=0.5ms idle=976.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-19 14:19:23Z], 202] 12:58:36.988 [debug] QUERY OK source="media_items" db=0.8ms idle=977.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" ["مشكلة التعامل مع المشاعر و المشاكل النفسية انه وانت رايق ما في داعي تعمل اشي، وانت مش رايق ما بتقدر تعمل اشي، فالحل هو استغلال اوقات الرواق في حل المشاكل. \n#جرب_بودكاست #صحة_نفسية", "ما في داعي", "75e11c2c-4d98-4c10-a392-6ceefc20d8e4", 30, false, "5L7GtmahopM", "https://www.youtube.com/shorts/5L7GtmahopM", 4, "/downloads/shorts/Jarrib podcast جرّب بودكاست#/Jarrib podcast جرّب بودكاست - 2026-03-19 - [5L7GtmahopM].mp4", false, false, true, 202, [], 98, ~U[2026-03-19 14:19:23Z], ~U[2026-04-15 12:58:36Z], ~U[2026-04-15 12:58:36Z], "مشكلة التعامل مع المشاعر و المشاكل النفسية انه وانت رايق ما في داعي تعمل اشي، وانت مش رايق ما بتقدر تعمل اشي، فالحل هو استغلال اوقات الرواق في حل المشاكل. \n#جرب_بودكاست #صحة_نفسية", "ما في داعي", 30, false, "5L7GtmahopM", "https://www.youtube.com/shorts/5L7GtmahopM", "/downloads/shorts/Jarrib podcast جرّب بودكاست#/Jarrib podcast جرّب بودكاست - 2026-03-19 - [5L7GtmahopM].mp4", true, 202, ~U[2026-03-19 14:19:23Z]] 12:58:36.988 [debug] QUERY OK source="sources" db=0.3ms idle=12.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [202] 12:58:36.989 [debug] QUERY OK source="media_profiles" db=0.3ms 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" = ?) [2] 12:58:36.990 [debug] QUERY OK source="media_items" db=0.3ms idle=3.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4630891] 12:58:36.990 [debug] Current batch of media processed. Will check again in 1000ms 12:58:37.980 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "", "duration" => 59, "filename" => "/downloads/shorts/منصة كروت - Shorts/منصة كروت - Shorts - 2025-04-21 - [PDH9x8uQ8Lk].mp4", "id" => "PDH9x8uQ8Lk", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/PDH9x8uQ8Lk", "playlist_index" => 4, "timestamp" => 1745250632, "title" => "عبدالرحمن العنزي XQ55 | بودكاست فيذا", "upload_date" => "20250421"} 12:58:37.980 [debug] QUERY OK source="sources" db=0.2ms idle=992.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" IN (?)) [545] 12:58:37.981 [debug] QUERY OK source="sources" db=0.1ms idle=992.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" = ?) [545] 12:58:37.981 [debug] QUERY OK source="media_items" db=0.1ms idle=992.0ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-04-21 15:50:32Z], 545] 12:58:37.982 [debug] QUERY OK source="media_items" db=0.6ms idle=991.9ms INSERT INTO "media_items" AS m0 ("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) 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" ["عبدالرحمن العنزي XQ55 | بودكاست فيذا", "964bad7b-4b47-4d20-9e0a-4a43ed6ee2df", 59, false, "PDH9x8uQ8Lk", "https://www.youtube.com/shorts/PDH9x8uQ8Lk", 4, "/downloads/shorts/منصة كروت - Shorts/منصة كروت - Shorts - 2025-04-21 - [PDH9x8uQ8Lk].mp4", false, false, true, 545, [], 1, ~U[2025-04-21 15:50:32Z], ~U[2026-04-15 12:58:37Z], ~U[2026-04-15 12:58:37Z], "", "عبدالرحمن العنزي XQ55 | بودكاست فيذا", 59, false, "PDH9x8uQ8Lk", "https://www.youtube.com/shorts/PDH9x8uQ8Lk", "/downloads/shorts/منصة كروت - Shorts/منصة كروت - Shorts - 2025-04-21 - [PDH9x8uQ8Lk].mp4", true, 545, ~U[2025-04-21 15:50:32Z]] 12:58:37.983 [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" = ?) [545] 12:58:37.983 [debug] QUERY OK source="media_profiles" db=0.3ms 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" = ?) [2] 12:58:37.984 [debug] QUERY OK source="media_items" db=0.3ms idle=2.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4405069] 12:58:37.984 [debug] Current batch of media processed. Will check again in 1000ms 12:58:37.991 [debug] Current batch of media processed. Will check again in 1000ms 12:58:38.985 [debug] Current batch of media processed. Will check again in 1000ms 12:58:38.992 [debug] Current batch of media processed. Will check again in 1000ms 12:58:39.986 [debug] Current batch of media processed. Will check again in 1000ms 12:58:39.993 [debug] Current batch of media processed. Will check again in 1000ms 12:58:40.987 [debug] Current batch of media processed. Will check again in 1000ms 12:58:40.994 [debug] Current batch of media processed. Will check again in 1000ms 12:58:41.988 [debug] Current batch of media processed. Will check again in 1000ms 12:58:41.995 [debug] Current batch of media processed. Will check again in 1000ms 12:58:42.231 [info] {"source":"oban","duration":10551,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:58:42.989 [debug] Current batch of media processed. Will check again in 1000ms 12:58:42.996 [debug] Current batch of media processed. Will check again in 1000ms 12:58:43.990 [debug] Current batch of media processed. Will check again in 1000ms 12:58:43.997 [debug] Current batch of media processed. Will check again in 1000ms 12:58:44.991 [debug] Current batch of media processed. Will check again in 1000ms 12:58:44.998 [debug] Current batch of media processed. Will check again in 1000ms 12:58:45.992 [debug] Current batch of media processed. Will check again in 1000ms 12:58:45.999 [debug] Current batch of media processed. Will check again in 1000ms 12:58:46.993 [debug] Current batch of media processed. Will check again in 1000ms 12:58:47.000 [debug] Current batch of media processed. Will check again in 1000ms 12:58:47.994 [debug] Current batch of media processed. Will check again in 1000ms 12:58:48.001 [debug] Current batch of media processed. Will check again in 1000ms 12:58:48.995 [debug] Current batch of media processed. Will check again in 1000ms 12:58:49.002 [debug] Current batch of media processed. Will check again in 1000ms 12:58:49.996 [debug] Current batch of media processed. Will check again in 1000ms 12:58:50.003 [debug] Current batch of media processed. Will check again in 1000ms 12:58:50.997 [debug] Current batch of media processed. Will check again in 1000ms 12:58:51.004 [debug] Current batch of media processed. Will check again in 1000ms 12:58:51.998 [debug] Current batch of media processed. Will check again in 1000ms 12:58:52.005 [debug] Current batch of media processed. Will check again in 1000ms 12:58:52.999 [debug] Current batch of media processed. Will check again in 1000ms 12:58:53.006 [debug] Current batch of media processed. Will check again in 1000ms 12:58:54.000 [debug] Current batch of media processed. Will check again in 1000ms 12:58:54.007 [debug] Current batch of media processed. Will check again in 1000ms 12:58:55.001 [debug] Current batch of media processed. Will check again in 1000ms 12:58:55.008 [debug] Current batch of media processed. Will check again in 1000ms 12:58:56.002 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "", "duration" => 55, "filename" => "/downloads/shorts/منصة كروت - Shorts/منصة كروت - Shorts - 2025-04-20 - [NtUWIuqrbK0].mp4", "id" => "NtUWIuqrbK0", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/NtUWIuqrbK0", "playlist_index" => 5, "timestamp" => 1745178521, "title" => "فقرة أسئلة مع ثامر 🕹️", "upload_date" => "20250420"} 12:58:56.002 [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" IN (?)) [545] 12:58:56.003 [debug] QUERY OK source="sources" db=0.1ms idle=992.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" = ?) [545] 12:58:56.003 [debug] QUERY OK source="media_items" db=0.1ms idle=993.1ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-04-20 19:48:41Z], 545] 12:58:56.004 [debug] QUERY OK source="media_items" db=0.6ms idle=993.6ms INSERT INTO "media_items" AS m0 ("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) 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" ["فقرة أسئلة مع ثامر 🕹️", "b9d2e065-cd06-4d91-9eaf-9aec23c94193", 55, false, "NtUWIuqrbK0", "https://www.youtube.com/shorts/NtUWIuqrbK0", 5, "/downloads/shorts/منصة كروت - Shorts/منصة كروت - Shorts - 2025-04-20 - [NtUWIuqrbK0].mp4", false, false, true, 545, [], 2, ~U[2025-04-20 19:48:41Z], ~U[2026-04-15 12:58:56Z], ~U[2026-04-15 12:58:56Z], "", "فقرة أسئلة مع ثامر 🕹️", 55, false, "NtUWIuqrbK0", "https://www.youtube.com/shorts/NtUWIuqrbK0", "/downloads/shorts/منصة كروت - Shorts/منصة كروت - Shorts - 2025-04-20 - [NtUWIuqrbK0].mp4", true, 545, ~U[2025-04-20 19:48:41Z]] 12:58:56.005 [debug] QUERY OK source="sources" db=0.2ms 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" = ?) [545] 12:58:56.005 [debug] QUERY OK source="media_profiles" db=0.3ms idle=2.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" = ?) [2] 12:58:56.006 [debug] QUERY OK source="media_items" db=0.3ms idle=2.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4405071] 12:58:56.006 [debug] Current batch of media processed. Will check again in 1000ms 12:58:56.009 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "رمضان البداية وليس النهاية، اللهم بلغنا رمضان القادم ونحن بحال أفضل لا فاقدين ولا مفقودين يا رب العالمين.\n#رمضان #صحة_نفسية", "duration" => 36, "filename" => "/downloads/shorts/Jarrib podcast جرّب بودكاست#/Jarrib podcast جرّب بودكاست - 2026-03-16 - [yXmL50afbLI].mp4", "id" => "yXmL50afbLI", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/yXmL50afbLI", "playlist_index" => 5, "timestamp" => 1773691812, "title" => "رمضان البداية وليس النهاية", "upload_date" => "20260316"} 12:58:56.009 [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" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [202] 12:58:56.010 [debug] QUERY OK source="sources" db=0.1ms idle=5.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [202] 12:58:56.010 [debug] QUERY OK source="media_items" db=0.4ms idle=5.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-16 20:10:12Z], 202] 12:58:56.011 [debug] QUERY OK source="media_items" db=0.7ms idle=5.4ms 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" ["رمضان البداية وليس النهاية، اللهم بلغنا رمضان القادم ونحن بحال أفضل لا فاقدين ولا مفقودين يا رب العالمين.\n#رمضان #صحة_نفسية", "رمضان البداية وليس النهاية", "05651097-0fb0-4487-a86c-0209aa17a46a", 36, false, "yXmL50afbLI", "https://www.youtube.com/shorts/yXmL50afbLI", 5, "/downloads/shorts/Jarrib podcast جرّب بودكاست#/Jarrib podcast جرّب بودكاست - 2026-03-16 - [yXmL50afbLI].mp4", false, false, true, 202, [], 98, ~U[2026-03-16 20:10:12Z], ~U[2026-04-15 12:58:56Z], ~U[2026-04-15 12:58:56Z], "رمضان البداية وليس النهاية، اللهم بلغنا رمضان القادم ونحن بحال أفضل لا فاقدين ولا مفقودين يا رب العالمين.\n#رمضان #صحة_نفسية", "رمضان البداية وليس النهاية", 36, false, "yXmL50afbLI", "https://www.youtube.com/shorts/yXmL50afbLI", "/downloads/shorts/Jarrib podcast جرّب بودكاست#/Jarrib podcast جرّب بودكاست - 2026-03-16 - [yXmL50afbLI].mp4", true, 202, ~U[2026-03-16 20:10:12Z]] 12:58:56.012 [debug] QUERY OK source="sources" db=0.2ms idle=5.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [202] 12:58:56.012 [debug] QUERY OK source="media_profiles" db=0.3ms 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" = ?) [2] 12:58:56.014 [debug] QUERY OK source="media_items" db=0.9ms idle=3.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 [4630893] 12:58:56.014 [debug] Current batch of media processed. Will check again in 1000ms 12:58:57.007 [debug] Current batch of media processed. Will check again in 1000ms 12:58:57.015 [debug] Current batch of media processed. Will check again in 1000ms 12:58:58.008 [debug] Current batch of media processed. Will check again in 1000ms 12:58:58.016 [debug] Current batch of media processed. Will check again in 1000ms 12:58:59.009 [debug] Current batch of media processed. Will check again in 1000ms 12:58:59.017 [debug] Current batch of media processed. Will check again in 1000ms 12:59:00.010 [debug] Current batch of media processed. Will check again in 1000ms 12:59:00.018 [debug] Current batch of media processed. Will check again in 1000ms 12:59:00.835 [info] {"source":"oban","duration":174,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:59:01.011 [debug] Current batch of media processed. Will check again in 1000ms 12:59:01.019 [debug] Current batch of media processed. Will check again in 1000ms 12:59:02.012 [debug] Current batch of media processed. Will check again in 1000ms 12:59:02.020 [debug] Current batch of media processed. Will check again in 1000ms 12:59:03.013 [debug] Current batch of media processed. Will check again in 1000ms 12:59:03.021 [debug] Current batch of media processed. Will check again in 1000ms 12:59:04.014 [debug] Current batch of media processed. Will check again in 1000ms 12:59:04.022 [debug] Current batch of media processed. Will check again in 1000ms 12:59:05.015 [debug] Current batch of media processed. Will check again in 1000ms 12:59:05.023 [debug] Current batch of media processed. Will check again in 1000ms 12:59:06.016 [debug] Current batch of media processed. Will check again in 1000ms 12:59:06.024 [debug] Current batch of media processed. Will check again in 1000ms 12:59:07.017 [debug] Current batch of media processed. Will check again in 1000ms 12:59:07.025 [debug] Current batch of media processed. Will check again in 1000ms 12:59:08.018 [debug] Current batch of media processed. Will check again in 1000ms 12:59:08.026 [debug] Current batch of media processed. Will check again in 1000ms 12:59:09.018 [info] {"args":{"id":100},"id":2191996,"meta":{},"system_time":1776257949018201296,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:59:09.018 [debug] QUERY OK source="sources" db=0.3ms 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" = ?) [100] 12:59:09.019 [debug] Current batch of media processed. Will check again in 1000ms 12:59:09.019 [debug] QUERY OK source="settings" db=0.3ms 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 [] 12:59:09.020 [debug] QUERY OK source="media_profiles" db=0.2ms idle=9.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 12:59:09.020 [debug] QUERY OK source="settings" db=0.2ms idle=8.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:59:09.020 [debug] Fetching recent media IDs from YouTube API for playlist: UUe5eYsugVJLzIF_JALMiXzQ 12:59:09.020 [debug] QUERY OK source="settings" db=0.1ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:59:09.020 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 12:59:09.027 [debug] Current batch of media processed. Will check again in 1000ms 12:59:09.328 [debug] QUERY OK source="media_items" db=1.1ms idle=308.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [100, "251xUyoUFwg", "N2ipy5JDalQ", "kwb-PhsCYBs", "MsrYWuItd7M", "E_sH2dN0kLg", "e0KZ0IHrG38", "dqX4Wzvq6sE", "izbcjE3AhD8", "cSdsZhAlfJI", "hvvYmjS_A90", "eicfPUdBAuo", "d_L6gomAhAg", "IiDMkKhe71A", "NkjKnpUUYmU", "NzW9fg2vgpA", "egrx1u5F1V4", "fmBdaL3VqEY", "_lN_Qri648M", "97Q6zfv-jk4", "3FL4GzxXxOc", "cQyXgxGMkcc", "rBdx1qmknhU", "61v3sPjKngk", "dyQ2TD5i6LQ", "iC1_GDcfYM8", "1i-bNe1xx14", "ZB9QJ_bJO2Y", "-ddV4twx7dE", "19GEQhlOxzE", "6GsO5ByqFkE", "47qCdYJCmKo", "d6nWvWpnwP8", "8uApOUjCOe4", "9eJgR2PLrGo", "UVShufL4rRA", "ypbB3IZvnLs", "0Dkjqs3zg6A", "szU5BDthN00", "zHNFzLaRD74", "3osfwVYvr9Q", "6MQOSazKIBM", "65YPmUwlpOg", "1kxUvL8EOXM", "EZbTesfSMkw", "d9mbd0b-7YM", "Jd2q_DsdbmQ", "yPzBBP5JzxI", "8aig78KaZiA", "7gEvgXFd1Vg", ...] 12:59:09.331 [debug] QUERY OK source="media_items" db=1.4ms idle=310.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")))) [100] 12:59:09.333 [debug] QUERY OK source="tasks" db=0.2ms idle=312.2ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2192031, 100, ~U[2026-04-15 12:59:09Z], ~U[2026-04-15 12:59:09Z]] 12:59:09.333 [info] {"args":{"id":100},"id":2191996,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":315214,"event":"job:stop","queue_time":421227,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:59:10.020 [debug] Current batch of media processed. Will check again in 1000ms 12:59:10.028 [debug] Current batch of media processed. Will check again in 1000ms 12:59:11.021 [debug] Current batch of media processed. Will check again in 1000ms 12:59:11.029 [debug] Current batch of media processed. Will check again in 1000ms 12:59:12.022 [debug] Current batch of media processed. Will check again in 1000ms 12:59:12.030 [debug] Current batch of media processed. Will check again in 1000ms 12:59:12.249 [info] {"source":"oban","duration":17472,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:59:13.023 [debug] Current batch of media processed. Will check again in 1000ms 12:59:13.031 [debug] Current batch of media processed. Will check again in 1000ms 12:59:14.024 [debug] Current batch of media processed. Will check again in 1000ms 12:59:14.032 [debug] Current batch of media processed. Will check again in 1000ms 12:59:15.025 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "قصة أبو تريكه ما هي عادية…\nبطل كمال أجسام بدأ من الصفر، واجه تحديات جسدية ونفسية، مرّ بلحظات كادت تنهي حلمه، لكن رفض يوقف.\nمن جسم نحيف ومحبط، إلى منصة البطولة ورفع الكأس…\nشاهد كيف تحوّل الألم إلى دافع، والضعف إلى قوة!\n\nرحلة ملهمة لكل شخص فقد الأمل.\nهذا الفيديو مو بس عن العضلات… هذا عن العقل، والإرادة، والتحمّل.\n\n\n#اكسبلور #youtube #youtubeshorts \n#كمال_أجسام #تحفيز #تحول_جسدي #فتنس #قصة_ملهمة #تحدي_الذات #تحفيز_التمرين #رحلة_نجاح #Bodybuilding #Motivation #FitnessTransformation", "duration" => 56, "filename" => "/downloads/shorts/منصة كروت - Shorts/منصة كروت - Shorts - 2025-04-20 - [ZJSLZHmi77Q].mp4", "id" => "ZJSLZHmi77Q", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/ZJSLZHmi77Q", "playlist_index" => 6, "timestamp" => 1745154452, "title" => "أبو تريكه .. من المعاناة إلى المركز الأول 🥇| بودكاست فيذا", "upload_date" => "20250420"} 12:59:15.025 [debug] QUERY OK source="sources" db=0.2ms idle=1008.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" IN (?)) [545] 12:59:15.026 [debug] QUERY OK source="sources" db=0.2ms idle=15.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [545] 12:59:15.026 [debug] QUERY OK source="media_items" db=0.2ms idle=16.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-04-20 13:07:32Z], 545] 12:59:15.031 [debug] QUERY OK source="media_items" db=4.5ms idle=16.8ms 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" ["قصة أبو تريكه ما هي عادية…\nبطل كمال أجسام بدأ من الصفر، واجه تحديات جسدية ونفسية، مرّ بلحظات كادت تنهي حلمه، لكن رفض يوقف.\nمن جسم نحيف ومحبط، إلى منصة البطولة ورفع الكأس…\nشاهد كيف تحوّل الألم إلى دافع، والضعف إلى قوة!\n\nرحلة ملهمة لكل شخص فقد الأمل.\nهذا الفيديو مو بس عن العضلات… هذا عن العقل، والإرادة، والتحمّل.\n\n\n#اكسبلور #youtube #youtubeshorts \n#كمال_أجسام #تحفيز #تحول_جسدي #فتنس #قصة_ملهمة #تحدي_الذات #تحفيز_التمرين #رحلة_نجاح #Bodybuilding #Motivation #FitnessTransformation", "أبو تريكه .. من المعاناة إلى المركز الأول 🥇| بودكاست فيذا", "d1f5c618-d38d-4386-a567-adbc67b5aa0e", 56, false, "ZJSLZHmi77Q", "https://www.youtube.com/shorts/ZJSLZHmi77Q", 6, "/downloads/shorts/منصة كروت - Shorts/منصة كروت - Shorts - 2025-04-20 - [ZJSLZHmi77Q].mp4", false, false, true, 545, [], 2, ~U[2025-04-20 13:07:32Z], ~U[2026-04-15 12:59:15Z], ~U[2026-04-15 12:59:15Z], "قصة أبو تريكه ما هي عادية…\nبطل كمال أجسام بدأ من الصفر، واجه تحديات جسدية ونفسية، مرّ بلحظات كادت تنهي حلمه، لكن رفض يوقف.\nمن جسم نحيف ومحبط، إلى منصة البطولة ورفع الكأس…\nشاهد كيف تحوّل الألم إلى دافع، والضعف إلى قوة!\n\nرحلة ملهمة لكل شخص فقد الأمل.\nهذا الفيديو مو بس عن العضلات… هذا عن العقل، والإرادة، والتحمّل.\n\n\n#اكسبلور #youtube #youtubeshorts \n#كمال_أجسام #تحفيز #تحول_جسدي #فتنس #قصة_ملهمة #تحدي_الذات #تحفيز_التمرين #رحلة_نجاح #Bodybuilding #Motivation #FitnessTransformation", "أبو تريكه .. من المعاناة إلى المركز الأول 🥇| بودكاست فيذا", 56, false, "ZJSLZHmi77Q", "https://www.youtube.com/shorts/ZJSLZHmi77Q", "/downloads/shorts/منصة كروت - Shorts/منصة كروت - Shorts - 2025-04-20 - [ZJSLZHmi77Q].mp4", true, 545, ~U[2025-04-20 13:07:32Z]] 12:59:15.033 [debug] QUERY OK source="sources" db=1.0ms idle=14.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" = ?) [545] 12:59:15.033 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "", "duration" => 19, "filename" => "/downloads/shorts/Jarrib podcast جرّب بودكاست#/Jarrib podcast جرّب بودكاست - 2025-12-20 - [pDRmCbqtxQ4].mp4", "id" => "pDRmCbqtxQ4", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/pDRmCbqtxQ4", "playlist_index" => 6, "timestamp" => 1766232100, "title" => "نصائح للتعافي و تخطي الماضي", "upload_date" => "20251220"} 12:59:15.033 [debug] QUERY OK source="media_profiles" db=0.3ms idle=7.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 12:59:15.034 [debug] QUERY OK source="sources" db=0.4ms 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" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [202] 12:59:15.034 [debug] QUERY OK source="sources" db=0.4ms 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" = ?) [202] 12:59:15.034 [debug] QUERY OK source="media_items" db=0.6ms idle=7.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 [4405072] 12:59:15.035 [debug] Current batch of media processed. Will check again in 1000ms 12:59:15.035 [debug] QUERY OK source="media_items" db=0.5ms idle=1.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-20 12:01:40Z], 202] 12:59:15.036 [debug] QUERY OK source="media_items" db=0.7ms idle=2.0ms INSERT INTO "media_items" AS m0 ("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) 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" ["نصائح للتعافي و تخطي الماضي", "4d76760a-4a43-44e9-9b72-2c4358563f4d", 19, false, "pDRmCbqtxQ4", "https://www.youtube.com/shorts/pDRmCbqtxQ4", 6, "/downloads/shorts/Jarrib podcast جرّب بودكاست#/Jarrib podcast جرّب بودكاست - 2025-12-20 - [pDRmCbqtxQ4].mp4", false, false, true, 202, [], 98, ~U[2025-12-20 12:01:40Z], ~U[2026-04-15 12:59:15Z], ~U[2026-04-15 12:59:15Z], "", "نصائح للتعافي و تخطي الماضي", 19, false, "pDRmCbqtxQ4", "https://www.youtube.com/shorts/pDRmCbqtxQ4", "/downloads/shorts/Jarrib podcast جرّب بودكاست#/Jarrib podcast جرّب بودكاست - 2025-12-20 - [pDRmCbqtxQ4].mp4", true, 202, ~U[2025-12-20 12:01:40Z]] 12:59:15.037 [debug] QUERY OK source="sources" db=0.3ms 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" = ?) [202] 12:59:15.038 [debug] QUERY OK source="media_profiles" db=0.4ms 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" = ?) [2] 12:59:15.038 [debug] QUERY OK source="media_items" db=0.4ms idle=3.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 [4630895] 12:59:15.038 [debug] Current batch of media processed. Will check again in 1000ms 12:59:16.036 [debug] Current batch of media processed. Will check again in 1000ms 12:59:16.040 [debug] Current batch of media processed. Will check again in 1000ms 12:59:17.037 [debug] Current batch of media processed. Will check again in 1000ms 12:59:17.041 [debug] Current batch of media processed. Will check again in 1000ms 12:59:18.038 [debug] Current batch of media processed. Will check again in 1000ms 12:59:18.042 [debug] Current batch of media processed. Will check again in 1000ms 12:59:18.730 [info] GET /sources/381/media/3910865 12:59:18.730 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "3910865", "prevent_download" => "true", "source_id" => "381"} Pipelines: [:browser] 12:59:18.730 [debug] QUERY OK source="media_items" db=0.2ms idle=1720.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" = ?) [3910865] 12:59:18.731 [debug] QUERY OK source="tasks" db=0.1ms idle=1720.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" [3910865] 12:59:18.731 [debug] QUERY OK source="sources" db=0.3ms idle=1720.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" = ?) [381] 12:59:18.732 [debug] QUERY OK source="settings" db=0.1ms idle=1710.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:59:18.732 [debug] QUERY OK source="settings" db=0.1ms idle=709.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:59:18.733 [debug] QUERY OK source="settings" db=0.2ms 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 [] 12:59:18.734 [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] 12:59:18.735 [info] Sent 200 in 5ms 12:59:19.039 [debug] Current batch of media processed. Will check again in 1000ms 12:59:19.043 [debug] Current batch of media processed. Will check again in 1000ms 12:59:20.040 [debug] Current batch of media processed. Will check again in 1000ms 12:59:20.044 [debug] Current batch of media processed. Will check again in 1000ms 12:59:21.041 [debug] Current batch of media processed. Will check again in 1000ms 12:59:21.045 [debug] Current batch of media processed. Will check again in 1000ms 12:59:22.042 [debug] Current batch of media processed. Will check again in 1000ms 12:59:22.046 [debug] Current batch of media processed. Will check again in 1000ms 12:59:23.043 [debug] Current batch of media processed. Will check again in 1000ms 12:59:23.047 [debug] Current batch of media processed. Will check again in 1000ms 12:59:24.044 [debug] Current batch of media processed. Will check again in 1000ms 12:59:24.048 [debug] Current batch of media processed. Will check again in 1000ms 12:59:25.038 [info] {"args":{"id":48},"id":2191997,"meta":{},"system_time":1776257965038200623,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:59:25.038 [debug] QUERY OK source="sources" db=0.3ms idle=1028.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" = ?) [48] 12:59:25.039 [debug] QUERY OK source="settings" db=0.2ms idle=1028.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:59:25.039 [debug] QUERY OK source="media_profiles" db=0.2ms idle=1009.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" = ?) [2] 12:59:25.040 [debug] QUERY OK source="settings" db=0.2ms idle=8.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:59:25.040 [debug] Fetching recent media IDs from YouTube API for playlist: UUMelszsqkhcGFC4vfLkGVOQ 12:59:25.040 [debug] QUERY OK source="settings" db=0.1ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:59:25.040 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 12:59:25.045 [debug] Current batch of media processed. Will check again in 1000ms 12:59:25.049 [debug] Current batch of media processed. Will check again in 1000ms 12:59:25.316 [debug] QUERY OK source="media_items" db=1.4ms 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 WHERE ((m0."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [48, "PmG3oybHKdY", "_au26pq8dGI", "eItpUPME364", "sdXyr_GtpB8", "AViGvZhRZWQ", "rRsanBnxj8Y", "xIRRFVLdHWw", "nFpks9azxFw", "p1dN7GOS8lk", "5MIUwZCfYtE", "EbwfvogGFZI", "iCBSuwWnudY", "1_r0Q-v4isU", "c_MmMRfb9gs", "qj2F5CI116o", "yggPzlFyVxs", "hV5N4uTcwsM", "7CUt9DeECmM", "T4tn4URrQvY", "uNlSwNbXHSo", "HCk5v3zY5Nk", "jgGc7tsZX3Q", "j_GiVJ_DPuo", "42v1XziVgaQ", "RZc4HW07UR8", "058OTXSVAjI", "q6yvVULNEqE", "ZtoPi5lgdH4", "ArW4C-L3E58", "0ytb1nxp6pY", "x1bU7OyY1Qo", "_ceRQgRGZOA", "Ki8vlLEIAPg", "IXLO15CzwYE", "zq5XJNfiSB8", "NFLfR5DkC0E", "qW6QqvULhAo", "nVAN5M-acTo", "ItwW3qI-ISY", "AFytYHMjSVE", "Tqm0F4kwXe4", "8dY1jaKiYzk", "PWNCBzXAY8k", "ChBJS2NSuOo", "ujlSTgsjcco", "hyjshuuA1XA", "A1sIH6inhbk", "ma0MiXa6YXE", "1TXgsjGeo3A", ...] 12:59:25.319 [debug] QUERY OK source="media_items" db=1.0ms idle=278.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")))) [48] 12:59:25.321 [debug] QUERY OK source="tasks" db=0.3ms idle=280.4ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2192032, 48, ~U[2026-04-15 12:59:25Z], ~U[2026-04-15 12:59:25Z]] 12:59:25.322 [info] {"args":{"id":48},"id":2191997,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":283297,"event":"job:stop","queue_time":475026,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 12:59:26.046 [debug] Current batch of media processed. Will check again in 1000ms 12:59:26.050 [debug] Current batch of media processed. Will check again in 1000ms 12:59:27.047 [debug] Current batch of media processed. Will check again in 1000ms 12:59:27.051 [debug] Current batch of media processed. Will check again in 1000ms 12:59:28.048 [debug] Current batch of media processed. Will check again in 1000ms 12:59:28.052 [debug] Current batch of media processed. Will check again in 1000ms 12:59:29.049 [debug] Current batch of media processed. Will check again in 1000ms 12:59:29.053 [debug] Current batch of media processed. Will check again in 1000ms 12:59:30.050 [debug] Current batch of media processed. Will check again in 1000ms 12:59:30.054 [debug] Current batch of media processed. Will check again in 1000ms 12:59:31.051 [debug] Current batch of media processed. Will check again in 1000ms 12:59:31.055 [debug] Current batch of media processed. Will check again in 1000ms 12:59:32.052 [debug] Current batch of media processed. Will check again in 1000ms 12:59:32.056 [debug] Current batch of media processed. Will check again in 1000ms 12:59:33.053 [debug] Current batch of media processed. Will check again in 1000ms 12:59:33.057 [debug] Current batch of media processed. Will check again in 1000ms 12:59:34.054 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "", "duration" => 58, "filename" => "/downloads/shorts/منصة كروت - Shorts/منصة كروت - Shorts - 2025-04-16 - [3eSpPDhZuz4].mp4", "id" => "3eSpPDhZuz4", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/3eSpPDhZuz4", "playlist_index" => 7, "timestamp" => 1744830670, "title" => "الرياضات الإلكترونية في السعودية | بودكاست فيذا 🎤", "upload_date" => "20250416"} 12:59:34.055 [debug] QUERY OK source="sources" db=0.3ms idle=1044.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" IN (?)) [545] 12:59:34.055 [debug] QUERY OK source="sources" db=0.1ms idle=1045.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" = ?) [545] 12:59:34.055 [debug] QUERY OK source="media_items" db=0.1ms idle=1045.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-04-16 19:11:10Z], 545] 12:59:34.057 [debug] QUERY OK source="media_items" db=0.7ms idle=1015.4ms INSERT INTO "media_items" AS m0 ("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) 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" ["الرياضات الإلكترونية في السعودية | بودكاست فيذا 🎤", "6f0ad348-81f7-4d43-9309-98f3cc39489d", 58, false, "3eSpPDhZuz4", "https://www.youtube.com/shorts/3eSpPDhZuz4", 7, "/downloads/shorts/منصة كروت - Shorts/منصة كروت - Shorts - 2025-04-16 - [3eSpPDhZuz4].mp4", false, false, true, 545, [], 1, ~U[2025-04-16 19:11:10Z], ~U[2026-04-15 12:59:34Z], ~U[2026-04-15 12:59:34Z], "", "الرياضات الإلكترونية في السعودية | بودكاست فيذا 🎤", 58, false, "3eSpPDhZuz4", "https://www.youtube.com/shorts/3eSpPDhZuz4", "/downloads/shorts/منصة كروت - Shorts/منصة كروت - Shorts - 2025-04-16 - [3eSpPDhZuz4].mp4", true, 545, ~U[2025-04-16 19:11:10Z]] 12:59:34.057 [debug] QUERY OK source="sources" db=0.2ms idle=15.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [545] 12:59:34.058 [debug] QUERY OK source="media_profiles" db=0.3ms 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" = ?) [2] 12:59:34.058 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "", "duration" => 35, "filename" => "/downloads/shorts/Jarrib podcast جرّب بودكاست#/Jarrib podcast جرّب بودكاست - 2025-12-13 - [LNTqsrgtjgE].mp4", "id" => "LNTqsrgtjgE", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/LNTqsrgtjgE", "playlist_index" => 7, "timestamp" => 1765628421, "title" => "مين اللي بتحكم في تصرفاتك ؟ ليش بتوعد حالك و بتخلف ؟ ليش صعب عليك تلتزم ؟", "upload_date" => "20251213"} 12:59:34.059 [debug] QUERY OK source="media_items" db=0.7ms queue=0.2ms idle=2.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4405074] 12:59:34.059 [debug] Current batch of media processed. Will check again in 1000ms 12:59:34.059 [debug] QUERY OK source="sources" db=0.9ms 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" IN (?)) [202] 12:59:34.060 [debug] QUERY OK source="sources" db=0.3ms idle=2.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [202] 12:59:34.060 [debug] QUERY OK source="media_items" db=0.4ms idle=2.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-13 12:20:21Z], 202] 12:59:34.061 [debug] QUERY OK source="media_items" db=0.6ms idle=3.1ms INSERT INTO "media_items" AS m0 ("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) 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" ["مين اللي بتحكم في تصرفاتك ؟ ليش بتوعد حالك و بتخلف ؟ ليش صعب عليك تلتزم ؟", "91407f38-a5a2-4f65-a6da-80d3bf5be574", 35, false, "LNTqsrgtjgE", "https://www.youtube.com/shorts/LNTqsrgtjgE", 7, "/downloads/shorts/Jarrib podcast جرّب بودكاست#/Jarrib podcast جرّب بودكاست - 2025-12-13 - [LNTqsrgtjgE].mp4", false, false, true, 202, [], 98, ~U[2025-12-13 12:20:21Z], ~U[2026-04-15 12:59:34Z], ~U[2026-04-15 12:59:34Z], "", "مين اللي بتحكم في تصرفاتك ؟ ليش بتوعد حالك و بتخلف ؟ ليش صعب عليك تلتزم ؟", 35, false, "LNTqsrgtjgE", "https://www.youtube.com/shorts/LNTqsrgtjgE", "/downloads/shorts/Jarrib podcast جرّب بودكاست#/Jarrib podcast جرّب بودكاست - 2025-12-13 - [LNTqsrgtjgE].mp4", true, 202, ~U[2025-12-13 12:20:21Z]] 12:59:34.062 [debug] QUERY OK source="sources" db=0.3ms 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" = ?) [202] 12:59:34.062 [debug] QUERY OK source="media_profiles" db=0.2ms idle=3.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 12:59:34.063 [debug] QUERY OK source="media_items" db=0.3ms 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 [4630897] 12:59:34.063 [debug] Current batch of media processed. Will check again in 1000ms 12:59:35.060 [debug] Current batch of media processed. Will check again in 1000ms 12:59:35.064 [debug] Current batch of media processed. Will check again in 1000ms 12:59:36.061 [debug] Current batch of media processed. Will check again in 1000ms 12:59:36.065 [debug] Current batch of media processed. Will check again in 1000ms 12:59:37.062 [debug] Current batch of media processed. Will check again in 1000ms 12:59:37.066 [debug] Current batch of media processed. Will check again in 1000ms 12:59:38.063 [debug] Current batch of media processed. Will check again in 1000ms 12:59:38.067 [debug] Current batch of media processed. Will check again in 1000ms 12:59:39.064 [debug] Current batch of media processed. Will check again in 1000ms 12:59:39.068 [debug] Current batch of media processed. Will check again in 1000ms 12:59:40.065 [debug] Current batch of media processed. Will check again in 1000ms 12:59:40.069 [debug] Current batch of media processed. Will check again in 1000ms 12:59:41.066 [debug] Current batch of media processed. Will check again in 1000ms 12:59:41.070 [debug] Current batch of media processed. Will check again in 1000ms 12:59:42.067 [debug] Current batch of media processed. Will check again in 1000ms 12:59:42.071 [debug] Current batch of media processed. Will check again in 1000ms 12:59:42.268 [info] {"source":"oban","duration":17941,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:59:43.068 [debug] Current batch of media processed. Will check again in 1000ms 12:59:43.072 [debug] Current batch of media processed. Will check again in 1000ms 12:59:44.069 [debug] Current batch of media processed. Will check again in 1000ms 12:59:44.073 [debug] Current batch of media processed. Will check again in 1000ms 12:59:45.070 [debug] Current batch of media processed. Will check again in 1000ms 12:59:45.074 [debug] Current batch of media processed. Will check again in 1000ms 12:59:46.071 [debug] Current batch of media processed. Will check again in 1000ms 12:59:46.075 [debug] Current batch of media processed. Will check again in 1000ms 12:59:47.072 [debug] Current batch of media processed. Will check again in 1000ms 12:59:47.076 [debug] Current batch of media processed. Will check again in 1000ms 12:59:48.073 [debug] Current batch of media processed. Will check again in 1000ms 12:59:48.077 [debug] Current batch of media processed. Will check again in 1000ms 12:59:49.074 [debug] Current batch of media processed. Will check again in 1000ms 12:59:49.078 [debug] Current batch of media processed. Will check again in 1000ms 12:59:50.075 [debug] Current batch of media processed. Will check again in 1000ms 12:59:50.079 [debug] Current batch of media processed. Will check again in 1000ms 12:59:51.077 [debug] Current batch of media processed. Will check again in 1000ms 12:59:51.080 [debug] Current batch of media processed. Will check again in 1000ms 12:59:52.078 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "", "duration" => 12, "filename" => "/downloads/shorts/منصة كروت - Shorts/منصة كروت - Shorts - 2025-04-14 - [bly9XuzuVDg].mp4", "id" => "bly9XuzuVDg", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/bly9XuzuVDg", "playlist_index" => 8, "timestamp" => 1744638337, "title" => "تذكار من ضيفنا العزيز للبرنامج | بودكاست فيذا", "upload_date" => "20250414"} 12:59:52.078 [debug] QUERY OK source="sources" db=0.3ms idle=68.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" IN (?)) [545] 12:59:52.079 [debug] QUERY OK source="sources" db=0.2ms idle=68.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" = ?) [545] 12:59:52.079 [debug] QUERY OK source="media_items" db=0.2ms idle=69.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-04-14 13:45:37Z], 545] 12:59:52.081 [debug] QUERY OK source="media_items" db=0.7ms idle=70.0ms INSERT INTO "media_items" AS m0 ("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) 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" ["تذكار من ضيفنا العزيز للبرنامج | بودكاست فيذا", "9bf950f5-a556-4004-a0f7-325cd29f2fc9", 12, false, "bly9XuzuVDg", "https://www.youtube.com/shorts/bly9XuzuVDg", 8, "/downloads/shorts/منصة كروت - Shorts/منصة كروت - Shorts - 2025-04-14 - [bly9XuzuVDg].mp4", false, false, true, 545, [], 1, ~U[2025-04-14 13:45:37Z], ~U[2026-04-15 12:59:52Z], ~U[2026-04-15 12:59:52Z], "", "تذكار من ضيفنا العزيز للبرنامج | بودكاست فيذا", 12, false, "bly9XuzuVDg", "https://www.youtube.com/shorts/bly9XuzuVDg", "/downloads/shorts/منصة كروت - Shorts/منصة كروت - Shorts - 2025-04-14 - [bly9XuzuVDg].mp4", true, 545, ~U[2025-04-14 13:45:37Z]] 12:59:52.081 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "", "duration" => 48, "filename" => "/downloads/shorts/Jarrib podcast جرّب بودكاست#/Jarrib podcast جرّب بودكاست - 2024-09-30 - [r2p4kNl53C0].mp4", "id" => "r2p4kNl53C0", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/r2p4kNl53C0", "playlist_index" => 8, "timestamp" => 1727717894, "title" => "سبب اختياراتك السيئة ؟", "upload_date" => "20240930"} 12:59:52.081 [debug] QUERY OK source="sources" db=0.4ms idle=17.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" = ?) [545] 12:59:52.081 [debug] QUERY OK source="sources" db=0.3ms 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" IN (?)) [202] 12:59:52.082 [debug] QUERY OK source="media_profiles" db=0.3ms idle=2.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 12:59:52.083 [debug] QUERY OK source="media_items" db=0.7ms idle=1.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4405077] 12:59:52.083 [debug] Current batch of media processed. Will check again in 1000ms 12:59:52.083 [debug] QUERY OK source="sources" db=1.6ms idle=2.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [202] 12:59:52.084 [debug] QUERY OK source="media_items" db=0.4ms idle=2.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-09-30 17:38:14Z], 202] 12:59:52.085 [debug] QUERY OK source="media_items" db=0.6ms idle=2.8ms INSERT INTO "media_items" AS m0 ("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) 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" ["سبب اختياراتك السيئة ؟", "be6125d2-d4f3-4e61-b974-8d38ff8c0241", 48, false, "r2p4kNl53C0", "https://www.youtube.com/shorts/r2p4kNl53C0", 8, "/downloads/shorts/Jarrib podcast جرّب بودكاست#/Jarrib podcast جرّب بودكاست - 2024-09-30 - [r2p4kNl53C0].mp4", false, false, true, 202, [], 98, ~U[2024-09-30 17:38:14Z], ~U[2026-04-15 12:59:52Z], ~U[2026-04-15 12:59:52Z], "", "سبب اختياراتك السيئة ؟", 48, false, "r2p4kNl53C0", "https://www.youtube.com/shorts/r2p4kNl53C0", "/downloads/shorts/Jarrib podcast جرّب بودكاست#/Jarrib podcast جرّب بودكاست - 2024-09-30 - [r2p4kNl53C0].mp4", true, 202, ~U[2024-09-30 17:38:14Z]] 12:59:52.085 [debug] QUERY OK source="sources" db=0.2ms 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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [202] 12:59:52.086 [debug] QUERY OK source="media_profiles" db=0.3ms 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" = ?) [2] 12:59:52.087 [debug] QUERY OK source="media_items" db=0.4ms 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 [517299] 12:59:52.087 [debug] Current batch of media processed. Will check again in 1000ms 12:59:53.084 [debug] Current batch of media processed. Will check again in 1000ms 12:59:53.088 [debug] Current batch of media processed. Will check again in 1000ms 12:59:54.085 [debug] Current batch of media processed. Will check again in 1000ms 12:59:54.089 [debug] Current batch of media processed. Will check again in 1000ms 12:59:55.086 [debug] Current batch of media processed. Will check again in 1000ms 12:59:55.090 [debug] Current batch of media processed. Will check again in 1000ms 12:59:56.087 [debug] Current batch of media processed. Will check again in 1000ms 12:59:56.091 [debug] Current batch of media processed. Will check again in 1000ms 12:59:57.088 [debug] Current batch of media processed. Will check again in 1000ms 12:59:57.092 [debug] Current batch of media processed. Will check again in 1000ms 12:59:58.089 [debug] Current batch of media processed. Will check again in 1000ms 12:59:58.093 [debug] Current batch of media processed. Will check again in 1000ms 12:59:59.090 [debug] Current batch of media processed. Will check again in 1000ms 12:59:59.094 [debug] Current batch of media processed. Will check again in 1000ms 13:00:00.091 [debug] Current batch of media processed. Will check again in 1000ms 13:00:00.095 [debug] Current batch of media processed. Will check again in 1000ms 13:00:00.836 [info] {"source":"oban","duration":195,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:00:01.092 [debug] Current batch of media processed. Will check again in 1000ms 13:00:01.096 [debug] Current batch of media processed. Will check again in 1000ms 13:00:02.093 [debug] Current batch of media processed. Will check again in 1000ms 13:00:02.097 [debug] Current batch of media processed. Will check again in 1000ms 13:00:03.094 [debug] Current batch of media processed. Will check again in 1000ms 13:00:03.098 [debug] Current batch of media processed. Will check again in 1000ms 13:00:04.095 [debug] Current batch of media processed. Will check again in 1000ms 13:00:04.099 [debug] Current batch of media processed. Will check again in 1000ms 13:00:05.096 [debug] Current batch of media processed. Will check again in 1000ms 13:00:05.100 [debug] Current batch of media processed. Will check again in 1000ms 13:00:06.097 [debug] Current batch of media processed. Will check again in 1000ms 13:00:06.101 [debug] Current batch of media processed. Will check again in 1000ms 13:00:07.098 [debug] Current batch of media processed. Will check again in 1000ms 13:00:07.102 [debug] Current batch of media processed. Will check again in 1000ms 13:00:08.099 [debug] Current batch of media processed. Will check again in 1000ms 13:00:08.103 [debug] Current batch of media processed. Will check again in 1000ms 13:00:09.100 [debug] Current batch of media processed. Will check again in 1000ms 13:00:09.104 [debug] Current batch of media processed. Will check again in 1000ms 13:00:10.101 [debug] Current batch of media processed. Will check again in 1000ms 13:00:10.105 [debug] Current batch of media processed. Will check again in 1000ms 13:00:11.102 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.71, "description" => "", "duration" => 8, "filename" => "/downloads/shorts/منصة كروت - Shorts/منصة كروت - Shorts - 2025-04-10 - [qWFVhv9JG1M].mp4", "id" => "qWFVhv9JG1M", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/qWFVhv9JG1M", "playlist_index" => 9, "timestamp" => 1744261711, "title" => "حلقتنا القادمة مع ضيف مميز | الرياضة للجميع 💪", "upload_date" => "20250410"} 13:00:11.102 [debug] QUERY OK source="sources" db=0.2ms idle=1092.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" IN (?)) [545] 13:00:11.103 [debug] QUERY OK source="sources" db=0.1ms idle=1092.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" = ?) [545] 13:00:11.103 [debug] QUERY OK source="media_items" db=0.1ms idle=1093.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-04-10 05:08:31Z], 545] 13:00:11.105 [debug] QUERY OK source="media_items" db=0.8ms idle=1020.1ms INSERT INTO "media_items" AS m0 ("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) 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" ["حلقتنا القادمة مع ضيف مميز | الرياضة للجميع 💪", "9139dd0e-dd3e-4a18-9d4b-a5ebd6152c6f", 8, false, "qWFVhv9JG1M", "https://www.youtube.com/shorts/qWFVhv9JG1M", 9, "/downloads/shorts/منصة كروت - Shorts/منصة كروت - Shorts - 2025-04-10 - [qWFVhv9JG1M].mp4", false, false, true, 545, [], 1, ~U[2025-04-10 05:08:31Z], ~U[2026-04-15 13:00:11Z], ~U[2026-04-15 13:00:11Z], "", "حلقتنا القادمة مع ضيف مميز | الرياضة للجميع 💪", 8, false, "qWFVhv9JG1M", "https://www.youtube.com/shorts/qWFVhv9JG1M", "/downloads/shorts/منصة كروت - Shorts/منصة كروت - Shorts - 2025-04-10 - [qWFVhv9JG1M].mp4", true, 545, ~U[2025-04-10 05:08:31Z]] 13:00:11.105 [debug] QUERY OK source="sources" db=0.3ms idle=20.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" = ?) [545] 13:00:11.106 [debug] QUERY OK source="media_profiles" db=0.3ms 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" = ?) [2] 13:00:11.106 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "", "duration" => 38, "filename" => "/downloads/shorts/Jarrib podcast جرّب بودكاست#/Jarrib podcast جرّب بودكاست - 2024-09-17 - [XMKF9d87wJc].mp4", "id" => "XMKF9d87wJc", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/XMKF9d87wJc", "playlist_index" => 9, "timestamp" => 1726586904, "title" => "اعطي سبب لا تقنع …", "upload_date" => "20240917"} 13:00:11.107 [debug] QUERY OK source="media_items" db=0.8ms queue=0.2ms idle=3.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 [4405078] 13:00:11.107 [debug] QUERY OK source="sources" db=0.8ms 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" IN (?)) [202] 13:00:11.107 [debug] Current batch of media processed. Will check again in 1000ms 13:00:11.108 [debug] QUERY OK source="sources" db=0.2ms 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" = ?) [202] 13:00:11.108 [debug] QUERY OK source="media_items" db=0.4ms idle=2.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-09-17 15:28:24Z], 202] 13:00:11.110 [debug] QUERY OK source="media_items" db=0.6ms idle=3.0ms INSERT INTO "media_items" AS m0 ("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) 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" ["اعطي سبب لا تقنع …", "86d9ef1c-1b0d-4f64-90e3-360327405bb2", 38, false, "XMKF9d87wJc", "https://www.youtube.com/shorts/XMKF9d87wJc", 9, "/downloads/shorts/Jarrib podcast جرّب بودكاست#/Jarrib podcast جرّب بودكاست - 2024-09-17 - [XMKF9d87wJc].mp4", false, false, true, 202, [], 98, ~U[2024-09-17 15:28:24Z], ~U[2026-04-15 13:00:11Z], ~U[2026-04-15 13:00:11Z], "", "اعطي سبب لا تقنع …", 38, false, "XMKF9d87wJc", "https://www.youtube.com/shorts/XMKF9d87wJc", "/downloads/shorts/Jarrib podcast جرّب بودكاست#/Jarrib podcast جرّب بودكاست - 2024-09-17 - [XMKF9d87wJc].mp4", true, 202, ~U[2024-09-17 15:28:24Z]] 13:00:11.110 [debug] QUERY OK source="sources" db=0.3ms 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" = ?) [202] 13:00:11.111 [debug] QUERY OK source="media_profiles" db=0.3ms 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" = ?) [2] 13:00:11.111 [debug] QUERY OK source="media_items" db=0.4ms idle=3.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 [517301] 13:00:11.112 [debug] Current batch of media processed. Will check again in 1000ms 13:00:12.108 [debug] Current batch of media processed. Will check again in 1000ms 13:00:12.113 [debug] Current batch of media processed. Will check again in 1000ms 13:00:12.287 [info] {"source":"oban","duration":18756,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:00:13.109 [debug] Current batch of media processed. Will check again in 1000ms 13:00:13.114 [debug] Current batch of media processed. Will check again in 1000ms 13:00:14.110 [debug] Current batch of media processed. Will check again in 1000ms 13:00:14.115 [debug] Current batch of media processed. Will check again in 1000ms 13:00:15.111 [debug] Current batch of media processed. Will check again in 1000ms 13:00:15.116 [debug] Current batch of media processed. Will check again in 1000ms 13:00:16.099 [info] {"args":{"id":369},"id":2191998,"meta":{},"system_time":1776258016099046763,"max_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:16.099 [debug] QUERY OK source="sources" db=0.3ms idle=1089.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" = ?) [369] 13:00:16.100 [debug] QUERY OK source="settings" db=0.8ms 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 [] 13:00:16.101 [debug] QUERY OK source="media_profiles" db=0.2ms idle=90.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" = ?) [2] 13:00:16.101 [debug] QUERY OK source="settings" db=0.2ms idle=9.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:00:16.101 [debug] Fetching recent media IDs from YouTube API for playlist: UUFip-ErYXshRD3JDzriXN8A 13:00:16.102 [debug] QUERY OK source="settings" db=0.1ms idle=2.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:00:16.102 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 13:00:16.112 [debug] Current batch of media processed. Will check again in 1000ms 13:00:16.117 [debug] Current batch of media processed. Will check again in 1000ms 13:00:16.391 [debug] QUERY OK source="media_items" db=1.2ms idle=290.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [369, "DQv6aNQGC7U", "bRWEUhphHPE", "VvVu3U8zWOk", "ymIGDQ_lFic", "sn5er6zKTOM", "l9SYxo3_WYA", "osD94bZvUNI", "x8k0cka3Jrs", "7DViK_gisxQ", "1kUHccnNCBE", "AT_LfjiIfBs", "z7VTLIQIyXU", "Gdhcgro17Jw", "OD4Qw7uHCDY", "yLhAyK4fueE", "S1Rqu2jZ3UQ", "EMT89YeL3_g", "8vYZG1ZQo8Y", "jz0YVdItrbE", "aKVtJOvfKzo", "tghPmSQT2Wk", "jdyjuGoXtDM", "StnfONNEX2I", "WN2lzujwn_E", "rginTPQL0Cg", "FTjStFQp_t8", "raC19wUTKFg", "mSuYy69iqzc", "iGQa4KKLsZs", "yDL4zfreZoA", "qQ3Pu_-jSV0", "jaWsFdp-IOY", "sCmYYToePnc", "B516P24Ybv8", "VZdGUFgS_4c", "rwWM2fmlaAs", "nynfq_Mkh-g", "qVK33N5Bub8", "uf23M5FpLuI", "dJwsQ1VZN30", "ZYqB8-5sm1U", "-NFujChdR2Y", "0GdSItbC5Zo", "YW2nunQNtoc", "7bZxSj5IWrw", "TVgZaGPrRQc", "edD3Xrrqb-w", "xZrmgMBcPlI", "sTSgoM5zlHI", ...] 13:00:16.393 [debug] QUERY OK source="media_items" db=0.7ms idle=292.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")))) [369] 13:00:16.395 [debug] QUERY OK source="tasks" db=0.3ms idle=292.9ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2192033, 369, ~U[2026-04-15 13:00:16Z], ~U[2026-04-15 13:00:16Z]] 13:00:16.395 [info] {"args":{"id":369},"id":2191998,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":296350,"event":"job:stop","queue_time":480567,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:00:17.113 [debug] Current batch of media processed. Will check again in 1000ms 13:00:17.118 [debug] Current batch of media processed. Will check again in 1000ms 13:00:18.114 [debug] Current batch of media processed. Will check again in 1000ms 13:00:18.119 [debug] Current batch of media processed. Will check again in 1000ms 13:00:19.115 [debug] Current batch of media processed. Will check again in 1000ms 13:00:19.120 [debug] Current batch of media processed. Will check again in 1000ms 13:00:20.116 [debug] Current batch of media processed. Will check again in 1000ms 13:00:20.121 [debug] Current batch of media processed. Will check again in 1000ms 13:00:21.117 [debug] Current batch of media processed. Will check again in 1000ms 13:00:21.122 [debug] Current batch of media processed. Will check again in 1000ms 13:00:21.690 [info] GET /sources/348/media/4611780/force_download 13:00:21.691 [debug] QUERY OK source="settings" db=0.3ms idle=1680.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:21.691 [debug] QUERY OK source="settings" db=0.1ms idle=1680.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:21.691 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 13:00:21.691 [error] #PID<0.5649.0> running PinchflatWeb.Endpoint (connection #PID<0.5648.0>, stream id 1) terminated Server: jak.hibeex.com:80 (http) Request: GET /sources/348/media/4611780/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/348/media/4611780/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5648.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/348/media/4611780/force_download", host: "jak.hibeex.com", peer: {{172, 22, 0, 1}, 46964}, bindings: %{}, sock: {{172, 22, 0, 4}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYLXNRQlBteTgtamNnaThZQmQ3R2VEemli.Hgoh73mIu9hzr31fR2vFuRfw5Cd7_JJakiyOp8DEOEg", "from" => "gptbot(at)openai.com", "host" => "jak.hibeex.com", "referer" => "https://jak.hibeex.com/sources/348/media/4611780?prevent_download=true", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.232", "x-forwarded-proto" => "https", "x-openai-host-hash" => "41517590", "x-real-ip" => "74.7.243.232" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYLXNRQlBteTgtamNnaThZQmQ3R2VEemli.Hgoh73mIu9hzr31fR2vFuRfw5Cd7_JJakiyOp8DEOEg" }, halted: false, host: "jak.hibeex.com", method: "GET", owner: #PID<0.5649.0>, params: %{}, path_info: ["sources", "348", "media", "4611780", "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://jak.hibeex.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 22, 0, 1}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYLXNRQlBteTgtamNnaThZQmQ3R2VEemli.Hgoh73mIu9hzr31fR2vFuRfw5Cd7_JJakiyOp8DEOEg" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"connection", "close"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYLXNRQlBteTgtamNnaThZQmQ3R2VEemli.Hgoh73mIu9hzr31fR2vFuRfw5Cd7_JJakiyOp8DEOEg"}, {"from", "gptbot(at)openai.com"}, {"host", "jak.hibeex.com"}, {"referer", "https://jak.hibeex.com/sources/348/media/4611780?prevent_download=true"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)"}, {"x-forwarded-for", "74.7.243.232"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "41517590"}, {"x-real-ip", "74.7.243.232"} ], request_path: "/sources/348/media/4611780/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKaJQnxIwVmHf5gAA5CB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5648.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/348/media/4611780/force_download", host: "jak.hibeex.com", peer: {{172, 22, 0, 1}, 46964}, bindings: %{}, sock: {{172, 22, 0, 4}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYLXNRQlBteTgtamNnaThZQmQ3R2VEemli.Hgoh73mIu9hzr31fR2vFuRfw5Cd7_JJakiyOp8DEOEg", "from" => "gptbot(at)openai.com", "host" => "jak.hibeex.com", "referer" => "https://jak.hibeex.com/sources/348/media/4611780?prevent_download=true", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.232", "x-forwarded-proto" => "https", "x-openai-host-hash" => "41517590", "x-real-ip" => "74.7.243.232" }, method: "GET", body_length: 0, path_info: :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/348/media/4611780/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5648.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/348/media/4611780/force_download", host: "jak.hibeex.com", peer: {{172, 22, 0, 1}, 46964}, bindings: %{}, sock: {{172, 22, 0, 4}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYLXNRQlBteTgtamNnaThZQmQ3R2VEemli.Hgoh73mIu9hzr31fR2vFuRfw5Cd7_JJakiyOp8DEOEg", "from" => "gptbot(at)openai.com", "host" => "jak.hibeex.com", "referer" => "https://jak.hibeex.com/sources/348/media/4611780?prevent_download=true", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.232", "x-forwarded-proto" => "https", "x-openai-host-hash" => "41517590", "x-real-ip" => "74.7.243.232" }, method: "GET", body_length: 0, path_info: :und (truncated) 13:00:22.118 [debug] Current batch of media processed. Will check again in 1000ms 13:00:22.123 [debug] Current batch of media processed. Will check again in 1000ms 13:00:23.119 [debug] Current batch of media processed. Will check again in 1000ms 13:00:23.124 [debug] Current batch of media processed. Will check again in 1000ms 13:00:24.120 [debug] Current batch of media processed. Will check again in 1000ms 13:00:24.125 [debug] Current batch of media processed. Will check again in 1000ms 13:00:25.121 [debug] Current batch of media processed. Will check again in 1000ms 13:00:25.126 [debug] Current batch of media processed. Will check again in 1000ms 13:00:26.122 [debug] Current batch of media processed. Will check again in 1000ms 13:00:26.127 [debug] Current batch of media processed. Will check again in 1000ms 13:00:27.123 [debug] Current batch of media processed. Will check again in 1000ms 13:00:27.128 [debug] Current batch of media processed. Will check again in 1000ms 13:00:28.124 [debug] Current batch of media processed. Will check again in 1000ms 13:00:28.129 [debug] Current batch of media processed. Will check again in 1000ms 13:00:29.125 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "", "duration" => 48, "filename" => "/downloads/shorts/منصة كروت - Shorts/منصة كروت - Shorts - 2025-03-09 - [Nj76LkLPhXA].mp4", "id" => "Nj76LkLPhXA", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/Nj76LkLPhXA", "playlist_index" => 10, "timestamp" => 1741562652, "title" => "\"ثامر xzit | أسرار نجاح صانع محتوى الألعاب 🕹️🔥\"", "upload_date" => "20250309"} 13:00:29.125 [debug] QUERY OK source="sources" db=0.2ms idle=1115.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" IN (?)) [545] 13:00:29.126 [debug] QUERY OK source="sources" db=0.2ms idle=1018.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" = ?) [545] 13:00:29.126 [debug] QUERY OK source="media_items" db=0.2ms idle=116.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-03-09 23:24:12Z], 545] 13:00:29.128 [debug] QUERY OK source="media_items" db=0.6ms idle=117.0ms INSERT INTO "media_items" AS m0 ("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) 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" ["\"ثامر xzit | أسرار نجاح صانع محتوى الألعاب 🕹️🔥\"", "fe6ea1b3-e95f-4008-9e8b-0b7cbfe93641", 48, false, "Nj76LkLPhXA", "https://www.youtube.com/shorts/Nj76LkLPhXA", 10, "/downloads/shorts/منصة كروت - Shorts/منصة كروت - Shorts - 2025-03-09 - [Nj76LkLPhXA].mp4", false, false, true, 545, [], 1, ~U[2025-03-09 23:24:12Z], ~U[2026-04-15 13:00:29Z], ~U[2026-04-15 13:00:29Z], "", "\"ثامر xzit | أسرار نجاح صانع محتوى الألعاب 🕹️🔥\"", 48, false, "Nj76LkLPhXA", "https://www.youtube.com/shorts/Nj76LkLPhXA", "/downloads/shorts/منصة كروت - Shorts/منصة كروت - Shorts - 2025-03-09 - [Nj76LkLPhXA].mp4", true, 545, ~U[2025-03-09 23:24:12Z]] 13:00:29.128 [debug] QUERY OK source="sources" db=0.3ms idle=19.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [545] 13:00:29.129 [debug] QUERY OK source="media_profiles" db=0.3ms 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" = ?) [2] 13:00:29.129 [debug] QUERY OK source="media_items" db=0.4ms idle=3.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 [4405081] 13:00:29.130 [debug] Current batch of media processed. Will check again in 1000ms 13:00:29.130 [debug] Current batch of media processed. Will check again in 1000ms 13:00:30.131 [debug] Current batch of media processed. Will check again in 1000ms 13:00:30.131 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "", "duration" => 59, "filename" => "/downloads/shorts/Jarrib podcast جرّب بودكاست#/Jarrib podcast جرّب بودكاست - 2024-09-13 - [7S1SYo5uzpI].mp4", "id" => "7S1SYo5uzpI", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/7S1SYo5uzpI", "playlist_index" => 10, "timestamp" => 1726248123, "title" => "تنبيه ! الى محبين الفضفضة … بطلوا ⚠️‼️", "upload_date" => "20240913"} 13:00:30.131 [debug] QUERY OK source="sources" db=0.1ms idle=1003.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" IN (?)) [202] 13:00:30.132 [debug] QUERY OK source="sources" db=0.1ms 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" FROM "sources" AS s0 WHERE (s0."id" = ?) [202] 13:00:30.133 [debug] QUERY OK source="media_items" db=0.5ms idle=1003.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-09-13 17:22:03Z], 202] 13:00:30.134 [debug] QUERY OK source="media_items" db=0.5ms idle=1003.5ms INSERT INTO "media_items" AS m0 ("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) 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" ["تنبيه ! الى محبين الفضفضة … بطلوا ⚠️‼️", "6f452597-a0ab-4969-bed3-eba079c8f079", 59, false, "7S1SYo5uzpI", "https://www.youtube.com/shorts/7S1SYo5uzpI", 10, "/downloads/shorts/Jarrib podcast جرّب بودكاست#/Jarrib podcast جرّب بودكاست - 2024-09-13 - [7S1SYo5uzpI].mp4", false, false, true, 202, [], 98, ~U[2024-09-13 17:22:03Z], ~U[2026-04-15 13:00:30Z], ~U[2026-04-15 13:00:30Z], "", "تنبيه ! الى محبين الفضفضة … بطلوا ⚠️‼️", 59, false, "7S1SYo5uzpI", "https://www.youtube.com/shorts/7S1SYo5uzpI", "/downloads/shorts/Jarrib podcast جرّب بودكاست#/Jarrib podcast جرّب بودكاست - 2024-09-13 - [7S1SYo5uzpI].mp4", true, 202, ~U[2024-09-13 17:22:03Z]] 13:00:30.134 [debug] QUERY OK source="sources" db=0.2ms idle=24.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" = ?) [202] 13:00:30.135 [debug] QUERY OK source="media_profiles" db=0.2ms 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" = ?) [2] 13:00:30.135 [debug] QUERY OK source="media_items" db=0.3ms idle=3.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [517303] 13:00:30.136 [debug] Current batch of media processed. Will check again in 1000ms 13:00:31.132 [debug] Current batch of media processed. Will check again in 1000ms 13:00:31.137 [debug] Current batch of media processed. Will check again in 1000ms 13:00:32.133 [debug] Current batch of media processed. Will check again in 1000ms 13:00:32.138 [debug] Current batch of media processed. Will check again in 1000ms 13:00:33.134 [debug] Current batch of media processed. Will check again in 1000ms 13:00:33.139 [debug] Current batch of media processed. Will check again in 1000ms 13:00:34.135 [debug] Current batch of media processed. Will check again in 1000ms 13:00:34.140 [debug] Current batch of media processed. Will check again in 1000ms 13:00:35.136 [debug] Current batch of media processed. Will check again in 1000ms 13:00:35.141 [debug] Current batch of media processed. Will check again in 1000ms 13:00:36.137 [debug] Current batch of media processed. Will check again in 1000ms 13:00:36.142 [debug] Current batch of media processed. Will check again in 1000ms 13:00:37.138 [debug] Current batch of media processed. Will check again in 1000ms 13:00:37.143 [debug] Current batch of media processed. Will check again in 1000ms 13:00:38.139 [debug] Current batch of media processed. Will check again in 1000ms 13:00:38.144 [debug] Current batch of media processed. Will check again in 1000ms 13:00:39.140 [debug] Current batch of media processed. Will check again in 1000ms 13:00:39.145 [debug] Current batch of media processed. Will check again in 1000ms 13:00:40.141 [debug] Current batch of media processed. Will check again in 1000ms 13:00:40.146 [debug] Current batch of media processed. Will check again in 1000ms 13:00:41.142 [debug] Current batch of media processed. Will check again in 1000ms 13:00:41.147 [debug] Current batch of media processed. Will check again in 1000ms 13:00:42.143 [debug] Current batch of media processed. Will check again in 1000ms 13:00:42.148 [debug] Current batch of media processed. Will check again in 1000ms 13:00:42.305 [info] {"source":"oban","duration":17550,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:00:43.144 [debug] Current batch of media processed. Will check again in 1000ms 13:00:43.149 [debug] Current batch of media processed. Will check again in 1000ms 13:00:44.145 [debug] Current batch of media processed. Will check again in 1000ms 13:00:44.150 [debug] Current batch of media processed. Will check again in 1000ms 13:00:45.146 [debug] Current batch of media processed. Will check again in 1000ms 13:00:45.151 [debug] Current batch of media processed. Will check again in 1000ms 13:00:46.147 [debug] Current batch of media processed. Will check again in 1000ms 13:00:46.152 [debug] Current batch of media processed. Will check again in 1000ms 13:00:47.148 [debug] Current batch of media processed. Will check again in 1000ms 13:00:47.153 [debug] Current batch of media processed. Will check again in 1000ms 13:00:48.149 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "حياكم الله في اول حلقاتنا من \"بودكاست فيذا\"\n\nمع ضيف الحلقة: الممثل رامي يكشف الجانب الخفي من عالم التمثيل! من الضغوط النفسية لـالفصل بين الشخصية الحقيقية والفنية، إلى التحديات الجسدية كالتصوير تحت الظروف القاسية، وصراعات عدم الاستقرار الوظيفي والمنافسة الشرسة. رامي يشارك تجاربه الصادقة مع إرهاق المشاعر، قرارات أثرت على مسيرته، ونصائحه الجريئة للوافدين الجدد. اكتشف الثمن الحقيقي للنجاح، وما لا تراه الكاميرات!\"\n\n#بودكاست #احلى_بودكاست #فيذا #بودكاست_فيذا #كروت \n#youtube #podcast", "duration" => 51, "filename" => "/downloads/shorts/منصة كروت - Shorts/منصة كروت - Shorts - 2025-03-03 - [dWHI78Dd2r4].mp4", "id" => "dWHI78Dd2r4", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/dWHI78Dd2r4", "playlist_index" => 11, "timestamp" => 1741012248, "title" => "الجانب الخفي من التمثيل", "upload_date" => "20250303"} 13:00:48.150 [debug] QUERY OK source="sources" db=0.2ms idle=139.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [545] 13:00:48.150 [debug] QUERY OK source="sources" db=0.1ms idle=140.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" = ?) [545] 13:00:48.150 [debug] QUERY OK source="media_items" db=0.2ms idle=140.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-03-03 14:30:48Z], 545] 13:00:48.152 [debug] QUERY OK source="media_items" db=1.0ms idle=141.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" ["حياكم الله في اول حلقاتنا من \"بودكاست فيذا\"\n\nمع ضيف الحلقة: الممثل رامي يكشف الجانب الخفي من عالم التمثيل! من الضغوط النفسية لـالفصل بين الشخصية الحقيقية والفنية، إلى التحديات الجسدية كالتصوير تحت الظروف القاسية، وصراعات عدم الاستقرار الوظيفي والمنافسة الشرسة. رامي يشارك تجاربه الصادقة مع إرهاق المشاعر، قرارات أثرت على مسيرته، ونصائحه الجريئة للوافدين الجدد. اكتشف الثمن الحقيقي للنجاح، وما لا تراه الكاميرات!\"\n\n#بودكاست #احلى_بودكاست #فيذا #بودكاست_فيذا #كروت \n#youtube #podcast", "الجانب الخفي من التمثيل", "f76ef15f-0d6d-49de-a927-942199fc6a55", 51, false, "dWHI78Dd2r4", "https://www.youtube.com/shorts/dWHI78Dd2r4", 11, "/downloads/shorts/منصة كروت - Shorts/منصة كروت - Shorts - 2025-03-03 - [dWHI78Dd2r4].mp4", false, false, true, 545, [], 1, ~U[2025-03-03 14:30:48Z], ~U[2026-04-15 13:00:48Z], ~U[2026-04-15 13:00:48Z], "حياكم الله في اول حلقاتنا من \"بودكاست فيذا\"\n\nمع ضيف الحلقة: الممثل رامي يكشف الجانب الخفي من عالم التمثيل! من الضغوط النفسية لـالفصل بين الشخصية الحقيقية والفنية، إلى التحديات الجسدية كالتصوير تحت الظروف القاسية، وصراعات عدم الاستقرار الوظيفي والمنافسة الشرسة. رامي يشارك تجاربه الصادقة مع إرهاق المشاعر، قرارات أثرت على مسيرته، ونصائحه الجريئة للوافدين الجدد. اكتشف الثمن الحقيقي للنجاح، وما لا تراه الكاميرات!\"\n\n#بودكاست #احلى_بودكاست #فيذا #بودكاست_فيذا #كروت \n#youtube #podcast", "الجانب الخفي من التمثيل", 51, false, "dWHI78Dd2r4", "https://www.youtube.com/shorts/dWHI78Dd2r4", "/downloads/shorts/منصة كروت - Shorts/منصة كروت - Shorts - 2025-03-03 - [dWHI78Dd2r4].mp4", true, 545, ~U[2025-03-03 14:30:48Z]] 13:00:48.153 [debug] QUERY OK source="sources" db=0.8ms idle=20.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [545] 13:00:48.154 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "", "duration" => 58, "filename" => "/downloads/shorts/Jarrib podcast جرّب بودكاست#/Jarrib podcast جرّب بودكاست - 2024-09-12 - [k9HYbcuQNJU].mp4", "id" => "k9HYbcuQNJU", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/k9HYbcuQNJU", "playlist_index" => 11, "timestamp" => 1726163638, "title" => "المواجهة ! غداً على جرّب بودكاست", "upload_date" => "20240912"} 13:00:48.154 [debug] QUERY OK source="media_profiles" db=0.4ms idle=3.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 13:00:48.154 [debug] QUERY OK source="sources" db=0.4ms 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" IN (?)) [202] 13:00:48.155 [debug] QUERY OK source="media_items" db=0.4ms idle=3.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 [4405083] 13:00:48.155 [debug] Current batch of media processed. Will check again in 1000ms 13:00:48.155 [debug] QUERY OK source="sources" db=0.3ms 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" = ?) [202] 13:00:48.156 [debug] QUERY OK source="media_items" db=0.4ms idle=2.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-09-12 17:53:58Z], 202] 13:00:48.157 [debug] QUERY OK source="media_items" db=0.5ms idle=2.0ms INSERT INTO "media_items" AS m0 ("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) 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" ["المواجهة ! غداً على جرّب بودكاست", "c6a2b469-cb7f-4f3a-8da5-1484270e2687", 58, false, "k9HYbcuQNJU", "https://www.youtube.com/shorts/k9HYbcuQNJU", 11, "/downloads/shorts/Jarrib podcast جرّب بودكاست#/Jarrib podcast جرّب بودكاست - 2024-09-12 - [k9HYbcuQNJU].mp4", false, false, true, 202, [], 98, ~U[2024-09-12 17:53:58Z], ~U[2026-04-15 13:00:48Z], ~U[2026-04-15 13:00:48Z], "", "المواجهة ! غداً على جرّب بودكاست", 58, false, "k9HYbcuQNJU", "https://www.youtube.com/shorts/k9HYbcuQNJU", "/downloads/shorts/Jarrib podcast جرّب بودكاست#/Jarrib podcast جرّب بودكاست - 2024-09-12 - [k9HYbcuQNJU].mp4", true, 202, ~U[2024-09-12 17:53:58Z]] 13:00:48.157 [debug] QUERY OK source="sources" db=0.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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [202] 13:00:48.158 [debug] QUERY OK source="media_profiles" db=0.2ms idle=2.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 13:00:48.158 [debug] QUERY OK source="media_items" db=0.3ms idle=2.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [517305] 13:00:48.158 [debug] Current batch of media processed. Will check again in 1000ms 13:00:49.156 [debug] Current batch of media processed. Will check again in 1000ms 13:00:49.159 [debug] Current batch of media processed. Will check again in 1000ms 13:00:50.157 [debug] Current batch of media processed. Will check again in 1000ms 13:00:50.160 [debug] Current batch of media processed. Will check again in 1000ms 13:00:51.158 [debug] Current batch of media processed. Will check again in 1000ms 13:00:51.161 [debug] Current batch of media processed. Will check again in 1000ms 13:00:52.159 [debug] Current batch of media processed. Will check again in 1000ms 13:00:52.162 [debug] Current batch of media processed. Will check again in 1000ms 13:00:53.160 [debug] Current batch of media processed. Will check again in 1000ms 13:00:53.163 [debug] Current batch of media processed. Will check again in 1000ms 13:00:54.161 [debug] Current batch of media processed. Will check again in 1000ms 13:00:54.164 [debug] Current batch of media processed. Will check again in 1000ms 13:00:55.162 [debug] Current batch of media processed. Will check again in 1000ms 13:00:55.165 [debug] Current batch of media processed. Will check again in 1000ms 13:00:56.163 [debug] Current batch of media processed. Will check again in 1000ms 13:00:56.166 [debug] Current batch of media processed. Will check again in 1000ms 13:00:57.164 [debug] Current batch of media processed. Will check again in 1000ms 13:00:57.167 [debug] Current batch of media processed. Will check again in 1000ms 13:00:58.165 [debug] Current batch of media processed. Will check again in 1000ms 13:00:58.168 [debug] Current batch of media processed. Will check again in 1000ms 13:00:59.166 [debug] Current batch of media processed. Will check again in 1000ms 13:00:59.169 [debug] Current batch of media processed. Will check again in 1000ms 13:01:00.167 [debug] Current batch of media processed. Will check again in 1000ms 13:01:00.170 [debug] Current batch of media processed. Will check again in 1000ms 13:01:00.837 [info] {"source":"oban","duration":212,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:01:01.168 [debug] Current batch of media processed. Will check again in 1000ms 13:01:01.171 [debug] Current batch of media processed. Will check again in 1000ms 13:01:02.169 [debug] Current batch of media processed. Will check again in 1000ms 13:01:02.172 [debug] Current batch of media processed. Will check again in 1000ms 13:01:03.170 [debug] Current batch of media processed. Will check again in 1000ms 13:01:03.173 [debug] Current batch of media processed. Will check again in 1000ms 13:01:04.171 [debug] Current batch of media processed. Will check again in 1000ms 13:01:04.174 [debug] Current batch of media processed. Will check again in 1000ms 13:01:05.172 [debug] Current batch of media processed. Will check again in 1000ms 13:01:05.175 [debug] Current batch of media processed. Will check again in 1000ms 13:01:06.173 [debug] Current batch of media processed. Will check again in 1000ms 13:01:06.176 [debug] Current batch of media processed. Will check again in 1000ms 13:01:07.162 [info] {"args":{"id":46},"id":2191999,"meta":{},"system_time":1776258067162240504,"max_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:07.163 [debug] QUERY OK source="sources" db=0.3ms idle=1152.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" = ?) [46] 13:01:07.163 [debug] QUERY OK source="settings" db=0.3ms idle=1152.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:07.164 [debug] QUERY OK source="media_profiles" db=0.2ms idle=1009.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" = ?) [2] 13:01:07.164 [debug] QUERY OK source="settings" db=0.3ms idle=8.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:01:07.164 [debug] Fetching recent media IDs from YouTube API for playlist: UU6A5Hm2n4ua3gYOHAXxbwbg 13:01:07.165 [debug] QUERY OK source="settings" db=0.1ms idle=2.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:01:07.165 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 13:01:07.174 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "حياكم الله في اول حلقاتنا من \"بودكاست فيذا\"\n\nمع ضيف الحلقة: الممثل رامي يكشف الجانب الخفي من عالم التمثيل! من الضغوط النفسية لـالفصل بين الشخصية الحقيقية والفنية، إلى التحديات الجسدية كالتصوير تحت الظروف القاسية، وصراعات عدم الاستقرار الوظيفي والمنافسة الشرسة. رامي يشارك تجاربه الصادقة مع إرهاق المشاعر، قرارات أثرت على مسيرته، ونصائحه الجريئة للوافدين الجدد. اكتشف الثمن الحقيقي للنجاح، وما لا تراه الكاميرات!\"\n\n#بودكاست #احلى_بودكاست #فيذا #بودكاست_فيذا #كروت \n#youtube #podcast", "duration" => 61, "filename" => "/downloads/shorts/منصة كروت - Shorts/منصة كروت - Shorts - 2025-03-02 - [7FIxtwUQPlY].mp4", "id" => "7FIxtwUQPlY", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/7FIxtwUQPlY", "playlist_index" => 12, "timestamp" => 1740873743, "title" => "نزلت حلقتنا الاولى من #بودكاست_فيذا", "upload_date" => "20250302"} 13:01:07.175 [debug] QUERY OK source="sources" db=0.4ms idle=11.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [545] 13:01:07.175 [debug] QUERY OK source="sources" db=0.1ms idle=11.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [545] 13:01:07.176 [debug] QUERY OK source="media_items" db=0.1ms idle=11.8ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-03-02 00:02:23Z], 545] 13:01:07.177 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "", "duration" => 34, "filename" => "/downloads/shorts/Jarrib podcast جرّب بودكاست#/Jarrib podcast جرّب بودكاست - 2024-09-10 - [OOHVYn6Xg-I].mp4", "id" => "OOHVYn6Xg-I", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/OOHVYn6Xg-I", "playlist_index" => 12, "timestamp" => 1725982669, "title" => "شعور العجز … #جرب_بودكاست", "upload_date" => "20240910"} 13:01:07.177 [debug] QUERY OK source="media_items" db=1.0ms idle=11.8ms 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" ["حياكم الله في اول حلقاتنا من \"بودكاست فيذا\"\n\nمع ضيف الحلقة: الممثل رامي يكشف الجانب الخفي من عالم التمثيل! من الضغوط النفسية لـالفصل بين الشخصية الحقيقية والفنية، إلى التحديات الجسدية كالتصوير تحت الظروف القاسية، وصراعات عدم الاستقرار الوظيفي والمنافسة الشرسة. رامي يشارك تجاربه الصادقة مع إرهاق المشاعر، قرارات أثرت على مسيرته، ونصائحه الجريئة للوافدين الجدد. اكتشف الثمن الحقيقي للنجاح، وما لا تراه الكاميرات!\"\n\n#بودكاست #احلى_بودكاست #فيذا #بودكاست_فيذا #كروت \n#youtube #podcast", "نزلت حلقتنا الاولى من #بودكاست_فيذا", "cf768bde-e5f2-4d69-b182-3ed8b8226e3b", 61, false, "7FIxtwUQPlY", "https://www.youtube.com/shorts/7FIxtwUQPlY", 12, "/downloads/shorts/منصة كروت - Shorts/منصة كروت - Shorts - 2025-03-02 - [7FIxtwUQPlY].mp4", false, false, true, 545, [], 1, ~U[2025-03-02 00:02:23Z], ~U[2026-04-15 13:01:07Z], ~U[2026-04-15 13:01:07Z], "حياكم الله في اول حلقاتنا من \"بودكاست فيذا\"\n\nمع ضيف الحلقة: الممثل رامي يكشف الجانب الخفي من عالم التمثيل! من الضغوط النفسية لـالفصل بين الشخصية الحقيقية والفنية، إلى التحديات الجسدية كالتصوير تحت الظروف القاسية، وصراعات عدم الاستقرار الوظيفي والمنافسة الشرسة. رامي يشارك تجاربه الصادقة مع إرهاق المشاعر، قرارات أثرت على مسيرته، ونصائحه الجريئة للوافدين الجدد. اكتشف الثمن الحقيقي للنجاح، وما لا تراه الكاميرات!\"\n\n#بودكاست #احلى_بودكاست #فيذا #بودكاست_فيذا #كروت \n#youtube #podcast", "نزلت حلقتنا الاولى من #بودكاست_فيذا", 61, false, "7FIxtwUQPlY", "https://www.youtube.com/shorts/7FIxtwUQPlY", "/downloads/shorts/منصة كروت - Shorts/منصة كروت - Shorts - 2025-03-02 - [7FIxtwUQPlY].mp4", true, 545, ~U[2025-03-02 00:02:23Z]] 13:01:07.177 [debug] QUERY OK source="sources" db=0.3ms 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" IN (?)) [202] 13:01:07.178 [debug] QUERY OK source="sources" db=0.3ms 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" = ?) [545] 13:01:07.178 [debug] QUERY OK source="sources" db=0.4ms 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" = ?) [202] 13:01:07.178 [debug] QUERY OK source="media_profiles" db=0.3ms 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" = ?) [2] 13:01:07.179 [debug] QUERY OK source="media_items" db=0.6ms idle=1.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-09-10 15:37:49Z], 202] 13:01:07.179 [debug] QUERY OK source="media_items" db=0.3ms 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 [4405085] 13:01:07.179 [debug] Current batch of media processed. Will check again in 1000ms 13:01:07.180 [debug] QUERY OK source="media_items" db=0.6ms idle=1.3ms INSERT INTO "media_items" AS m0 ("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) 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" ["شعور العجز … #جرب_بودكاست", "bf9df117-404f-4210-816c-7a6ba1dda798", 34, false, "OOHVYn6Xg-I", "https://www.youtube.com/shorts/OOHVYn6Xg-I", 12, "/downloads/shorts/Jarrib podcast جرّب بودكاست#/Jarrib podcast جرّب بودكاست - 2024-09-10 - [OOHVYn6Xg-I].mp4", false, false, true, 202, [], 98, ~U[2024-09-10 15:37:49Z], ~U[2026-04-15 13:01:07Z], ~U[2026-04-15 13:01:07Z], "", "شعور العجز … #جرب_بودكاست", 34, false, "OOHVYn6Xg-I", "https://www.youtube.com/shorts/OOHVYn6Xg-I", "/downloads/shorts/Jarrib podcast جرّب بودكاست#/Jarrib podcast جرّب بودكاست - 2024-09-10 - [OOHVYn6Xg-I].mp4", true, 202, ~U[2024-09-10 15:37:49Z]] 13:01:07.180 [debug] QUERY OK source="sources" db=0.3ms 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" = ?) [202] 13:01:07.181 [debug] QUERY OK source="media_profiles" db=0.2ms 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" = ?) [2] 13:01:07.182 [debug] QUERY OK source="media_items" db=0.4ms idle=2.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 [517307] 13:01:07.182 [debug] Current batch of media processed. Will check again in 1000ms 13:01:07.742 [debug] QUERY OK source="media_items" db=1.3ms idle=561.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [46, "91FeGvZJScY", "CYBhH_JYrao", "bZT12EHs9Yg", "kbyoiRxn4PI", "SOBkcZSh9II", "zxgDhss5Exw", "amWmTGGET0E", "lHSr_TCLAhk", "fAvcbWRtbyY", "sSD4o9fv_Ew", "krEyWTE0BnQ", "Kz54TXV2ZA4", "PtuYWSOmUPg", "xjw6HjH1noU", "hC2iGUBovAE", "dI34Vp0NFxo", "iH5m0ygselg", "HxUaarF3cOE", "MMOATdS4HTY", "hNctdULnqXQ", "hri9lwiAmbU", "MpuKiJvR3iU", "ZGhsiJ7xyMM", "FlX8Oi3j2lA", "qotJKnBv_XY", "S-NmaIYR_9A", "nOUKPh8FyOA", "sPXEIXVBQPc", "VLm4ts60Jlw", "cM_ILEVbG38", "tZvrO4sGQS0", "OZP4vBfv8cY", "zyjZ2Ywo-sE", "0h-0sZswhS0", "LPVlRTKp4LY", "Jw9Oufynn44", "-SAsUMbDi0c", "vULJb128GAs", "PHs_eSgo9O4", "9CenR6dKkp4", "iO8InAwJARw", "pxSbAVwVPtg", "jvQiQnJUkYE", "okvHOwXHwrs", "Ske0itt1bEY", "T0L4hNCy_9Q", "A0ZpqNJzNcM", "y1yd3nZ9CEk", "pNZjleftqOs", ...] 13:01:07.746 [debug] QUERY OK source="media_items" db=2.2ms idle=563.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")))) [46] 13:01:07.747 [debug] QUERY OK source="tasks" db=0.2ms idle=565.4ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2192034, 46, ~U[2026-04-15 13:01:07Z], ~U[2026-04-15 13:01:07Z]] 13:01:07.748 [info] {"args":{"id":46},"id":2191999,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":585710,"event":"job:stop","queue_time":489050,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:01:08.180 [debug] Current batch of media processed. Will check again in 1000ms 13:01:08.183 [debug] Current batch of media processed. Will check again in 1000ms 13:01:09.181 [debug] Current batch of media processed. Will check again in 1000ms 13:01:09.184 [debug] Current batch of media processed. Will check again in 1000ms 13:01:10.182 [debug] Current batch of media processed. Will check again in 1000ms 13:01:10.185 [debug] Current batch of media processed. Will check again in 1000ms 13:01:11.183 [debug] Current batch of media processed. Will check again in 1000ms 13:01:11.186 [debug] Current batch of media processed. Will check again in 1000ms 13:01:12.184 [debug] Current batch of media processed. Will check again in 1000ms 13:01:12.187 [debug] Current batch of media processed. Will check again in 1000ms 13:01:12.324 [info] {"source":"oban","duration":18444,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:01:13.185 [debug] Current batch of media processed. Will check again in 1000ms 13:01:13.188 [debug] Current batch of media processed. Will check again in 1000ms 13:01:14.186 [debug] Current batch of media processed. Will check again in 1000ms 13:01:14.189 [debug] Current batch of media processed. Will check again in 1000ms 13:01:15.187 [debug] Current batch of media processed. Will check again in 1000ms 13:01:15.190 [debug] Current batch of media processed. Will check again in 1000ms 13:01:16.188 [debug] Current batch of media processed. Will check again in 1000ms 13:01:16.191 [debug] Current batch of media processed. Will check again in 1000ms 13:01:17.189 [debug] Current batch of media processed. Will check again in 1000ms 13:01:17.192 [debug] Current batch of media processed. Will check again in 1000ms 13:01:18.190 [debug] Current batch of media processed. Will check again in 1000ms 13:01:18.193 [debug] Current batch of media processed. Will check again in 1000ms 13:01:19.191 [debug] Current batch of media processed. Will check again in 1000ms 13:01:19.194 [debug] Current batch of media processed. Will check again in 1000ms 13:01:20.018 [info] GET /sources/380/media/4630541 13:01:20.018 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "4630541", "prevent_download" => "true", "source_id" => "380"} Pipelines: [:browser] 13:01:20.018 [debug] QUERY OK source="media_items" db=0.2ms idle=1008.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" = ?) [4630541] 13:01:20.019 [debug] QUERY OK source="tasks" db=0.1ms idle=1009.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" [4630541] 13:01:20.019 [debug] QUERY OK source="sources" db=0.3ms 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" = ?) [380] 13:01:20.020 [debug] QUERY OK source="settings" db=0.1ms idle=850.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:01:20.020 [debug] QUERY OK source="settings" db=0.1ms idle=10.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:01:20.021 [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 [] 13:01:20.021 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 13:01:20.023 [info] Sent 200 in 5ms 13:01:20.178 [info] {"args":{"id":162},"id":2192000,"meta":{},"system_time":1776258080177995695,"max_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:20.178 [debug] QUERY OK source="sources" db=0.3ms idle=157.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" = ?) [162] 13:01:20.179 [debug] QUERY OK source="settings" db=0.3ms idle=157.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:20.180 [debug] QUERY OK source="media_profiles" db=0.8ms idle=157.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" = ?) [2] 13:01:20.180 [debug] QUERY OK source="settings" db=0.2ms idle=9.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:01:20.180 [debug] Fetching recent media IDs from YouTube API for playlist: UUABzsyFLLA-fKu05lR-49RA 13:01:20.181 [debug] QUERY OK source="settings" db=0.1ms idle=3.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:01:20.181 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 13:01:20.192 [debug] Current batch of media processed. Will check again in 1000ms 13:01:20.195 [debug] Current batch of media processed. Will check again in 1000ms 13:01:20.382 [debug] QUERY OK source="media_items" db=1.1ms idle=202.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [162, "ekjubKROBRg", "4pyotqfBLhM", "2rPbJvL3j4Y", "2O90s2wLTos", "8ZEYPhSYVIE", "MhmiUOWYTxY", "T3HEM7ZNQPA", "V9g3NsG6ut4", "KFgnlLa1D3c", "xuK6RuwvSqs", "d1T9zgY6e8U", "U37vbS9xCmA", "4VfVt3CmdrE", "LHNQ0Hi1a0Q", "kiBovELN07k", "_BwwTsb2TI0", "O9nDiWzdXlo", "T0ZcxY4D2aA", "-12pzaDhv_A", "p2YtdDNlU6k", "FJ9jGXXdoUo", "QbRHZBbwpbA", "jo9TYjGV7uQ", "eECh3m0EVG0", "VvwxdVWgXh0", "qVXJvOy80Q4", "3F4x-FMlEjA", "Tf07AdpNyww", "eP5Nph4v_DE", "ZnLiB07EjmM", "SRE_KFmxcq8", "Lx_lGb9dkYQ", "dMZ3w9NsjrM", "saSk7K_qJEo", "zrRiTNHXA1w", "JDEMAWmI6hU", "PODXln9kxPI", "ewnhb2rTabk", "ZbgB2Wdq6pA", "83PGdBO5sJk", "Z5K6fG36bDM", "snQvJ89e53Y", "15cm2QYHlSY", "Sh9rBNM8AHk", "NOZ6drrRrI8", "PHEHlvvVeAw", "t9omgey7Q0w", "6IYTsuTZeuI", "swAglzdSLts", ...] 13:01:20.386 [debug] QUERY OK source="media_items" db=2.6ms idle=204.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")))) [162] 13:01:20.388 [debug] QUERY OK source="tasks" db=0.2ms idle=206.6ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2192035, 162, ~U[2026-04-15 13:01:20Z], ~U[2026-04-15 13:01:20Z]] 13:01:20.388 [info] {"args":{"id":162},"id":2192000,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":210277,"event":"job:stop","queue_time":464171,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:01:21.193 [debug] Current batch of media processed. Will check again in 1000ms 13:01:21.196 [debug] Current batch of media processed. Will check again in 1000ms 13:01:22.194 [debug] Current batch of media processed. Will check again in 1000ms 13:01:22.197 [debug] Current batch of media processed. Will check again in 1000ms 13:01:23.195 [debug] Current batch of media processed. Will check again in 1000ms 13:01:23.198 [debug] Current batch of media processed. Will check again in 1000ms 13:01:24.196 [debug] Current batch of media processed. Will check again in 1000ms 13:01:24.201 [debug] Current batch of media processed. Will check again in 1000ms 13:01:25.197 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "بودكاست فيذا \n\n#احلى بودكاست", "duration" => 23, "filename" => "/downloads/shorts/منصة كروت - Shorts/منصة كروت - Shorts - 2025-02-15 - [D-36PPqupdY].mp4", "id" => "D-36PPqupdY", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/D-36PPqupdY", "playlist_index" => 13, "timestamp" => 1739615658, "title" => "ترقبونا .. بودكاست فيذا", "upload_date" => "20250215"} 13:01:25.197 [debug] QUERY OK source="sources" db=0.3ms idle=1187.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" IN (?)) [545] 13:01:25.198 [debug] QUERY OK source="sources" db=0.2ms idle=1187.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" = ?) [545] 13:01:25.198 [debug] QUERY OK source="media_items" db=0.2ms idle=1188.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-02-15 10:34:18Z], 545] 13:01:25.199 [debug] QUERY OK source="media_items" db=0.7ms idle=1022.3ms 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" ["بودكاست فيذا \n\n#احلى بودكاست", "ترقبونا .. بودكاست فيذا", "490c90e2-76d4-41d8-b99c-97c198015c07", 23, false, "D-36PPqupdY", "https://www.youtube.com/shorts/D-36PPqupdY", 13, "/downloads/shorts/منصة كروت - Shorts/منصة كروت - Shorts - 2025-02-15 - [D-36PPqupdY].mp4", false, false, true, 545, [], 1, ~U[2025-02-15 10:34:18Z], ~U[2026-04-15 13:01:25Z], ~U[2026-04-15 13:01:25Z], "بودكاست فيذا \n\n#احلى بودكاست", "ترقبونا .. بودكاست فيذا", 23, false, "D-36PPqupdY", "https://www.youtube.com/shorts/D-36PPqupdY", "/downloads/shorts/منصة كروت - Shorts/منصة كروت - Shorts - 2025-02-15 - [D-36PPqupdY].mp4", true, 545, ~U[2025-02-15 10:34:18Z]] 13:01:25.200 [debug] QUERY OK source="sources" db=0.3ms idle=22.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [545] 13:01:25.200 [debug] QUERY OK source="media_profiles" db=0.3ms 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" = ?) [2] 13:01:25.201 [debug] QUERY OK source="media_items" db=0.3ms idle=2.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4405086] 13:01:25.201 [debug] Current batch of media processed. Will check again in 1000ms 13:01:25.202 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "", "duration" => 26, "filename" => "/downloads/shorts/Jarrib podcast جرّب بودكاست#/Jarrib podcast جرّب بودكاست - 2024-09-09 - [aa9Z2uoOPxk].mp4", "id" => "aa9Z2uoOPxk", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/aa9Z2uoOPxk", "playlist_index" => 13, "timestamp" => 1725896534, "title" => "لقطتكم المفضلة من حلقة هذا الاسبوع 😂♥️", "upload_date" => "20240909"} 13:01:25.202 [debug] QUERY OK source="sources" db=0.2ms idle=3.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" IN (?)) [202] 13:01:25.203 [debug] QUERY OK source="sources" db=0.2ms 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" = ?) [202] 13:01:25.204 [debug] QUERY OK source="media_items" db=0.4ms idle=3.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-09-09 15:42:14Z], 202] 13:01:25.204 [debug] QUERY OK source="media_items" db=0.6ms idle=3.2ms INSERT INTO "media_items" AS m0 ("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) 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" ["لقطتكم المفضلة من حلقة هذا الاسبوع 😂♥️", "6eb75ed2-c65e-4fc6-b8a3-2a6dcfaf6f7b", 26, false, "aa9Z2uoOPxk", "https://www.youtube.com/shorts/aa9Z2uoOPxk", 13, "/downloads/shorts/Jarrib podcast جرّب بودكاست#/Jarrib podcast جرّب بودكاست - 2024-09-09 - [aa9Z2uoOPxk].mp4", false, false, true, 202, [], 98, ~U[2024-09-09 15:42:14Z], ~U[2026-04-15 13:01:25Z], ~U[2026-04-15 13:01:25Z], "", "لقطتكم المفضلة من حلقة هذا الاسبوع 😂♥️", 26, false, "aa9Z2uoOPxk", "https://www.youtube.com/shorts/aa9Z2uoOPxk", "/downloads/shorts/Jarrib podcast جرّب بودكاست#/Jarrib podcast جرّب بودكاست - 2024-09-09 - [aa9Z2uoOPxk].mp4", true, 202, ~U[2024-09-09 15:42:14Z]] 13:01:25.205 [debug] QUERY OK source="sources" db=0.2ms 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" = ?) [202] 13:01:25.205 [debug] QUERY OK source="media_profiles" db=0.2ms 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" = ?) [2] 13:01:25.206 [debug] QUERY OK source="media_items" db=0.3ms idle=2.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [517309] 13:01:25.206 [debug] Current batch of media processed. Will check again in 1000ms 13:01:26.202 [debug] Current batch of media processed. Will check again in 1000ms 13:01:26.207 [debug] Current batch of media processed. Will check again in 1000ms 13:01:27.203 [debug] Current batch of media processed. Will check again in 1000ms 13:01:27.208 [debug] Current batch of media processed. Will check again in 1000ms 13:01:28.204 [debug] Current batch of media processed. Will check again in 1000ms 13:01:28.209 [debug] Current batch of media processed. Will check again in 1000ms 13:01:29.205 [debug] Current batch of media processed. Will check again in 1000ms 13:01:29.210 [debug] Current batch of media processed. Will check again in 1000ms 13:01:30.206 [debug] Current batch of media processed. Will check again in 1000ms 13:01:30.211 [debug] Current batch of media processed. Will check again in 1000ms 13:01:31.207 [debug] Current batch of media processed. Will check again in 1000ms 13:01:31.212 [debug] Current batch of media processed. Will check again in 1000ms 13:01:32.208 [debug] Current batch of media processed. Will check again in 1000ms 13:01:32.213 [debug] Current batch of media processed. Will check again in 1000ms 13:01:33.209 [debug] Current batch of media processed. Will check again in 1000ms 13:01:33.214 [debug] Current batch of media processed. Will check again in 1000ms 13:01:34.210 [debug] Current batch of media processed. Will check again in 1000ms 13:01:34.215 [debug] Current batch of media processed. Will check again in 1000ms 13:01:35.211 [debug] Current batch of media processed. Will check again in 1000ms 13:01:35.216 [debug] Current batch of media processed. Will check again in 1000ms 13:01:36.212 [debug] Current batch of media processed. Will check again in 1000ms 13:01:36.217 [debug] Current batch of media processed. Will check again in 1000ms 13:01:37.213 [debug] Current batch of media processed. Will check again in 1000ms 13:01:37.218 [debug] Current batch of media processed. Will check again in 1000ms 13:01:38.214 [debug] Current batch of media processed. Will check again in 1000ms 13:01:38.219 [debug] Current batch of media processed. Will check again in 1000ms 13:01:39.215 [debug] Current batch of media processed. Will check again in 1000ms 13:01:39.220 [debug] Current batch of media processed. Will check again in 1000ms 13:01:40.216 [debug] Current batch of media processed. Will check again in 1000ms 13:01:40.221 [debug] Current batch of media processed. Will check again in 1000ms 13:01:41.217 [debug] Current batch of media processed. Will check again in 1000ms 13:01:41.222 [debug] Current batch of media processed. Will check again in 1000ms 13:01:42.218 [debug] Current batch of media processed. Will check again in 1000ms 13:01:42.223 [debug] Current batch of media processed. Will check again in 1000ms 13:01:42.342 [info] {"source":"oban","duration":17787,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:01:43.219 [debug] Current batch of media processed. Will check again in 1000ms 13:01:43.224 [debug] Current batch of media processed. Will check again in 1000ms 13:01:44.220 [debug] Current batch of media processed. Will check again in 1000ms 13:01:44.225 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "", "duration" => 37, "filename" => "/downloads/shorts/Jarrib podcast جرّب بودكاست#/Jarrib podcast جرّب بودكاست - 2024-09-07 - [qbWFhbI5NO4].mp4", "id" => "qbWFhbI5NO4", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/qbWFhbI5NO4", "playlist_index" => 14, "timestamp" => 1725726668, "title" => "يا للعار ❤️\u200D🩹😞", "upload_date" => "20240907"} 13:01:44.225 [debug] QUERY OK source="sources" db=0.1ms idle=1215.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" IN (?)) [202] 13:01:44.226 [debug] QUERY OK source="sources" db=0.2ms idle=1215.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" = ?) [202] 13:01:44.227 [debug] QUERY OK source="media_items" db=0.5ms idle=1024.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-09-07 16:31:08Z], 202] 13:01:44.228 [debug] QUERY OK source="media_items" db=1.3ms idle=217.1ms INSERT INTO "media_items" AS m0 ("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) 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" ["يا للعار ❤️\u200D🩹😞", "3989c981-0c39-4c16-8812-d0148f33a9d1", 37, false, "qbWFhbI5NO4", "https://www.youtube.com/shorts/qbWFhbI5NO4", 14, "/downloads/shorts/Jarrib podcast جرّب بودكاست#/Jarrib podcast جرّب بودكاست - 2024-09-07 - [qbWFhbI5NO4].mp4", false, false, true, 202, [], 98, ~U[2024-09-07 16:31:08Z], ~U[2026-04-15 13:01:44Z], ~U[2026-04-15 13:01:44Z], "", "يا للعار ❤️\u200D🩹😞", 37, false, "qbWFhbI5NO4", "https://www.youtube.com/shorts/qbWFhbI5NO4", "/downloads/shorts/Jarrib podcast جرّب بودكاست#/Jarrib podcast جرّب بودكاست - 2024-09-07 - [qbWFhbI5NO4].mp4", true, 202, ~U[2024-09-07 16:31:08Z]] 13:01:44.229 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=25.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [202] 13:01:44.230 [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" = ?) [2] 13:01:44.230 [debug] QUERY OK source="media_items" db=0.4ms idle=4.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [517350] 13:01:44.231 [debug] Current batch of media processed. Will check again in 1000ms 13:01:44.489 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@Kuroot-sa/shorts --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/shorts/منصة كروت - Shorts/منصة كروت - Shorts - %(upload_date>%Y-%m-%d)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/f7/4c/f74c7f52afa299ad07f2b9f05c21d91cfde135883f0e3271486aabbe7b760ebc.json --sleep-requests 5 --sleep-interval 5 --sleep-subtitles 4 --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 13:01:44.490 [debug] Gracefully stopping file follower 13:01:44.491 [debug] QUERY OK source="sources" db=0.5ms idle=263.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" IN (?)) [545] 13:01:44.491 [debug] QUERY OK source="sources" db=0.1ms idle=262.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" = ?) [545] 13:01:44.491 [debug] QUERY OK source="media_items" db=0.1ms idle=262.0ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-05-01 14:46:47Z], 545] 13:01:44.492 [debug] QUERY OK source="media_items" db=0.5ms idle=261.9ms INSERT INTO "media_items" AS m0 ("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) 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" ["شي ما شفتوه .. كواليس الحلقة 03 | بودكاست فيذا", "2bf46265-a853-440b-8104-803a4dd4d6f5", 44, false, "35uk4b7yKuQ", "https://www.youtube.com/shorts/35uk4b7yKuQ", 1, "/downloads/shorts/منصة كروت - Shorts/منصة كروت - Shorts - 2025-05-01 - [35uk4b7yKuQ].mp4", false, false, true, 545, [], 1, ~U[2025-05-01 14:46:47Z], ~U[2026-04-15 13:01:44Z], ~U[2026-04-15 13:01:44Z], "", "شي ما شفتوه .. كواليس الحلقة 03 | بودكاست فيذا", 44, false, "35uk4b7yKuQ", "https://www.youtube.com/shorts/35uk4b7yKuQ", "/downloads/shorts/منصة كروت - Shorts/منصة كروت - Shorts - 2025-05-01 - [35uk4b7yKuQ].mp4", true, 545, ~U[2025-05-01 14:46:47Z]] 13:01:44.493 [debug] QUERY OK source="sources" db=0.2ms idle=261.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" = ?) [545] 13:01:44.493 [debug] QUERY OK source="media_items" db=0.2ms idle=2.2ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-04-29 08:37:31Z], 545] 13:01:44.494 [debug] QUERY OK source="media_items" db=1.0ms idle=2.2ms INSERT INTO "media_items" AS m0 ("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) 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" ["نظرية الديناصور 🦖 | بودكاست فيذا", "0f5b5eea-3020-4888-a53e-d59bab771c7a", 57, false, "tX6toy1cQTg", "https://www.youtube.com/shorts/tX6toy1cQTg", 2, "/downloads/shorts/منصة كروت - Shorts/منصة كروت - Shorts - 2025-04-29 - [tX6toy1cQTg].mp4", false, false, true, 545, [], 1, ~U[2025-04-29 08:37:31Z], ~U[2026-04-15 13:01:44Z], ~U[2026-04-15 13:01:44Z], "", "نظرية الديناصور 🦖 | بودكاست فيذا", 57, false, "tX6toy1cQTg", "https://www.youtube.com/shorts/tX6toy1cQTg", "/downloads/shorts/منصة كروت - Shorts/منصة كروت - Shorts - 2025-04-29 - [tX6toy1cQTg].mp4", true, 545, ~U[2025-04-29 08:37:31Z]] 13:01:44.495 [debug] QUERY OK source="sources" db=0.2ms 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" = ?) [545] 13:01:44.495 [debug] QUERY OK source="media_items" db=0.2ms idle=2.7ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-04-28 08:41:05Z], 545] 13:01:44.496 [debug] QUERY OK source="media_items" db=0.5ms idle=2.7ms INSERT INTO "media_items" AS m0 ("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) 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" ["هل انت مستعد للحج ! 🕋 | بودكاست فيذا", "5b374087-6a35-428a-b18c-2318ae8cb40e", 55, false, "vdr76Pvx8rc", "https://www.youtube.com/shorts/vdr76Pvx8rc", 3, "/downloads/shorts/منصة كروت - Shorts/منصة كروت - Shorts - 2025-04-28 - [vdr76Pvx8rc].mp4", false, false, true, 545, [], 1, ~U[2025-04-28 08:41:05Z], ~U[2026-04-15 13:01:44Z], ~U[2026-04-15 13:01:44Z], "", "هل انت مستعد للحج ! 🕋 | بودكاست فيذا", 55, false, "vdr76Pvx8rc", "https://www.youtube.com/shorts/vdr76Pvx8rc", "/downloads/shorts/منصة كروت - Shorts/منصة كروت - Shorts - 2025-04-28 - [vdr76Pvx8rc].mp4", true, 545, ~U[2025-04-28 08:41:05Z]] 13:01:44.496 [debug] QUERY OK source="sources" db=0.2ms 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" = ?) [545] 13:01:44.497 [debug] QUERY OK source="media_items" db=0.2ms idle=2.2ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-04-21 15:50:32Z], 545] 13:01:44.512 [debug] QUERY OK source="media_items" db=14.7ms idle=2.2ms INSERT INTO "media_items" AS m0 ("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) 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" ["عبدالرحمن العنزي XQ55 | بودكاست فيذا", "5a7be558-3f58-4f5b-ad09-b1b05f4a0ffb", 59, false, "PDH9x8uQ8Lk", "https://www.youtube.com/shorts/PDH9x8uQ8Lk", 4, "/downloads/shorts/منصة كروت - Shorts/منصة كروت - Shorts - 2025-04-21 - [PDH9x8uQ8Lk].mp4", false, false, true, 545, [], 1, ~U[2025-04-21 15:50:32Z], ~U[2026-04-15 13:01:44Z], ~U[2026-04-15 13:01:44Z], "", "عبدالرحمن العنزي XQ55 | بودكاست فيذا", 59, false, "PDH9x8uQ8Lk", "https://www.youtube.com/shorts/PDH9x8uQ8Lk", "/downloads/shorts/منصة كروت - Shorts/منصة كروت - Shorts - 2025-04-21 - [PDH9x8uQ8Lk].mp4", true, 545, ~U[2025-04-21 15:50:32Z]] 13:01:44.512 [debug] QUERY OK source="sources" db=0.2ms idle=16.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [545] 13:01:44.513 [debug] QUERY OK source="media_items" db=0.2ms idle=16.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-04-20 19:48:41Z], 545] 13:01:44.516 [debug] QUERY OK source="media_items" db=3.3ms idle=16.3ms INSERT INTO "media_items" AS m0 ("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) 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" ["فقرة أسئلة مع ثامر 🕹️", "71cf8044-1987-4074-bac6-a36958634fab", 55, false, "NtUWIuqrbK0", "https://www.youtube.com/shorts/NtUWIuqrbK0", 5, "/downloads/shorts/منصة كروت - Shorts/منصة كروت - Shorts - 2025-04-20 - [NtUWIuqrbK0].mp4", false, false, true, 545, [], 2, ~U[2025-04-20 19:48:41Z], ~U[2026-04-15 13:01:44Z], ~U[2026-04-15 13:01:44Z], "", "فقرة أسئلة مع ثامر 🕹️", 55, false, "NtUWIuqrbK0", "https://www.youtube.com/shorts/NtUWIuqrbK0", "/downloads/shorts/منصة كروت - Shorts/منصة كروت - Shorts - 2025-04-20 - [NtUWIuqrbK0].mp4", true, 545, ~U[2025-04-20 19:48:41Z]] 13:01:44.517 [debug] QUERY OK source="sources" db=0.2ms idle=19.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [545] 13:01:44.517 [debug] QUERY OK source="media_items" db=0.2ms idle=5.0ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-04-20 13:07:32Z], 545] 13:01:44.519 [debug] QUERY OK source="media_items" db=1.2ms idle=4.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" ["قصة أبو تريكه ما هي عادية…\nبطل كمال أجسام بدأ من الصفر، واجه تحديات جسدية ونفسية، مرّ بلحظات كادت تنهي حلمه، لكن رفض يوقف.\nمن جسم نحيف ومحبط، إلى منصة البطولة ورفع الكأس…\nشاهد كيف تحوّل الألم إلى دافع، والضعف إلى قوة!\n\nرحلة ملهمة لكل شخص فقد الأمل.\nهذا الفيديو مو بس عن العضلات… هذا عن العقل، والإرادة، والتحمّل.\n\n\n#اكسبلور #youtube #youtubeshorts \n#كمال_أجسام #تحفيز #تحول_جسدي #فتنس #قصة_ملهمة #تحدي_الذات #تحفيز_التمرين #رحلة_نجاح #Bodybuilding #Motivation #FitnessTransformation", "أبو تريكه .. من المعاناة إلى المركز الأول 🥇| بودكاست فيذا", "b37c8c3b-c988-45b3-8de1-1c1c5de5b63b", 56, false, "ZJSLZHmi77Q", "https://www.youtube.com/shorts/ZJSLZHmi77Q", 6, "/downloads/shorts/منصة كروت - Shorts/منصة كروت - Shorts - 2025-04-20 - [ZJSLZHmi77Q].mp4", false, false, true, 545, [], 2, ~U[2025-04-20 13:07:32Z], ~U[2026-04-15 13:01:44Z], ~U[2026-04-15 13:01:44Z], "قصة أبو تريكه ما هي عادية…\nبطل كمال أجسام بدأ من الصفر، واجه تحديات جسدية ونفسية، مرّ بلحظات كادت تنهي حلمه، لكن رفض يوقف.\nمن جسم نحيف ومحبط، إلى منصة البطولة ورفع الكأس…\nشاهد كيف تحوّل الألم إلى دافع، والضعف إلى قوة!\n\nرحلة ملهمة لكل شخص فقد الأمل.\nهذا الفيديو مو بس عن العضلات… هذا عن العقل، والإرادة، والتحمّل.\n\n\n#اكسبلور #youtube #youtubeshorts \n#كمال_أجسام #تحفيز #تحول_جسدي #فتنس #قصة_ملهمة #تحدي_الذات #تحفيز_التمرين #رحلة_نجاح #Bodybuilding #Motivation #FitnessTransformation", "أبو تريكه .. من المعاناة إلى المركز الأول 🥇| بودكاست فيذا", 56, false, "ZJSLZHmi77Q", "https://www.youtube.com/shorts/ZJSLZHmi77Q", "/downloads/shorts/منصة كروت - Shorts/منصة كروت - Shorts - 2025-04-20 - [ZJSLZHmi77Q].mp4", true, 545, ~U[2025-04-20 13:07:32Z]] 13:01:44.519 [debug] QUERY OK source="sources" db=0.3ms idle=6.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [545] 13:01:44.520 [debug] QUERY OK source="media_items" db=0.3ms idle=3.1ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-04-16 19:11:10Z], 545] 13:01:44.521 [debug] QUERY OK source="media_items" db=0.7ms idle=3.4ms INSERT INTO "media_items" AS m0 ("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) 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" ["الرياضات الإلكترونية في السعودية | بودكاست فيذا 🎤", "665499db-ce32-40bb-87d8-50bedcfaaabe", 58, false, "3eSpPDhZuz4", "https://www.youtube.com/shorts/3eSpPDhZuz4", 7, "/downloads/shorts/منصة كروت - Shorts/منصة كروت - Shorts - 2025-04-16 - [3eSpPDhZuz4].mp4", false, false, true, 545, [], 1, ~U[2025-04-16 19:11:10Z], ~U[2026-04-15 13:01:44Z], ~U[2026-04-15 13:01:44Z], "", "الرياضات الإلكترونية في السعودية | بودكاست فيذا 🎤", 58, false, "3eSpPDhZuz4", "https://www.youtube.com/shorts/3eSpPDhZuz4", "/downloads/shorts/منصة كروت - Shorts/منصة كروت - Shorts - 2025-04-16 - [3eSpPDhZuz4].mp4", true, 545, ~U[2025-04-16 19:11:10Z]] 13:01:44.521 [debug] QUERY OK source="sources" db=0.3ms idle=4.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" = ?) [545] 13:01:44.522 [debug] QUERY OK source="media_items" db=0.2ms idle=3.1ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-04-14 13:45:37Z], 545] 13:01:44.523 [debug] QUERY OK source="media_items" db=0.7ms idle=3.0ms INSERT INTO "media_items" AS m0 ("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) 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" ["تذكار من ضيفنا العزيز للبرنامج | بودكاست فيذا", "3904bbbf-dba4-42a8-a4b4-5353734c7d90", 12, false, "bly9XuzuVDg", "https://www.youtube.com/shorts/bly9XuzuVDg", 8, "/downloads/shorts/منصة كروت - Shorts/منصة كروت - Shorts - 2025-04-14 - [bly9XuzuVDg].mp4", false, false, true, 545, [], 1, ~U[2025-04-14 13:45:37Z], ~U[2026-04-15 13:01:44Z], ~U[2026-04-15 13:01:44Z], "", "تذكار من ضيفنا العزيز للبرنامج | بودكاست فيذا", 12, false, "bly9XuzuVDg", "https://www.youtube.com/shorts/bly9XuzuVDg", "/downloads/shorts/منصة كروت - Shorts/منصة كروت - Shorts - 2025-04-14 - [bly9XuzuVDg].mp4", true, 545, ~U[2025-04-14 13:45:37Z]] 13:01:44.524 [debug] QUERY OK source="sources" db=0.2ms 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" FROM "sources" AS s0 WHERE (s0."id" = ?) [545] 13:01:44.524 [debug] QUERY OK source="media_items" db=0.2ms idle=3.0ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-04-10 05:08:31Z], 545] 13:01:44.525 [debug] QUERY OK source="media_items" db=0.6ms idle=2.8ms INSERT INTO "media_items" AS m0 ("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) 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" ["حلقتنا القادمة مع ضيف مميز | الرياضة للجميع 💪", "6d5f5643-ee92-4aa0-9f73-0f1623b9c235", 8, false, "qWFVhv9JG1M", "https://www.youtube.com/shorts/qWFVhv9JG1M", 9, "/downloads/shorts/منصة كروت - Shorts/منصة كروت - Shorts - 2025-04-10 - [qWFVhv9JG1M].mp4", false, false, true, 545, [], 1, ~U[2025-04-10 05:08:31Z], ~U[2026-04-15 13:01:44Z], ~U[2026-04-15 13:01:44Z], "", "حلقتنا القادمة مع ضيف مميز | الرياضة للجميع 💪", 8, false, "qWFVhv9JG1M", "https://www.youtube.com/shorts/qWFVhv9JG1M", "/downloads/shorts/منصة كروت - Shorts/منصة كروت - Shorts - 2025-04-10 - [qWFVhv9JG1M].mp4", true, 545, ~U[2025-04-10 05:08:31Z]] 13:01:44.526 [debug] QUERY OK source="sources" db=0.2ms 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" FROM "sources" AS s0 WHERE (s0."id" = ?) [545] 13:01:44.526 [debug] QUERY OK source="media_items" db=0.2ms idle=2.7ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-03-09 23:24:12Z], 545] 13:01:44.527 [debug] QUERY OK source="media_items" db=0.7ms idle=2.6ms INSERT INTO "media_items" AS m0 ("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) 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" ["\"ثامر xzit | أسرار نجاح صانع محتوى الألعاب 🕹️🔥\"", "aa1e6448-43bc-489a-b6af-e84add4f6378", 48, false, "Nj76LkLPhXA", "https://www.youtube.com/shorts/Nj76LkLPhXA", 10, "/downloads/shorts/منصة كروت - Shorts/منصة كروت - Shorts - 2025-03-09 - [Nj76LkLPhXA].mp4", false, false, true, 545, [], 1, ~U[2025-03-09 23:24:12Z], ~U[2026-04-15 13:01:44Z], ~U[2026-04-15 13:01:44Z], "", "\"ثامر xzit | أسرار نجاح صانع محتوى الألعاب 🕹️🔥\"", 48, false, "Nj76LkLPhXA", "https://www.youtube.com/shorts/Nj76LkLPhXA", "/downloads/shorts/منصة كروت - Shorts/منصة كروت - Shorts - 2025-03-09 - [Nj76LkLPhXA].mp4", true, 545, ~U[2025-03-09 23:24:12Z]] 13:01:44.528 [debug] QUERY OK source="sources" db=0.2ms 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" FROM "sources" AS s0 WHERE (s0."id" = ?) [545] 13:01:44.528 [debug] QUERY OK source="media_items" db=0.2ms idle=2.9ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-03-03 14:30:48Z], 545] 13:01:44.530 [debug] QUERY OK source="media_items" db=1.0ms idle=2.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" ["حياكم الله في اول حلقاتنا من \"بودكاست فيذا\"\n\nمع ضيف الحلقة: الممثل رامي يكشف الجانب الخفي من عالم التمثيل! من الضغوط النفسية لـالفصل بين الشخصية الحقيقية والفنية، إلى التحديات الجسدية كالتصوير تحت الظروف القاسية، وصراعات عدم الاستقرار الوظيفي والمنافسة الشرسة. رامي يشارك تجاربه الصادقة مع إرهاق المشاعر، قرارات أثرت على مسيرته، ونصائحه الجريئة للوافدين الجدد. اكتشف الثمن الحقيقي للنجاح، وما لا تراه الكاميرات!\"\n\n#بودكاست #احلى_بودكاست #فيذا #بودكاست_فيذا #كروت \n#youtube #podcast", "الجانب الخفي من التمثيل", "0b29a09f-fdb6-4bdf-83db-b007972f3fbf", 51, false, "dWHI78Dd2r4", "https://www.youtube.com/shorts/dWHI78Dd2r4", 11, "/downloads/shorts/منصة كروت - Shorts/منصة كروت - Shorts - 2025-03-03 - [dWHI78Dd2r4].mp4", false, false, true, 545, [], 1, ~U[2025-03-03 14:30:48Z], ~U[2026-04-15 13:01:44Z], ~U[2026-04-15 13:01:44Z], "حياكم الله في اول حلقاتنا من \"بودكاست فيذا\"\n\nمع ضيف الحلقة: الممثل رامي يكشف الجانب الخفي من عالم التمثيل! من الضغوط النفسية لـالفصل بين الشخصية الحقيقية والفنية، إلى التحديات الجسدية كالتصوير تحت الظروف القاسية، وصراعات عدم الاستقرار الوظيفي والمنافسة الشرسة. رامي يشارك تجاربه الصادقة مع إرهاق المشاعر، قرارات أثرت على مسيرته، ونصائحه الجريئة للوافدين الجدد. اكتشف الثمن الحقيقي للنجاح، وما لا تراه الكاميرات!\"\n\n#بودكاست #احلى_بودكاست #فيذا #بودكاست_فيذا #كروت \n#youtube #podcast", "الجانب الخفي من التمثيل", 51, false, "dWHI78Dd2r4", "https://www.youtube.com/shorts/dWHI78Dd2r4", "/downloads/shorts/منصة كروت - Shorts/منصة كروت - Shorts - 2025-03-03 - [dWHI78Dd2r4].mp4", true, 545, ~U[2025-03-03 14:30:48Z]] 13:01:44.530 [debug] QUERY OK source="sources" db=0.3ms idle=4.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" = ?) [545] 13:01:44.531 [debug] QUERY OK source="media_items" db=0.2ms idle=3.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-03-02 00:02:23Z], 545] 13:01:44.533 [debug] QUERY OK source="media_items" db=1.1ms idle=3.4ms 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" ["حياكم الله في اول حلقاتنا من \"بودكاست فيذا\"\n\nمع ضيف الحلقة: الممثل رامي يكشف الجانب الخفي من عالم التمثيل! من الضغوط النفسية لـالفصل بين الشخصية الحقيقية والفنية، إلى التحديات الجسدية كالتصوير تحت الظروف القاسية، وصراعات عدم الاستقرار الوظيفي والمنافسة الشرسة. رامي يشارك تجاربه الصادقة مع إرهاق المشاعر، قرارات أثرت على مسيرته، ونصائحه الجريئة للوافدين الجدد. اكتشف الثمن الحقيقي للنجاح، وما لا تراه الكاميرات!\"\n\n#بودكاست #احلى_بودكاست #فيذا #بودكاست_فيذا #كروت \n#youtube #podcast", "نزلت حلقتنا الاولى من #بودكاست_فيذا", "e34bec00-f88f-405b-8591-649ce9f02ed4", 61, false, "7FIxtwUQPlY", "https://www.youtube.com/shorts/7FIxtwUQPlY", 12, "/downloads/shorts/منصة كروت - Shorts/منصة كروت - Shorts - 2025-03-02 - [7FIxtwUQPlY].mp4", false, false, true, 545, [], 1, ~U[2025-03-02 00:02:23Z], ~U[2026-04-15 13:01:44Z], ~U[2026-04-15 13:01:44Z], "حياكم الله في اول حلقاتنا من \"بودكاست فيذا\"\n\nمع ضيف الحلقة: الممثل رامي يكشف الجانب الخفي من عالم التمثيل! من الضغوط النفسية لـالفصل بين الشخصية الحقيقية والفنية، إلى التحديات الجسدية كالتصوير تحت الظروف القاسية، وصراعات عدم الاستقرار الوظيفي والمنافسة الشرسة. رامي يشارك تجاربه الصادقة مع إرهاق المشاعر، قرارات أثرت على مسيرته، ونصائحه الجريئة للوافدين الجدد. اكتشف الثمن الحقيقي للنجاح، وما لا تراه الكاميرات!\"\n\n#بودكاست #احلى_بودكاست #فيذا #بودكاست_فيذا #كروت \n#youtube #podcast", "نزلت حلقتنا الاولى من #بودكاست_فيذا", 61, false, "7FIxtwUQPlY", "https://www.youtube.com/shorts/7FIxtwUQPlY", "/downloads/shorts/منصة كروت - Shorts/منصة كروت - Shorts - 2025-03-02 - [7FIxtwUQPlY].mp4", true, 545, ~U[2025-03-02 00:02:23Z]] 13:01:44.533 [debug] QUERY OK source="sources" db=0.2ms 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" FROM "sources" AS s0 WHERE (s0."id" = ?) [545] 13:01:44.534 [debug] QUERY OK source="media_items" db=0.2ms idle=3.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-02-15 10:34:18Z], 545] 13:01:44.535 [debug] QUERY OK source="media_items" db=0.7ms idle=3.4ms 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" ["بودكاست فيذا \n\n#احلى بودكاست", "ترقبونا .. بودكاست فيذا", "71da273d-e20c-4527-a12d-d79cc168b083", 23, false, "D-36PPqupdY", "https://www.youtube.com/shorts/D-36PPqupdY", 13, "/downloads/shorts/منصة كروت - Shorts/منصة كروت - Shorts - 2025-02-15 - [D-36PPqupdY].mp4", false, false, true, 545, [], 1, ~U[2025-02-15 10:34:18Z], ~U[2026-04-15 13:01:44Z], ~U[2026-04-15 13:01:44Z], "بودكاست فيذا \n\n#احلى بودكاست", "ترقبونا .. بودكاست فيذا", 23, false, "D-36PPqupdY", "https://www.youtube.com/shorts/D-36PPqupdY", "/downloads/shorts/منصة كروت - Shorts/منصة كروت - Shorts - 2025-02-15 - [D-36PPqupdY].mp4", true, 545, ~U[2025-02-15 10:34:18Z]] 13:01:44.535 [debug] QUERY OK source="sources" db=0.3ms idle=4.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" = ?) [545] 13:01:44.536 [debug] QUERY OK source="media_items" db=0.3ms idle=3.1ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-02-11 17:06:28Z], 545] 13:01:44.537 [debug] QUERY OK source="media_items" db=0.6ms idle=3.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" ["بودكاست فيذا \n\n#احلى بودكاست", "بودكاست فيذا", "a9c217b2-c3ab-461b-bfe6-e693225ee0b8", 40, false, "2XYirxaNN58", "https://www.youtube.com/shorts/2XYirxaNN58", 14, "/downloads/shorts/منصة كروت - Shorts/منصة كروت - Shorts - 2025-02-11 - [2XYirxaNN58].mp4", false, false, true, 545, [], 1, ~U[2025-02-11 17:06:28Z], ~U[2026-04-15 13:01:44Z], ~U[2026-04-15 13:01:44Z], "بودكاست فيذا \n\n#احلى بودكاست", "بودكاست فيذا", 40, false, "2XYirxaNN58", "https://www.youtube.com/shorts/2XYirxaNN58", "/downloads/shorts/منصة كروت - Shorts/منصة كروت - Shorts - 2025-02-11 - [2XYirxaNN58].mp4", true, 545, ~U[2025-02-11 17:06:28Z]] 13:01:44.538 [debug] QUERY OK source="sources" db=0.2ms idle=3.6ms UPDATE "sources" SET "last_indexed_at" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-04-15 13:01:44Z], ~U[2026-04-15 13:01:44Z], 545] 13:01:44.538 [debug] QUERY OK source="media_items" db=0.5ms 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 ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [545] 13:01:44.539 [debug] QUERY OK source="media_items" db=0.4ms idle=3.2ms SELECT count(*) FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [545] 13:01:44.539 [debug] QUERY OK source="media_items" db=0.2ms idle=3.3ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [545] 13:01:44.542 [debug] QUERY OK source="tasks" db=0.2ms idle=3.5ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2192036, 545, ~U[2026-04-15 13:01:44Z], ~U[2026-04-15 13:01:44Z]] 13:01:44.543 [info] {"args":{"id":545},"id":2187147,"meta":{},"state":"success","max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","duration":272668568,"event":"job:stop","queue_time":722318,"attempt":1,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 13:01:45.232 [debug] Current batch of media processed. Will check again in 1000ms 13:01:46.233 [debug] Current batch of media processed. Will check again in 1000ms 13:01:47.234 [debug] Current batch of media processed. Will check again in 1000ms 13:01:48.235 [debug] Current batch of media processed. Will check again in 1000ms 13:01:49.236 [debug] Current batch of media processed. Will check again in 1000ms 13:01:50.237 [debug] Current batch of media processed. Will check again in 1000ms 13:01:51.238 [debug] Current batch of media processed. Will check again in 1000ms 13:01:52.239 [debug] Current batch of media processed. Will check again in 1000ms 13:01:53.240 [debug] Current batch of media processed. Will check again in 1000ms 13:01:54.241 [debug] Current batch of media processed. Will check again in 1000ms 13:01:55.242 [debug] Current batch of media processed. Will check again in 1000ms 13:01:56.243 [debug] Current batch of media processed. Will check again in 1000ms 13:01:57.244 [debug] Current batch of media processed. Will check again in 1000ms 13:01:58.245 [debug] Current batch of media processed. Will check again in 1000ms 13:01:59.246 [debug] Current batch of media processed. Will check again in 1000ms 13:02:00.247 [debug] Current batch of media processed. Will check again in 1000ms 13:02:00.838 [info] {"source":"oban","duration":137,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:02:01.248 [debug] Current batch of media processed. Will check again in 1000ms 13:02:02.249 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "", "duration" => 59, "filename" => "/downloads/shorts/Jarrib podcast جرّب بودكاست#/Jarrib podcast جرّب بودكاست - 2024-09-06 - [xDeXWGhkX0I].mp4", "id" => "xDeXWGhkX0I", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/xDeXWGhkX0I", "playlist_index" => 15, "timestamp" => 1725644343, "title" => "ليش انا هيك ؟ الآن على جرِّب", "upload_date" => "20240906"} 13:02:02.249 [debug] QUERY OK source="sources" db=0.1ms idle=239.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" IN (?)) [202] 13:02:02.250 [debug] QUERY OK source="sources" db=0.3ms idle=239.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" = ?) [202] 13:02:02.251 [debug] QUERY OK source="media_items" db=0.4ms idle=240.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-09-06 17:39:03Z], 202] 13:02:02.252 [debug] QUERY OK source="media_items" db=0.6ms idle=241.1ms INSERT INTO "media_items" AS m0 ("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) 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" ["ليش انا هيك ؟ الآن على جرِّب", "5961562f-367b-4a74-9ce2-04bb4926964c", 59, false, "xDeXWGhkX0I", "https://www.youtube.com/shorts/xDeXWGhkX0I", 15, "/downloads/shorts/Jarrib podcast جرّب بودكاست#/Jarrib podcast جرّب بودكاست - 2024-09-06 - [xDeXWGhkX0I].mp4", false, false, true, 202, [], 98, ~U[2024-09-06 17:39:03Z], ~U[2026-04-15 13:02:02Z], ~U[2026-04-15 13:02:02Z], "", "ليش انا هيك ؟ الآن على جرِّب", 59, false, "xDeXWGhkX0I", "https://www.youtube.com/shorts/xDeXWGhkX0I", "/downloads/shorts/Jarrib podcast جرّب بودكاست#/Jarrib podcast جرّب بودكاست - 2024-09-06 - [xDeXWGhkX0I].mp4", true, 202, ~U[2024-09-06 17:39:03Z]] 13:02:02.252 [debug] QUERY OK source="sources" db=0.2ms idle=27.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [202] 13:02:02.253 [debug] QUERY OK source="media_profiles" db=0.2ms idle=3.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 13:02:02.253 [debug] QUERY OK source="media_items" db=0.3ms idle=3.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 [517351] 13:02:02.253 [debug] Current batch of media processed. Will check again in 1000ms 13:02:03.254 [debug] Current batch of media processed. Will check again in 1000ms 13:02:04.255 [debug] Current batch of media processed. Will check again in 1000ms 13:02:05.256 [debug] Current batch of media processed. Will check again in 1000ms 13:02:06.238 [info] {"args":{"id":171},"id":2192001,"meta":{},"system_time":1776258126238175388,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:02:06.238 [debug] QUERY OK source="sources" db=0.2ms idle=228.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" = ?) [171] 13:02:06.239 [debug] QUERY OK source="settings" db=0.2ms idle=228.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:02:06.239 [debug] QUERY OK source="media_profiles" db=0.3ms idle=229.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" = ?) [2] 13:02:06.240 [debug] QUERY OK source="settings" db=0.2ms idle=8.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:02:06.240 [debug] Fetching recent media IDs from YouTube API for playlist: UUPCJJLOkkiG_nO9lZkfXnjw 13:02:06.240 [debug] QUERY OK source="settings" db=0.1ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:02:06.240 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 13:02:06.257 [debug] Current batch of media processed. Will check again in 1000ms 13:02:06.549 [debug] QUERY OK source="media_items" db=1.3ms idle=309.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [171, "VFX3pYhqhMc", "8akbqnY6xfo", "mQGq7-_ZQpk", "DvU-9b-WRJQ", "qcVMc5qMHMc", "ZyaHtWeeQJo", "ObsLfR-eCfU", "wlrCH1ymC38", "BClWowlDc8Y", "IURONY7yLa0", "tXm7P3osDUM", "fEJp3H2bGIY", "ckYlSSk9ZDY", "6eKiHxor-8w", "m4s-6oJifb4", "J4KgJCBFs3I", "JJX9_mf8FpA", "KYuy8_X3KnQ", "fAKwe1CyPFQ", "25U_zUTaGl4", "OH-Lamsjd9Q", "hswGipBbpOs", "xy6xhSL7UCs", "VV-71sXr_Eg", "GtzJpE7Immk", "rrHhJaJ4PnE", "baWEivZpZpo", "eBYlWe7Cr7U", "k2AXmp7yS9A", "Y2M9tN8gnj0", "6ma-PaQ-e6c", "JOeBw_6a5XU", "LXdTRc3Tzu4", "owNOuAsIk5U", "us6iLwMmGKE", "GaGQuySKjYQ", "LaU1HhuupRQ", "SI-1fDbu4ss", "VgyfdGRM4Pc", "rHAI52w5zxs", "lzGGMh8vkyc", "NoqX1AM-4VA", "UH4xsNgVKrU", "0mT-lxX7dLo", "YuJWnY0puNw", "_BC4l__ihhY", "yH5YAprPCA0", "JKxMb-Ky2P0", "kA0vffcJPD4", ...] 13:02:06.552 [debug] QUERY OK source="media_items" db=1.2ms idle=312.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")))) [171] 13:02:06.554 [debug] QUERY OK source="tasks" db=0.2ms idle=313.4ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2192037, 171, ~U[2026-04-15 13:02:06Z], ~U[2026-04-15 13:02:06Z]] 13:02:06.554 [info] {"args":{"id":171},"id":2192001,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":316321,"event":"job:stop","queue_time":398168,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:02:07.258 [debug] Current batch of media processed. Will check again in 1000ms 13:02:08.259 [debug] Current batch of media processed. Will check again in 1000ms 13:02:09.260 [debug] Current batch of media processed. Will check again in 1000ms 13:02:10.245 [info] {"args":{"id":45},"id":2192002,"meta":{},"system_time":1776258130245061739,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:02:10.245 [debug] QUERY OK source="sources" db=0.3ms idle=235.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" = ?) [45] 13:02:10.246 [debug] QUERY OK source="settings" db=0.2ms 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 [] 13:02:10.246 [debug] QUERY OK source="media_profiles" db=0.3ms idle=236.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" = ?) [2] 13:02:10.247 [debug] QUERY OK source="settings" db=0.2ms idle=8.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:02:10.247 [debug] Fetching recent media IDs from YouTube API for playlist: UUMQ18I4n6ccOSNDLfdhrUbQ 13:02:10.247 [debug] QUERY OK source="settings" db=0.1ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:02:10.247 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 13:02:10.261 [debug] Current batch of media processed. Will check again in 1000ms 13:02:10.588 [debug] QUERY OK source="media_items" db=1.1ms idle=341.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [45, "1th0U5H3aHc", "HGQV0of6nTE", "tKUGP9uxthw", "zQ3Qx9XHEf4", "oh-kSHOIQ-c", "RIGhyFg4AEY", "v9qp1yPZt94", "gMO10EuN6KY", "guC1BavbIsk", "Fmcoi8sp3kY", "UHXR0zqI9J8", "AAbWLkNEyac", "zlJ3ZE4YpI8", "vJLpHsN9O_M", "kUUO6WBjK7Y", "9MmcAy4OnXQ", "7G_bPyOUvq0", "Rc52Q9uG9p0", "Y8n3lqN1i3g", "dD8t_STorhk", "3dNHma-3EgY", "No3485rTj_Y", "xoIs_xBbBWQ", "3K3hFo6GUvU", "NhOWgP2G6SQ", "Phk0M8YZHc4", "_IAzU1Fd9Ak", "PMpaUqMnKiI", "p0NoIs5o5_8", "dy-0x1OV7mQ", "la8vobugu4g", "x6Ya11dw01M", "btegTB5eZC8", "awVvsRDCfkw", "6RwmzCGOVYk", "DIQ2PB2ht0Y", "vu6koXlG7Po", "Eoe_RDgTSFw", "zSVaXb8nd4E", "0vFVIUPZOto", "lJ-mtNTLrHE", "uZ79fUJjhyQ", "HWMx3-Xlr6Y", "kUtb_rKxgw0", "qmiQw-kcCfI", "PtJ2G8fLzSs", "lmjBT5TyeLc", "PEM_S-3B_Ps", "Klgdof9Tg7g", ...] 13:02:10.592 [debug] QUERY OK source="media_items" db=2.3ms idle=343.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")))) [45] 13:02:10.594 [debug] QUERY OK source="tasks" db=0.3ms idle=345.9ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2192038, 45, ~U[2026-04-15 13:02:10Z], ~U[2026-04-15 13:02:10Z]] 13:02:10.594 [info] {"args":{"id":45},"id":2192002,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":349036,"event":"job:stop","queue_time":462300,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:02:11.262 [debug] Current batch of media processed. Will check again in 1000ms 13:02:12.263 [debug] Current batch of media processed. Will check again in 1000ms 13:02:12.362 [info] {"source":"oban","duration":18329,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:02:13.264 [debug] Current batch of media processed. Will check again in 1000ms 13:02:14.265 [debug] Current batch of media processed. Will check again in 1000ms 13:02:15.266 [debug] Current batch of media processed. Will check again in 1000ms 13:02:16.267 [debug] Current batch of media processed. Will check again in 1000ms 13:02:17.268 [debug] Current batch of media processed. Will check again in 1000ms 13:02:18.269 [debug] Current batch of media processed. Will check again in 1000ms 13:02:19.270 [debug] Current batch of media processed. Will check again in 1000ms 13:02:20.271 [debug] Current batch of media processed. Will check again in 1000ms 13:02:21.272 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "", "duration" => 56, "filename" => "/downloads/shorts/Jarrib podcast جرّب بودكاست#/Jarrib podcast جرّب بودكاست - 2024-09-01 - [g6nOympjmVg].mp4", "id" => "g6nOympjmVg", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/g6nOympjmVg", "playlist_index" => 16, "timestamp" => 1725214757, "title" => "على قد لحافك مد رجليك ؟", "upload_date" => "20240901"} 13:02:21.272 [debug] QUERY OK source="sources" db=0.2ms idle=1262.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" IN (?)) [202] 13:02:21.273 [debug] QUERY OK source="sources" db=0.2ms idle=1262.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" = ?) [202] 13:02:21.274 [debug] QUERY OK source="media_items" db=0.5ms idle=1263.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-09-01 18:19:17Z], 202] 13:02:21.276 [debug] QUERY OK source="media_items" db=1.4ms idle=1024.7ms INSERT INTO "media_items" AS m0 ("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) 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" ["على قد لحافك مد رجليك ؟", "13eede4f-1f0c-417c-9c8a-521eb3259104", 56, false, "g6nOympjmVg", "https://www.youtube.com/shorts/g6nOympjmVg", 16, "/downloads/shorts/Jarrib podcast جرّب بودكاست#/Jarrib podcast جرّب بودكاست - 2024-09-01 - [g6nOympjmVg].mp4", false, false, true, 202, [], 97, ~U[2024-09-01 18:19:17Z], ~U[2026-04-15 13:02:21Z], ~U[2026-04-15 13:02:21Z], "", "على قد لحافك مد رجليك ؟", 56, false, "g6nOympjmVg", "https://www.youtube.com/shorts/g6nOympjmVg", "/downloads/shorts/Jarrib podcast جرّب بودكاست#/Jarrib podcast جرّب بودكاست - 2024-09-01 - [g6nOympjmVg].mp4", true, 202, ~U[2024-09-01 18:19:17Z]] 13:02:21.277 [debug] QUERY OK source="sources" db=0.9ms idle=25.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" = ?) [202] 13:02:21.277 [debug] QUERY OK source="media_profiles" db=0.2ms 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" = ?) [2] 13:02:21.278 [debug] QUERY OK source="media_items" db=0.3ms idle=4.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 [517352] 13:02:21.278 [debug] Current batch of media processed. Will check again in 1000ms 13:02:22.279 [debug] Current batch of media processed. Will check again in 1000ms 13:02:23.280 [debug] Current batch of media processed. Will check again in 1000ms 13:02:23.569 [info] GET /sources/134/media/4029936 13:02:23.569 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "4029936", "prevent_download" => "true", "source_id" => "134"} Pipelines: [:browser] 13:02:23.570 [debug] QUERY OK source="media_items" db=0.1ms idle=560.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" = ?) [4029936] 13:02:23.570 [debug] QUERY OK source="tasks" db=0.1ms idle=560.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" [4029936] 13:02:23.571 [debug] QUERY OK source="sources" db=0.3ms idle=560.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" = ?) [134] 13:02:23.571 [debug] QUERY OK source="settings" db=0.2ms idle=561.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:02:23.572 [debug] QUERY OK source="settings" db=0.1ms idle=319.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:02:23.572 [debug] QUERY OK source="settings" db=0.1ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:02:23.573 [debug] QUERY OK source="media_profiles" db=0.2ms idle=2.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" = ?) [2] 13:02:23.575 [info] Sent 200 in 5ms 13:02:24.281 [debug] Current batch of media processed. Will check again in 1000ms 13:02:25.282 [debug] Current batch of media processed. Will check again in 1000ms 13:02:26.283 [debug] Current batch of media processed. Will check again in 1000ms 13:02:27.284 [debug] Current batch of media processed. Will check again in 1000ms 13:02:28.285 [debug] Current batch of media processed. Will check again in 1000ms 13:02:29.286 [debug] Current batch of media processed. Will check again in 1000ms 13:02:30.287 [debug] Current batch of media processed. Will check again in 1000ms 13:02:31.288 [debug] Current batch of media processed. Will check again in 1000ms 13:02:32.289 [debug] Current batch of media processed. Will check again in 1000ms 13:02:33.290 [debug] Current batch of media processed. Will check again in 1000ms 13:02:34.291 [debug] Current batch of media processed. Will check again in 1000ms 13:02:35.292 [debug] Current batch of media processed. Will check again in 1000ms 13:02:36.293 [debug] Current batch of media processed. Will check again in 1000ms 13:02:37.294 [debug] Current batch of media processed. Will check again in 1000ms 13:02:38.295 [debug] Current batch of media processed. Will check again in 1000ms 13:02:39.296 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "", "duration" => 25, "filename" => "/downloads/shorts/Jarrib podcast جرّب بودكاست#/Jarrib podcast جرّب بودكاست - 2024-09-01 - [PW6J3aarB2k].mp4", "id" => "PW6J3aarB2k", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/PW6J3aarB2k", "playlist_index" => 17, "timestamp" => 1725189215, "title" => "الحق قبل الحذف ! ⚠️", "upload_date" => "20240901"} 13:02:39.296 [debug] QUERY OK source="sources" db=0.1ms idle=286.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" IN (?)) [202] 13:02:39.297 [debug] QUERY OK source="sources" db=0.1ms idle=286.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" = ?) [202] 13:02:39.297 [debug] QUERY OK source="media_items" db=0.3ms idle=287.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-09-01 11:13:35Z], 202] 13:02:39.298 [debug] QUERY OK source="media_items" db=0.5ms idle=287.7ms INSERT INTO "media_items" AS m0 ("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) 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" ["الحق قبل الحذف ! ⚠️", "fdbb2c19-bae4-4732-a836-83e4f0d47459", 25, false, "PW6J3aarB2k", "https://www.youtube.com/shorts/PW6J3aarB2k", 17, "/downloads/shorts/Jarrib podcast جرّب بودكاست#/Jarrib podcast جرّب بودكاست - 2024-09-01 - [PW6J3aarB2k].mp4", false, false, true, 202, [], 97, ~U[2024-09-01 11:13:35Z], ~U[2026-04-15 13:02:39Z], ~U[2026-04-15 13:02:39Z], "", "الحق قبل الحذف ! ⚠️", 25, false, "PW6J3aarB2k", "https://www.youtube.com/shorts/PW6J3aarB2k", "/downloads/shorts/Jarrib podcast جرّب بودكاست#/Jarrib podcast جرّب بودكاست - 2024-09-01 - [PW6J3aarB2k].mp4", true, 202, ~U[2024-09-01 11:13:35Z]] 13:02:39.299 [debug] QUERY OK source="sources" db=0.2ms idle=26.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" = ?) [202] 13:02:39.299 [debug] QUERY OK source="media_profiles" db=0.2ms 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" = ?) [2] 13:02:39.300 [debug] QUERY OK source="media_items" db=0.3ms idle=2.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [517353] 13:02:39.300 [debug] Current batch of media processed. Will check again in 1000ms 13:02:40.301 [debug] Current batch of media processed. Will check again in 1000ms 13:02:41.302 [debug] Current batch of media processed. Will check again in 1000ms 13:02:42.303 [debug] Current batch of media processed. Will check again in 1000ms 13:02:42.381 [info] {"source":"oban","duration":17905,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:02:43.285 [info] {"args":{"id":550},"id":2192003,"meta":{},"system_time":1776258163285612493,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:02:43.286 [debug] QUERY OK source="sources" db=0.1ms idle=275.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" = ?) [550] 13:02:43.286 [debug] QUERY OK source="settings" db=0.2ms idle=276.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:02:43.287 [debug] QUERY OK source="media_profiles" db=0.2ms idle=276.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" = ?) [2] 13:02:43.287 [debug] QUERY OK source="settings" db=0.2ms idle=8.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:02:43.287 [debug] Fetching recent media IDs from YouTube API for playlist: UUyVm0Ssw0oOM3GVTFEgfhVg 13:02:43.287 [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 [] 13:02:43.287 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 13:02:43.304 [debug] Current batch of media processed. Will check again in 1000ms 13:02:43.552 [debug] QUERY OK source="media_items" db=1.2ms 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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [550, "VVIu4Gd4Bmc", "VGkvWr49xiw", "FdtdrFElwxQ", "BiF8O-aJPsk", "pEPIdeIbSqE", "HVKDahMQhLU", "K1Z5WWHlSs0", "bTV-2GoMx5k", "5sktFoXR3kE", "Iw29TZ6SLvo", "QC4YTqx7lzA", "BIqcmk-5aJw", "YNoKdu3sWVw", "lDBjR9fkeyk", "UUw-e-5nl_w", "dWSKUDO1V2I", "ZxzpHQbUKZ8", "-88OXqMJjwg", "la1zxxjndF4", "d9IgzofO0fw", "o5zrD7rGl30", "quRGt1p1A6k", "IaipBYPY5V4", "iQu6FfiMnF4", "8xBlIDRpM28", "Lfo4DApK5a4", "bCJ3n8KOHYg", "Sjq6OHG4LSA", "8dSZzMsNwyE", "D6scLf0M_fw", "LbqgtTaCN-k", "VipSIn8XPCo", "laY5ME4rd8I", "iEqiRJ55fSM", "KpJw8Q3uePk", "wwRpgDY-BWw", "iV1WybdFWlE", "-orEfZNWjmY", "sBdEudKHhrc", "VBf9tHUdj1E", "whEUmNj9kZE", "n1-6atPiL-g", "xeXJJg6jwm0", "T65vDEtDyu0", "pe0HV6-wnsU", "i0IdbczAU7I", "2tGs0NNZaAM", "bq6i0vWfoZ0", "sRC7ONGF8EQ", ...] 13:02:43.554 [debug] QUERY OK source="media_items" db=0.5ms idle=267.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")))) [550] 13:02:43.556 [debug] QUERY OK source="tasks" db=0.3ms idle=268.4ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2192039, 550, ~U[2026-04-15 13:02:43Z], ~U[2026-04-15 13:02:43Z]] 13:02:43.557 [info] {"args":{"id":550},"id":2192003,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":271097,"event":"job:stop","queue_time":471116,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:02:44.305 [debug] Current batch of media processed. Will check again in 1000ms 13:02:45.306 [debug] Current batch of media processed. Will check again in 1000ms 13:02:46.307 [debug] Current batch of media processed. Will check again in 1000ms 13:02:47.308 [debug] Current batch of media processed. Will check again in 1000ms 13:02:48.309 [debug] Current batch of media processed. Will check again in 1000ms 13:02:49.310 [debug] Current batch of media processed. Will check again in 1000ms 13:02:50.311 [debug] Current batch of media processed. Will check again in 1000ms 13:02:51.312 [debug] Current batch of media processed. Will check again in 1000ms 13:02:52.313 [debug] Current batch of media processed. Will check again in 1000ms 13:02:53.314 [debug] Current batch of media processed. Will check again in 1000ms 13:02:54.315 [debug] Current batch of media processed. Will check again in 1000ms 13:02:55.316 [debug] Current batch of media processed. Will check again in 1000ms 13:02:56.317 [debug] Current batch of media processed. Will check again in 1000ms 13:02:57.301 [info] {"args":{"id":432},"id":2192004,"meta":{},"system_time":1776258177301877213,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:02:57.302 [debug] QUERY OK source="sources" db=0.2ms idle=291.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" = ?) [432] 13:02:57.302 [debug] QUERY OK source="settings" db=0.1ms idle=292.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:02:57.303 [debug] QUERY OK source="media_profiles" db=0.1ms idle=292.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" = ?) [3] 13:02:57.303 [debug] QUERY OK source="settings" db=0.1ms idle=8.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:02:57.303 [debug] Fetching recent media IDs from YouTube API for playlist: UUjqNqKjLuFBCfjZ5WoI0_Kw 13:02:57.303 [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 [] 13:02:57.304 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 13:02:57.318 [debug] Current batch of media processed. Will check again in 1000ms 13:02:57.795 [debug] QUERY OK source="media_items" db=1.3ms idle=491.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [432, "BNcH5os2Azc", "yB1u7nWLyZM", "R9PH1e1T4bE", "mRIpLTPueWs", "eiVtQXCEJNI", "wVff1dLCB2o", "yKp5TotCvCM", "YzSEz5GqB9c", "FVkgWH0fdG4", "Vs9a6lqv2Mk", "m4NrFYSOXM8", "_91NR0tetqI", "y9T5O1B2Y8I", "a447IYbwNjk", "5fyJDR9E5dI", "tNLR5cr-GpM", "SRPizcmFrqI", "CRAuwECvcoE", "BWixeDYPutA", "kdoJee--cYo", "_L0JyHhOPa8", "cYOILGWiA90", "WSk4s-6dWho", "Fcocf1LGh8k", "ALSaV53wF_8", "8210atQw6mk", "xS335AwgMhE", "U7Ao_x_mZrc", "SHtY1j8nD80", "7DaGvK3ZlzM", "oC1KNxej1a0", "UcXUMjckYlI", "aRfBOREb9yk", "TDNwMa688us", "3vlPML1zG3E", "RkmKL4n9xLQ", "JdCOo0MBWM4", "zmj1XdI1edU", "rWxi69DrDWc", "eUftJ6-GB9E", "vbkMwqI6iKw", "qZRVpNRqIPo", "qzAOOwQboR4", "2acjUU6cQh4", "9accY9x0NmQ", "NDhBgmst590", "Uxi8ZvR6KjM", "QQ3kf587e-Y", "x5nb-k2uUzo", ...] 13:02:57.797 [debug] QUERY OK source="media_items" db=1.1ms idle=493.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")))) [432] 13:02:57.799 [debug] QUERY OK source="tasks" db=0.2ms idle=495.2ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2192040, 432, ~U[2026-04-15 13:02:57Z], ~U[2026-04-15 13:02:57Z]] 13:02:57.800 [info] {"args":{"id":432},"id":2192004,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":497708,"event":"job:stop","queue_time":284964,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:02:58.319 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "", "duration" => 43, "filename" => "/downloads/shorts/Jarrib podcast جرّب بودكاست#/Jarrib podcast جرّب بودكاست - 2024-08-27 - [P_M5pZnkTVE].mp4", "id" => "P_M5pZnkTVE", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/P_M5pZnkTVE", "playlist_index" => 18, "timestamp" => 1724781364, "title" => "الابتزاز العاطفي !", "upload_date" => "20240827"} 13:02:58.319 [debug] QUERY OK source="sources" db=0.3ms idle=520.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" IN (?)) [202] 13:02:58.320 [debug] QUERY OK source="sources" db=0.3ms idle=520.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" = ?) [202] 13:02:58.321 [debug] QUERY OK source="media_items" db=0.4ms idle=520.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-08-27 17:56:04Z], 202] 13:02:58.322 [debug] QUERY OK source="media_items" db=0.6ms idle=514.9ms INSERT INTO "media_items" AS m0 ("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) 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" ["الابتزاز العاطفي !", "d2e75b0b-2dba-4c16-88c7-a8d23c165ee4", 43, false, "P_M5pZnkTVE", "https://www.youtube.com/shorts/P_M5pZnkTVE", 18, "/downloads/shorts/Jarrib podcast جرّب بودكاست#/Jarrib podcast جرّب بودكاست - 2024-08-27 - [P_M5pZnkTVE].mp4", false, false, true, 202, [], 98, ~U[2024-08-27 17:56:04Z], ~U[2026-04-15 13:02:58Z], ~U[2026-04-15 13:02:58Z], "", "الابتزاز العاطفي !", 43, false, "P_M5pZnkTVE", "https://www.youtube.com/shorts/P_M5pZnkTVE", "/downloads/shorts/Jarrib podcast جرّب بودكاست#/Jarrib podcast جرّب بودكاست - 2024-08-27 - [P_M5pZnkTVE].mp4", true, 202, ~U[2024-08-27 17:56:04Z]] 13:02:58.322 [debug] QUERY OK source="sources" db=0.2ms idle=25.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" = ?) [202] 13:02:58.323 [debug] QUERY OK source="media_profiles" db=0.3ms idle=3.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 13:02:58.324 [debug] QUERY OK source="media_items" db=0.3ms idle=3.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [517354] 13:02:58.324 [debug] Current batch of media processed. Will check again in 1000ms 13:02:59.325 [debug] Current batch of media processed. Will check again in 1000ms 13:03:00.326 [debug] Current batch of media processed. Will check again in 1000ms 13:03:00.839 [info] {"source":"oban","duration":175,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:03:01.327 [debug] Current batch of media processed. Will check again in 1000ms 13:03:02.328 [debug] Current batch of media processed. Will check again in 1000ms 13:03:03.329 [debug] Current batch of media processed. Will check again in 1000ms 13:03:04.330 [debug] Current batch of media processed. Will check again in 1000ms 13:03:05.331 [debug] Current batch of media processed. Will check again in 1000ms 13:03:06.332 [debug] Current batch of media processed. Will check again in 1000ms 13:03:07.318 [info] {"args":{"id":371},"id":2192005,"meta":{},"system_time":1776258187318198986,"max_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:03:07.318 [debug] QUERY OK source="sources" db=0.2ms idle=1308.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" = ?) [371] 13:03:07.319 [debug] QUERY OK source="settings" db=0.2ms idle=1308.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:07.319 [debug] QUERY OK source="media_profiles" db=0.2ms idle=1010.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" = ?) [2] 13:03:07.320 [debug] QUERY OK source="settings" db=0.3ms idle=8.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:03:07.320 [debug] Fetching recent media IDs from YouTube API for playlist: UUPXKFARrr9KIazKFsIdZrbg 13:03:07.320 [debug] QUERY OK source="settings" db=0.1ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:03:07.320 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 13:03:07.333 [debug] Current batch of media processed. Will check again in 1000ms 13:03:07.962 [debug] QUERY OK source="media_items" db=1.3ms idle=641.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [371, "yoERyAZRcQw", "6jUjdCJenQs", "YpYESr2EwGs", "ouj3976UAV0", "LCEc0kTzWF8", "5ZGpRYl6ks8", "3gkOHFl5Ri4", "H255MFb1bs4", "95GWfCxldgI", "H1zRYcAm3Go", "7qp1GsOUzDQ", "JVjUwiWv3hs", "wgQQnINLVO0", "9JU10bS2zL0", "ZR7jEy3Vaso", "j5yCJlYe9eg", "iIY7sssVwrI", "a8lG2_2PvIY", "Pa4wns5otZs", "gr91GSu_Cro", "ajH6eOSCQz8", "v9om7xCpqr8", "KkpgKcSpZEQ", "zMVfXS39Q2U", "eOS-RREFSt8", "HPMKW_Riiy4", "NXLwiiz31bc", "bdTTpJLTrZ4", "dzbra-TCuUQ", "5SPKYzmAJ-Q", "Zsc3l7AVDfQ", "GjqzhuXGFAA", "NpWfLsVWwzI", "l96CSV_PcgQ", "-YGrEcjNLJ8", "JhPNMlhub4g", "5WtA5s9B3JA", "HbRInQ0QJ-8", "px1xWZRhIyA", "WK5LmlHayN0", "fcGFxqcjTyg", "vbMYWclnMJQ", "Wlmj1-25Jbw", "JWh5H2FFZ28", "siaOhImfbmc", "jO81Xp9TIIM", "kXpR9OxpnXw", "p_tveWViZTY", "9GBJPcAPYJM", ...] 13:03:07.973 [debug] QUERY OK source="media_items" db=9.9ms idle=643.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")))) [371] 13:03:07.974 [debug] QUERY OK source="tasks" db=0.3ms idle=653.8ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2192041, 371, ~U[2026-04-15 13:03:07Z], ~U[2026-04-15 13:03:07Z]] 13:03:07.975 [info] {"args":{"id":371},"id":2192005,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":656825,"event":"job:stop","queue_time":115298,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:03:08.334 [debug] Current batch of media processed. Will check again in 1000ms 13:03:09.335 [debug] Current batch of media processed. Will check again in 1000ms 13:03:10.336 [debug] Current batch of media processed. Will check again in 1000ms 13:03:11.337 [debug] Current batch of media processed. Will check again in 1000ms 13:03:12.338 [debug] Current batch of media processed. Will check again in 1000ms 13:03:12.400 [info] {"source":"oban","duration":17922,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:03:13.339 [debug] Current batch of media processed. Will check again in 1000ms 13:03:14.340 [debug] Current batch of media processed. Will check again in 1000ms 13:03:15.341 [debug] Current batch of media processed. Will check again in 1000ms 13:03:16.342 [debug] Current batch of media processed. Will check again in 1000ms 13:03:16.432 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@Jarrib/shorts --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/shorts/Jarrib podcast جرّب بودكاست /Jarrib podcast جرّب بودكاست - %(upload_date>%Y-%m-%d)S - [%(id)S].%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --break-on-existing --download-archive /tmp/pinchflat/data/e6/fd/e6fdcbd1b080c188ee452cfdafea58d7afea3aef79744ef2daa797ff2406a66d.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/fb/2b/fb2b7b92073327ed44700cf15dffdfcae3594158239cc056633d34597cfb9b15.json --sleep-requests 5 --sleep-interval 4 --sleep-subtitles 4 --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 101 with: 13:03:16.433 [debug] Gracefully stopping file follower 13:03:16.433 [debug] QUERY OK source="sources" db=0.3ms idle=1423.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" IN (?)) [202] 13:03:16.434 [debug] QUERY OK source="sources" db=0.1ms idle=1423.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" = ?) [202] 13:03:16.435 [debug] QUERY OK source="media_items" db=0.5ms idle=1112.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-11 12:27:27Z], 202] 13:03:16.436 [debug] QUERY OK source="media_items" db=0.8ms idle=425.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" ["حالة الفقد هي من الحالات الصعبة المؤلمة اللتي لا بد ان يواجهها الانسان في حياته, حاولت في هذه الحلقة تفكيك شعور الفقد و ما هي الاشياء اللتي تزيد الفقد صعوبة وما هي الاشياء اللتي تساعد على التشافي", "طريقة التعامل مع الوفاة وحالة الفقد بشكل صحي", "d0c450d7-068e-4f67-b502-db1eafdc9197", 13, false, "eWg2YSo6fVg", "https://www.youtube.com/shorts/eWg2YSo6fVg", 1, "/downloads/shorts/Jarrib podcast جرّب بودكاست#/Jarrib podcast جرّب بودكاست - 2026-04-11 - [eWg2YSo6fVg].mp4", false, false, true, 202, [], 98, ~U[2026-04-11 12:27:27Z], ~U[2026-04-15 13:03:16Z], ~U[2026-04-15 13:03:16Z], "حالة الفقد هي من الحالات الصعبة المؤلمة اللتي لا بد ان يواجهها الانسان في حياته, حاولت في هذه الحلقة تفكيك شعور الفقد و ما هي الاشياء اللتي تزيد الفقد صعوبة وما هي الاشياء اللتي تساعد على التشافي", "طريقة التعامل مع الوفاة وحالة الفقد بشكل صحي", 13, false, "eWg2YSo6fVg", "https://www.youtube.com/shorts/eWg2YSo6fVg", "/downloads/shorts/Jarrib podcast جرّب بودكاست#/Jarrib podcast جرّب بودكاست - 2026-04-11 - [eWg2YSo6fVg].mp4", true, 202, ~U[2026-04-11 12:27:27Z]] 13:03:16.436 [debug] QUERY OK source="sources" db=0.2ms idle=113.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" = ?) [202] 13:03:16.437 [debug] QUERY OK source="media_items" db=0.5ms idle=2.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-24 14:58:50Z], 202] 13:03:16.438 [debug] QUERY OK source="media_items" db=0.7ms idle=3.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" ["علمياً اللي بخاف من العفرين بيطلعله", "اللي بخاف من العفريت ….", "0db88927-c1a0-433d-b6f7-ab0b5b98431d", 49, false, "hRRJVtWexFQ", "https://www.youtube.com/shorts/hRRJVtWexFQ", 2, "/downloads/shorts/Jarrib podcast جرّب بودكاست#/Jarrib podcast جرّب بودكاست - 2026-03-24 - [hRRJVtWexFQ].mp4", false, false, true, 202, [], 98, ~U[2026-03-24 14:58:50Z], ~U[2026-04-15 13:03:16Z], ~U[2026-04-15 13:03:16Z], "علمياً اللي بخاف من العفرين بيطلعله", "اللي بخاف من العفريت ….", 49, false, "hRRJVtWexFQ", "https://www.youtube.com/shorts/hRRJVtWexFQ", "/downloads/shorts/Jarrib podcast جرّب بودكاست#/Jarrib podcast جرّب بودكاست - 2026-03-24 - [hRRJVtWexFQ].mp4", true, 202, ~U[2026-03-24 14:58:50Z]] 13:03:16.439 [debug] QUERY OK source="sources" db=0.9ms 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" FROM "sources" AS s0 WHERE (s0."id" = ?) [202] 13:03:16.440 [debug] QUERY OK source="media_items" db=0.6ms idle=3.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-22 17:23:45Z], 202] 13:03:16.441 [debug] QUERY OK source="media_items" db=0.9ms idle=3.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" ["علاج التفكير الزائد الحقيقي هو معالجة الشعور وليس التخلص من الأفكار نفسها. \n#صحة_نفسية #overthinker #التفكير_الزائد", "علاج التفكير الزائد", "0608a046-e7f9-4fad-8fb8-53dc6de103c3", 32, false, "0yVF--X98iE", "https://www.youtube.com/shorts/0yVF--X98iE", 3, "/downloads/shorts/Jarrib podcast جرّب بودكاست#/Jarrib podcast جرّب بودكاست - 2026-03-22 - [0yVF--X98iE].mp4", false, false, true, 202, [], 98, ~U[2026-03-22 17:23:45Z], ~U[2026-04-15 13:03:16Z], ~U[2026-04-15 13:03:16Z], "علاج التفكير الزائد الحقيقي هو معالجة الشعور وليس التخلص من الأفكار نفسها. \n#صحة_نفسية #overthinker #التفكير_الزائد", "علاج التفكير الزائد", 32, false, "0yVF--X98iE", "https://www.youtube.com/shorts/0yVF--X98iE", "/downloads/shorts/Jarrib podcast جرّب بودكاست#/Jarrib podcast جرّب بودكاست - 2026-03-22 - [0yVF--X98iE].mp4", true, 202, ~U[2026-03-22 17:23:45Z]] 13:03:16.442 [debug] QUERY OK source="sources" db=0.3ms 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" FROM "sources" AS s0 WHERE (s0."id" = ?) [202] 13:03:16.443 [debug] QUERY OK source="media_items" db=0.6ms idle=4.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-19 14:19:23Z], 202] 13:03:16.444 [debug] QUERY OK source="media_items" db=0.9ms idle=4.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" ["مشكلة التعامل مع المشاعر و المشاكل النفسية انه وانت رايق ما في داعي تعمل اشي، وانت مش رايق ما بتقدر تعمل اشي، فالحل هو استغلال اوقات الرواق في حل المشاكل. \n#جرب_بودكاست #صحة_نفسية", "ما في داعي", "35c13cb8-5a99-432c-b1c1-982eee5262be", 30, false, "5L7GtmahopM", "https://www.youtube.com/shorts/5L7GtmahopM", 4, "/downloads/shorts/Jarrib podcast جرّب بودكاست#/Jarrib podcast جرّب بودكاست - 2026-03-19 - [5L7GtmahopM].mp4", false, false, true, 202, [], 98, ~U[2026-03-19 14:19:23Z], ~U[2026-04-15 13:03:16Z], ~U[2026-04-15 13:03:16Z], "مشكلة التعامل مع المشاعر و المشاكل النفسية انه وانت رايق ما في داعي تعمل اشي، وانت مش رايق ما بتقدر تعمل اشي، فالحل هو استغلال اوقات الرواق في حل المشاكل. \n#جرب_بودكاست #صحة_نفسية", "ما في داعي", 30, false, "5L7GtmahopM", "https://www.youtube.com/shorts/5L7GtmahopM", "/downloads/shorts/Jarrib podcast جرّب بودكاست#/Jarrib podcast جرّب بودكاست - 2026-03-19 - [5L7GtmahopM].mp4", true, 202, ~U[2026-03-19 14:19:23Z]] 13:03:16.445 [debug] QUERY OK source="sources" db=0.3ms 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" FROM "sources" AS s0 WHERE (s0."id" = ?) [202] 13:03:16.446 [debug] QUERY OK source="media_items" db=0.5ms idle=3.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-16 20:10:12Z], 202] 13:03:16.447 [debug] QUERY OK source="media_items" db=0.8ms idle=4.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" ["رمضان البداية وليس النهاية، اللهم بلغنا رمضان القادم ونحن بحال أفضل لا فاقدين ولا مفقودين يا رب العالمين.\n#رمضان #صحة_نفسية", "رمضان البداية وليس النهاية", "e3dcc3e1-676b-4919-a771-3befe9fc63b1", 36, false, "yXmL50afbLI", "https://www.youtube.com/shorts/yXmL50afbLI", 5, "/downloads/shorts/Jarrib podcast جرّب بودكاست#/Jarrib podcast جرّب بودكاست - 2026-03-16 - [yXmL50afbLI].mp4", false, false, true, 202, [], 98, ~U[2026-03-16 20:10:12Z], ~U[2026-04-15 13:03:16Z], ~U[2026-04-15 13:03:16Z], "رمضان البداية وليس النهاية، اللهم بلغنا رمضان القادم ونحن بحال أفضل لا فاقدين ولا مفقودين يا رب العالمين.\n#رمضان #صحة_نفسية", "رمضان البداية وليس النهاية", 36, false, "yXmL50afbLI", "https://www.youtube.com/shorts/yXmL50afbLI", "/downloads/shorts/Jarrib podcast جرّب بودكاست#/Jarrib podcast جرّب بودكاست - 2026-03-16 - [yXmL50afbLI].mp4", true, 202, ~U[2026-03-16 20:10:12Z]] 13:03:16.448 [debug] QUERY OK source="sources" db=0.4ms idle=4.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [202] 13:03:16.448 [debug] QUERY OK source="media_items" db=0.5ms idle=3.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-20 12:01:40Z], 202] 13:03:16.449 [debug] QUERY OK source="media_items" db=0.7ms idle=3.8ms INSERT INTO "media_items" AS m0 ("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) 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" ["نصائح للتعافي و تخطي الماضي", "edf0d2b9-e358-4f9d-af6a-ecd20931cdda", 19, false, "pDRmCbqtxQ4", "https://www.youtube.com/shorts/pDRmCbqtxQ4", 6, "/downloads/shorts/Jarrib podcast جرّب بودكاست#/Jarrib podcast جرّب بودكاست - 2025-12-20 - [pDRmCbqtxQ4].mp4", false, false, true, 202, [], 98, ~U[2025-12-20 12:01:40Z], ~U[2026-04-15 13:03:16Z], ~U[2026-04-15 13:03:16Z], "", "نصائح للتعافي و تخطي الماضي", 19, false, "pDRmCbqtxQ4", "https://www.youtube.com/shorts/pDRmCbqtxQ4", "/downloads/shorts/Jarrib podcast جرّب بودكاست#/Jarrib podcast جرّب بودكاست - 2025-12-20 - [pDRmCbqtxQ4].mp4", true, 202, ~U[2025-12-20 12:01:40Z]] 13:03:16.450 [debug] QUERY OK source="sources" db=0.3ms idle=4.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" = ?) [202] 13:03:16.451 [debug] QUERY OK source="media_items" db=0.6ms idle=3.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-13 12:20:21Z], 202] 13:03:16.452 [debug] QUERY OK source="media_items" db=0.7ms idle=3.6ms INSERT INTO "media_items" AS m0 ("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) 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" ["مين اللي بتحكم في تصرفاتك ؟ ليش بتوعد حالك و بتخلف ؟ ليش صعب عليك تلتزم ؟", "64af8b0c-21e4-458d-b819-82d292b5cd95", 35, false, "LNTqsrgtjgE", "https://www.youtube.com/shorts/LNTqsrgtjgE", 7, "/downloads/shorts/Jarrib podcast جرّب بودكاست#/Jarrib podcast جرّب بودكاست - 2025-12-13 - [LNTqsrgtjgE].mp4", false, false, true, 202, [], 98, ~U[2025-12-13 12:20:21Z], ~U[2026-04-15 13:03:16Z], ~U[2026-04-15 13:03:16Z], "", "مين اللي بتحكم في تصرفاتك ؟ ليش بتوعد حالك و بتخلف ؟ ليش صعب عليك تلتزم ؟", 35, false, "LNTqsrgtjgE", "https://www.youtube.com/shorts/LNTqsrgtjgE", "/downloads/shorts/Jarrib podcast جرّب بودكاست#/Jarrib podcast جرّب بودكاست - 2025-12-13 - [LNTqsrgtjgE].mp4", true, 202, ~U[2025-12-13 12:20:21Z]] 13:03:16.453 [debug] QUERY OK source="sources" db=0.2ms idle=3.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [202] 13:03:16.453 [debug] QUERY OK source="media_items" db=0.4ms idle=3.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-09-30 17:38:14Z], 202] 13:03:16.454 [debug] QUERY OK source="media_items" db=0.6ms idle=3.5ms INSERT INTO "media_items" AS m0 ("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) 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" ["سبب اختياراتك السيئة ؟", "75d275a4-a47c-4655-ac0e-e9a264a6d3bf", 48, false, "r2p4kNl53C0", "https://www.youtube.com/shorts/r2p4kNl53C0", 8, "/downloads/shorts/Jarrib podcast جرّب بودكاست#/Jarrib podcast جرّب بودكاست - 2024-09-30 - [r2p4kNl53C0].mp4", false, false, true, 202, [], 98, ~U[2024-09-30 17:38:14Z], ~U[2026-04-15 13:03:16Z], ~U[2026-04-15 13:03:16Z], "", "سبب اختياراتك السيئة ؟", 48, false, "r2p4kNl53C0", "https://www.youtube.com/shorts/r2p4kNl53C0", "/downloads/shorts/Jarrib podcast جرّب بودكاست#/Jarrib podcast جرّب بودكاست - 2024-09-30 - [r2p4kNl53C0].mp4", true, 202, ~U[2024-09-30 17:38:14Z]] 13:03:16.455 [debug] QUERY OK source="sources" db=0.3ms 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" FROM "sources" AS s0 WHERE (s0."id" = ?) [202] 13:03:16.456 [debug] QUERY OK source="media_items" db=0.5ms idle=3.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-09-17 15:28:24Z], 202] 13:03:16.457 [debug] QUERY OK source="media_items" db=0.6ms idle=3.2ms INSERT INTO "media_items" AS m0 ("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) 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" ["اعطي سبب لا تقنع …", "b7418fed-012b-457d-8c62-bcb7f6d89656", 38, false, "XMKF9d87wJc", "https://www.youtube.com/shorts/XMKF9d87wJc", 9, "/downloads/shorts/Jarrib podcast جرّب بودكاست#/Jarrib podcast جرّب بودكاست - 2024-09-17 - [XMKF9d87wJc].mp4", false, false, true, 202, [], 98, ~U[2024-09-17 15:28:24Z], ~U[2026-04-15 13:03:16Z], ~U[2026-04-15 13:03:16Z], "", "اعطي سبب لا تقنع …", 38, false, "XMKF9d87wJc", "https://www.youtube.com/shorts/XMKF9d87wJc", "/downloads/shorts/Jarrib podcast جرّب بودكاست#/Jarrib podcast جرّب بودكاست - 2024-09-17 - [XMKF9d87wJc].mp4", true, 202, ~U[2024-09-17 15:28:24Z]] 13:03:16.457 [debug] QUERY OK source="sources" db=0.2ms 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" = ?) [202] 13:03:16.458 [debug] QUERY OK source="media_items" db=0.5ms idle=3.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-09-13 17:22:03Z], 202] 13:03:16.459 [debug] QUERY OK source="media_items" db=0.6ms idle=3.2ms INSERT INTO "media_items" AS m0 ("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) 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" ["تنبيه ! الى محبين الفضفضة … بطلوا ⚠️‼️", "6afb3801-1c4b-4f95-a18a-ce6966b0e5ef", 59, false, "7S1SYo5uzpI", "https://www.youtube.com/shorts/7S1SYo5uzpI", 10, "/downloads/shorts/Jarrib podcast جرّب بودكاست#/Jarrib podcast جرّب بودكاست - 2024-09-13 - [7S1SYo5uzpI].mp4", false, false, true, 202, [], 98, ~U[2024-09-13 17:22:03Z], ~U[2026-04-15 13:03:16Z], ~U[2026-04-15 13:03:16Z], "", "تنبيه ! الى محبين الفضفضة … بطلوا ⚠️‼️", 59, false, "7S1SYo5uzpI", "https://www.youtube.com/shorts/7S1SYo5uzpI", "/downloads/shorts/Jarrib podcast جرّب بودكاست#/Jarrib podcast جرّب بودكاست - 2024-09-13 - [7S1SYo5uzpI].mp4", true, 202, ~U[2024-09-13 17:22:03Z]] 13:03:16.459 [debug] QUERY OK source="sources" db=0.3ms 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" = ?) [202] 13:03:16.460 [debug] QUERY OK source="media_items" db=0.5ms idle=3.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-09-12 17:53:58Z], 202] 13:03:16.461 [debug] QUERY OK source="media_items" db=0.6ms idle=3.2ms INSERT INTO "media_items" AS m0 ("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) 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" ["المواجهة ! غداً على جرّب بودكاست", "9d2f9ec3-ca86-461b-aec8-39845a9e6a8a", 58, false, "k9HYbcuQNJU", "https://www.youtube.com/shorts/k9HYbcuQNJU", 11, "/downloads/shorts/Jarrib podcast جرّب بودكاست#/Jarrib podcast جرّب بودكاست - 2024-09-12 - [k9HYbcuQNJU].mp4", false, false, true, 202, [], 98, ~U[2024-09-12 17:53:58Z], ~U[2026-04-15 13:03:16Z], ~U[2026-04-15 13:03:16Z], "", "المواجهة ! غداً على جرّب بودكاست", 58, false, "k9HYbcuQNJU", "https://www.youtube.com/shorts/k9HYbcuQNJU", "/downloads/shorts/Jarrib podcast جرّب بودكاست#/Jarrib podcast جرّب بودكاست - 2024-09-12 - [k9HYbcuQNJU].mp4", true, 202, ~U[2024-09-12 17:53:58Z]] 13:03:16.462 [debug] QUERY OK source="sources" db=0.2ms 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" = ?) [202] 13:03:16.462 [debug] QUERY OK source="media_items" db=0.4ms idle=3.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-09-10 15:37:49Z], 202] 13:03:16.463 [debug] QUERY OK source="media_items" db=0.6ms idle=3.2ms INSERT INTO "media_items" AS m0 ("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) 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" ["شعور العجز … #جرب_بودكاست", "2a9f5c88-069a-4c35-8e52-5d3c10120b97", 34, false, "OOHVYn6Xg-I", "https://www.youtube.com/shorts/OOHVYn6Xg-I", 12, "/downloads/shorts/Jarrib podcast جرّب بودكاست#/Jarrib podcast جرّب بودكاست - 2024-09-10 - [OOHVYn6Xg-I].mp4", false, false, true, 202, [], 98, ~U[2024-09-10 15:37:49Z], ~U[2026-04-15 13:03:16Z], ~U[2026-04-15 13:03:16Z], "", "شعور العجز … #جرب_بودكاست", 34, false, "OOHVYn6Xg-I", "https://www.youtube.com/shorts/OOHVYn6Xg-I", "/downloads/shorts/Jarrib podcast جرّب بودكاست#/Jarrib podcast جرّب بودكاست - 2024-09-10 - [OOHVYn6Xg-I].mp4", true, 202, ~U[2024-09-10 15:37:49Z]] 13:03:16.464 [debug] QUERY OK source="sources" db=0.3ms 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" = ?) [202] 13:03:16.465 [debug] QUERY OK source="media_items" db=0.5ms idle=3.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-09-09 15:42:14Z], 202] 13:03:16.466 [debug] QUERY OK source="media_items" db=0.6ms idle=3.2ms INSERT INTO "media_items" AS m0 ("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) 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" ["لقطتكم المفضلة من حلقة هذا الاسبوع 😂♥️", "b4939f82-fff1-4ac2-92d1-8bc2666f824e", 26, false, "aa9Z2uoOPxk", "https://www.youtube.com/shorts/aa9Z2uoOPxk", 13, "/downloads/shorts/Jarrib podcast جرّب بودكاست#/Jarrib podcast جرّب بودكاست - 2024-09-09 - [aa9Z2uoOPxk].mp4", false, false, true, 202, [], 98, ~U[2024-09-09 15:42:14Z], ~U[2026-04-15 13:03:16Z], ~U[2026-04-15 13:03:16Z], "", "لقطتكم المفضلة من حلقة هذا الاسبوع 😂♥️", 26, false, "aa9Z2uoOPxk", "https://www.youtube.com/shorts/aa9Z2uoOPxk", "/downloads/shorts/Jarrib podcast جرّب بودكاست#/Jarrib podcast جرّب بودكاست - 2024-09-09 - [aa9Z2uoOPxk].mp4", true, 202, ~U[2024-09-09 15:42:14Z]] 13:03:16.466 [debug] QUERY OK source="sources" db=0.2ms 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" = ?) [202] 13:03:16.467 [debug] QUERY OK source="media_items" db=0.4ms idle=3.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-09-07 16:31:08Z], 202] 13:03:16.468 [debug] QUERY OK source="media_items" db=1.1ms idle=3.2ms INSERT INTO "media_items" AS m0 ("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) 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" ["يا للعار ❤️\u200D🩹😞", "453e29e7-b8e6-48d9-b8f9-9d47b2db3b57", 37, false, "qbWFhbI5NO4", "https://www.youtube.com/shorts/qbWFhbI5NO4", 14, "/downloads/shorts/Jarrib podcast جرّب بودكاست#/Jarrib podcast جرّب بودكاست - 2024-09-07 - [qbWFhbI5NO4].mp4", false, false, true, 202, [], 98, ~U[2024-09-07 16:31:08Z], ~U[2026-04-15 13:03:16Z], ~U[2026-04-15 13:03:16Z], "", "يا للعار ❤️\u200D🩹😞", 37, false, "qbWFhbI5NO4", "https://www.youtube.com/shorts/qbWFhbI5NO4", "/downloads/shorts/Jarrib podcast جرّب بودكاست#/Jarrib podcast جرّب بودكاست - 2024-09-07 - [qbWFhbI5NO4].mp4", true, 202, ~U[2024-09-07 16:31:08Z]] 13:03:16.469 [debug] QUERY OK source="sources" db=0.3ms 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" = ?) [202] 13:03:16.470 [debug] QUERY OK source="media_items" db=0.5ms idle=3.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-09-06 17:39:03Z], 202] 13:03:16.471 [debug] QUERY OK source="media_items" db=0.6ms idle=3.7ms INSERT INTO "media_items" AS m0 ("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) 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" ["ليش انا هيك ؟ الآن على جرِّب", "0bb423b4-5c67-4a0e-a72d-6116eb3d84dc", 59, false, "xDeXWGhkX0I", "https://www.youtube.com/shorts/xDeXWGhkX0I", 15, "/downloads/shorts/Jarrib podcast جرّب بودكاست#/Jarrib podcast جرّب بودكاست - 2024-09-06 - [xDeXWGhkX0I].mp4", false, false, true, 202, [], 98, ~U[2024-09-06 17:39:03Z], ~U[2026-04-15 13:03:16Z], ~U[2026-04-15 13:03:16Z], "", "ليش انا هيك ؟ الآن على جرِّب", 59, false, "xDeXWGhkX0I", "https://www.youtube.com/shorts/xDeXWGhkX0I", "/downloads/shorts/Jarrib podcast جرّب بودكاست#/Jarrib podcast جرّب بودكاست - 2024-09-06 - [xDeXWGhkX0I].mp4", true, 202, ~U[2024-09-06 17:39:03Z]] 13:03:16.471 [debug] QUERY OK source="sources" db=0.2ms idle=3.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [202] 13:03:16.472 [debug] QUERY OK source="media_items" db=0.5ms idle=3.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-09-01 18:19:17Z], 202] 13:03:16.473 [debug] QUERY OK source="media_items" db=0.8ms idle=3.2ms INSERT INTO "media_items" AS m0 ("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) 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" ["على قد لحافك مد رجليك ؟", "04697681-258e-4e79-a962-c020ebd11082", 56, false, "g6nOympjmVg", "https://www.youtube.com/shorts/g6nOympjmVg", 16, "/downloads/shorts/Jarrib podcast جرّب بودكاست#/Jarrib podcast جرّب بودكاست - 2024-09-01 - [g6nOympjmVg].mp4", false, false, true, 202, [], 97, ~U[2024-09-01 18:19:17Z], ~U[2026-04-15 13:03:16Z], ~U[2026-04-15 13:03:16Z], "", "على قد لحافك مد رجليك ؟", 56, false, "g6nOympjmVg", "https://www.youtube.com/shorts/g6nOympjmVg", "/downloads/shorts/Jarrib podcast جرّب بودكاست#/Jarrib podcast جرّب بودكاست - 2024-09-01 - [g6nOympjmVg].mp4", true, 202, ~U[2024-09-01 18:19:17Z]] 13:03:16.474 [debug] QUERY OK source="sources" db=0.2ms 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" FROM "sources" AS s0 WHERE (s0."id" = ?) [202] 13:03:16.474 [debug] QUERY OK source="media_items" db=0.5ms idle=3.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-09-01 11:13:35Z], 202] 13:03:16.475 [debug] QUERY OK source="media_items" db=0.6ms idle=3.5ms INSERT INTO "media_items" AS m0 ("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) 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" ["الحق قبل الحذف ! ⚠️", "b8425b80-50b6-4367-821f-cc98338745a7", 25, false, "PW6J3aarB2k", "https://www.youtube.com/shorts/PW6J3aarB2k", 17, "/downloads/shorts/Jarrib podcast جرّب بودكاست#/Jarrib podcast جرّب بودكاست - 2024-09-01 - [PW6J3aarB2k].mp4", false, false, true, 202, [], 97, ~U[2024-09-01 11:13:35Z], ~U[2026-04-15 13:03:16Z], ~U[2026-04-15 13:03:16Z], "", "الحق قبل الحذف ! ⚠️", 25, false, "PW6J3aarB2k", "https://www.youtube.com/shorts/PW6J3aarB2k", "/downloads/shorts/Jarrib podcast جرّب بودكاست#/Jarrib podcast جرّب بودكاست - 2024-09-01 - [PW6J3aarB2k].mp4", true, 202, ~U[2024-09-01 11:13:35Z]] 13:03:16.476 [debug] QUERY OK source="sources" db=0.2ms idle=3.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" = ?) [202] 13:03:16.477 [debug] QUERY OK source="media_items" db=0.4ms idle=3.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-08-27 17:56:04Z], 202] 13:03:16.478 [debug] QUERY OK source="media_items" db=0.6ms idle=3.2ms INSERT INTO "media_items" AS m0 ("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) 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" ["الابتزاز العاطفي !", "5459b632-4ebf-4f23-a865-9db2c303f77f", 43, false, "P_M5pZnkTVE", "https://www.youtube.com/shorts/P_M5pZnkTVE", 18, "/downloads/shorts/Jarrib podcast جرّب بودكاست#/Jarrib podcast جرّب بودكاست - 2024-08-27 - [P_M5pZnkTVE].mp4", false, false, true, 202, [], 98, ~U[2024-08-27 17:56:04Z], ~U[2026-04-15 13:03:16Z], ~U[2026-04-15 13:03:16Z], "", "الابتزاز العاطفي !", 43, false, "P_M5pZnkTVE", "https://www.youtube.com/shorts/P_M5pZnkTVE", "/downloads/shorts/Jarrib podcast جرّب بودكاست#/Jarrib podcast جرّب بودكاست - 2024-08-27 - [P_M5pZnkTVE].mp4", true, 202, ~U[2024-08-27 17:56:04Z]] 13:03:16.478 [debug] QUERY OK source="sources" db=0.2ms 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" FROM "sources" AS s0 WHERE (s0."id" = ?) [202] 13:03:16.479 [debug] QUERY OK source="media_items" db=0.5ms idle=2.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-08-24 14:14:52Z], 202] 13:03:16.480 [debug] QUERY OK source="media_items" db=0.6ms idle=3.1ms INSERT INTO "media_items" AS m0 ("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) 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" ["Guilt tripping !", "85f60599-7fbf-47cf-96c2-4085d68da9c9", 35, false, "2ScNAKL8sFI", "https://www.youtube.com/shorts/2ScNAKL8sFI", 19, "/downloads/shorts/Jarrib podcast جرّب بودكاست#/Jarrib podcast جرّب بودكاست - 2024-08-24 - [2ScNAKL8sFI].mp4", false, false, true, 202, [], 97, ~U[2024-08-24 14:14:52Z], ~U[2026-04-15 13:03:16Z], ~U[2026-04-15 13:03:16Z], "", "Guilt tripping !", 35, false, "2ScNAKL8sFI", "https://www.youtube.com/shorts/2ScNAKL8sFI", "/downloads/shorts/Jarrib podcast جرّب بودكاست#/Jarrib podcast جرّب بودكاست - 2024-08-24 - [2ScNAKL8sFI].mp4", true, 202, ~U[2024-08-24 14:14:52Z]] 13:03:16.480 [debug] QUERY OK source="sources" db=0.2ms idle=3.3ms UPDATE "sources" SET "last_indexed_at" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-04-15 13:03:16Z], ~U[2026-04-15 13:03:16Z], 202] 13:03:16.481 [debug] QUERY OK source="media_items" db=0.7ms 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 ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [202] 13:03:16.482 [debug] QUERY OK source="media_items" db=0.6ms idle=3.3ms SELECT count(*) FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [202] 13:03:16.483 [debug] QUERY OK source="media_items" db=0.2ms idle=3.4ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [202] 13:03:16.485 [debug] QUERY OK source="tasks" db=0.3ms idle=3.8ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2192042, 202, ~U[2026-04-15 13:03:16Z], ~U[2026-04-15 13:03:16Z]] 13:03:16.486 [info] {"args":{"id":202},"id":2187146,"meta":{},"state":"success","max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","duration":365613882,"event":"job:stop","queue_time":183596,"attempt":1,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 13:03:18.050 [info] GET /sources/556/media/4401912 13:03:18.051 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "4401912", "prevent_download" => "true", "source_id" => "556"} Pipelines: [:browser] 13:03:18.051 [debug] QUERY OK source="media_items" db=0.2ms idle=727.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" = ?) [4401912] 13:03:18.052 [debug] QUERY OK source="tasks" db=0.2ms idle=41.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" [4401912] 13:03:18.052 [debug] QUERY OK source="sources" db=0.4ms idle=41.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" = ?) [556] 13:03:18.053 [debug] QUERY OK source="settings" db=0.1ms idle=42.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:03:18.053 [debug] QUERY OK source="settings" db=0.1ms idle=42.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:03:18.053 [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 [] 13:03:18.054 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:03:18.056 [info] Sent 200 in 5ms 13:03:42.419 [info] {"source":"oban","duration":17819,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:04:00.840 [info] {"source":"oban","duration":131,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:04:08.665 [info] GET /sources/268/media/3523800 13:04:08.665 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "3523800", "prevent_download" => "true", "source_id" => "268"} Pipelines: [:browser] 13:04:08.666 [debug] QUERY OK source="media_items" db=0.2ms idle=655.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" = ?) [3523800] 13:04:08.666 [debug] QUERY OK source="tasks" db=0.1ms idle=656.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" [3523800] 13:04:08.667 [debug] QUERY OK source="sources" db=0.3ms idle=656.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" = ?) [268] 13:04:08.667 [debug] QUERY OK source="settings" db=0.1ms idle=657.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:04:08.667 [debug] QUERY OK source="settings" db=0.1ms idle=284.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:04:08.668 [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 [] 13:04:08.669 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 13:04:08.670 [info] Sent 200 in 5ms 13:04:12.438 [info] {"source":"oban","duration":17853,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:04:20.405 [info] {"args":{"id":407},"id":2192006,"meta":{},"system_time":1776258260405177991,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:04:20.405 [debug] QUERY OK source="sources" db=0.3ms idle=395.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" = ?) [407] 13:04:20.406 [debug] QUERY OK source="settings" db=0.8ms idle=395.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:04:20.407 [debug] QUERY OK source="media_profiles" db=0.8ms idle=396.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" = ?) [2] 13:04:20.408 [debug] QUERY OK source="settings" db=0.2ms idle=9.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:04:20.408 [debug] Fetching recent media IDs from YouTube API for playlist: UUga4N76Fl4sgcn30iwBs7aQ 13:04:20.408 [debug] QUERY OK source="settings" db=0.1ms idle=3.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:04:20.408 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 13:04:20.761 [debug] QUERY OK source="media_items" db=1.2ms idle=354.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [407, "-W6KEugYxBQ", "zQxXycM3IvM", "BrCSskrHOBU", "gMn1XXQ6Xus", "YwcknlhzUEU", "tinS3wZQZu0", "HWH4PB4RVpo", "aDHfYXROc5A", "qzm_Dy_rilA", "MHICU_ehVZk", "I0ZNxiVwykM", "-OsGSH3KGbA", "N00x4OkBGu8", "zqAinHuD6Yo", "cv4FVPWWF8I", "2DysQO78Y3k", "byYpxLw97ic", "8KsVvEyjEpg", "QZIJ2atHpFo", "IH0DS0Hqi1I", "6RbFcKVIMTo", "8DI46MmEzts", "JCyRL-BCGrY", "CKGoJAuUbRw", "zB12EMayFig", "jbcagG6xgqg", "VGjk8hhgRYs", "zqhKlBQ9xWI", "1SKsmmYdYng", "6lt75J3-9lY", "4-f2sw7IWPw", "WMLsLgiPFks", "TOO3B46BiGc", "5oCRsyA3ZLQ", "BWLb5EI620w", "Av1kcYca1yI", "o4yxwefSKrg", "v4aMSQBA6GY", "1v1uQJfn7mU", "wzd5JlenK7U", "lqg9v9c50PQ", "bfsLRqnZBMI", "-L8pp9DEvrs", "48tZLvPwq1A", "HMzzHdRb5bI", "VhPje4BiC6o", "vJfLhWzehCU", "GenA6mFVXtQ", "49YQZrruUlY", ...] 13:04:20.767 [debug] QUERY OK source="media_items" db=3.8ms idle=356.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")))) [407] 13:04:20.768 [debug] QUERY OK source="tasks" db=0.3ms idle=359.7ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2192043, 407, ~U[2026-04-15 13:04:20Z], ~U[2026-04-15 13:04:20Z]] 13:04:20.769 [info] {"args":{"id":407},"id":2192006,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":363690,"event":"job:stop","queue_time":370114,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:04:23.409 [info] {"args":{"id":137},"id":2192007,"meta":{},"system_time":1776258263408947342,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:04:23.409 [debug] QUERY OK source="sources" db=0.2ms idle=1398.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" = ?) [137] 13:04:23.410 [debug] QUERY OK source="settings" db=0.2ms idle=1399.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:04:23.410 [debug] QUERY OK source="media_profiles" db=0.2ms idle=1009.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" = ?) [2] 13:04:23.410 [debug] QUERY OK source="settings" db=0.2ms idle=8.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:04:23.411 [debug] Fetching recent media IDs from YouTube API for playlist: UU6VEazPLsTwCHAq2XU0tRyA 13:04:23.411 [debug] QUERY OK source="settings" db=0.1ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:04:23.411 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 13:04:23.743 [debug] QUERY OK source="media_items" db=1.1ms idle=332.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [137, "TYzW2hwb2eU", "Y0HbsrMblSY", "Ko2rEMjJDqc", "kGP1iyJ5JVk", "8X2Gp4JrjCc", "MEYfauKFQKM", "CCJCd8F_diQ", "jsWkXl3y2V8", "eKrqp-HV73w", "gXDgE1r0fmE", "xP_EQzF8VcA", "RfZpJRL7qPA", "UtFN8sG2dac", "f__SSRXQW_0", "APPiN4Oef3o", "q5MQnKjA87M", "zwkJ95N9B1M", "9l8J-8mZZwk", "F-TBX4m7Omw", "KKl0A-Y7xIU", "Psenv5CPh7w", "MP8WxJWv0VI", "Un04g6T0MBk", "e1dWuglj0wA", "ZnuWLqLfnYQ", "oUu62USr24A", "cRx1_mB9LxE", "PLAlGw5A21E", "hcpVRhBex9U", "LK2LTfPM2Qs", "Z5F2z1XcOSw", "CVaq9bG_tBY", "X-a2XbVX3-c", "apkWIdRFzpQ", "PANiqRRIbqw", "kiTdyj1OowM", "6dQkyg0e1c8", "Cf5yNSD5HGE", "_y3X1HIUBX4", "G-e7QMglAhc", "avXMv4RrRXI", "jC3yDlwTK2A", "myA5gcE-5KE", "bcJnqkTlunE", "nNArfQK259k", "ZG7Bikz9grA", "vo7HA72gZNQ", "TNz5GHFNBj0", "14XtzGLWUtw", ...] 13:04:23.746 [debug] QUERY OK source="media_items" db=2.0ms 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 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [137] 13:04:23.748 [debug] QUERY OK source="tasks" db=0.3ms idle=336.9ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2192044, 137, ~U[2026-04-15 13:04:23Z], ~U[2026-04-15 13:04:23Z]] 13:04:23.749 [info] {"args":{"id":137},"id":2192007,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":339777,"event":"job:stop","queue_time":404085,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:04:42.456 [info] {"source":"oban","duration":17704,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:04:46.432 [info] {"args":{"id":195},"id":2192008,"meta":{},"system_time":1776258286432547554,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:04:46.432 [debug] QUERY OK source="sources" db=0.1ms idle=1422.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" = ?) [195] 13:04:46.433 [debug] QUERY OK source="settings" db=0.4ms 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:04:46.433 [debug] QUERY OK source="media_profiles" db=0.1ms idle=423.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" = ?) [2] 13:04:46.434 [debug] QUERY OK source="settings" db=0.1ms idle=6.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:04:46.434 [debug] Fetching recent media IDs from YouTube API for playlist: UUBRMiH3Aivfkmh24Sa2dOew 13:04:46.434 [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 [] 13:04:46.434 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 13:04:46.728 [debug] QUERY OK source="media_items" db=1.3ms idle=294.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [195, "p8SWCk5bHV4", "lGF5Y7n_vLA", "MCEgp0nDF_s", "eT8WC3vCNpM", "FdtHhPaD850", "efb72vQ-B5w", "T8yhYw2qYpU", "rxTb8olkoPk", "04sdzvBin2M", "FmxxJMMfjIQ", "DsF8tlvZfQU", "_nwUUMj2ihk", "ddP7GahgvdE", "igdQ646Rczo", "e6bNcQn6H8U", "VTaZnN2r-C4", "6s0PkW4X18k", "nq4j2vn85k0", "zSg2dCltMlE", "mMLIwZ1Hm-o", "pB0UeWaKMAk", "Zbd7ZR96fhs", "8431epN9yQY", "q9cidfvLSAQ", "TFtz5CBcSaA", "IHxBsWkSNC8", "KFnFetow2Fk", "l-66gKQOFFo", "9hrMhbVRqaQ", "nB7DXM3aXaM", "aJqijOOspFA", "XwtlpPm7d8Y", "XQ7i8_iskPU", "JDvpnFZiW-s", "Sg2smBn7oy4", "J7pPlV84TvE", "z3pnYIzRFNU", "QXwBbQYU1b0", "2EY_87Qp5es", "7oi6e-2M_jw", "5AW4xpNiS9w", "pbu9h-Ed45w", "XiUfyDi-vJA", "8sjUDoIvz3k", "Q4w7S0_bRNE", "IjBWwvWDNeA", "ENJS0N-wJrM", "vZzfd3fTI1I", "jFHXZyZwkzo", ...] 13:04:46.733 [debug] QUERY OK source="media_items" db=3.2ms idle=296.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [195] 13:04:46.735 [debug] QUERY OK source="tasks" db=0.3ms idle=300.7ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2192045, 195, ~U[2026-04-15 13:04:46Z], ~U[2026-04-15 13:04:46Z]] 13:04:46.735 [info] {"args":{"id":195},"id":2192008,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":302939,"event":"job:stop","queue_time":439312,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:04:55.157 [info] GET /sources/408/media/4476339 13:04:55.158 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "4476339", "prevent_download" => "true", "source_id" => "408"} Pipelines: [:browser] 13:04:55.158 [debug] QUERY OK source="media_items" db=0.3ms idle=1147.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" = ?) [4476339] 13:04:55.159 [debug] QUERY OK source="tasks" db=0.1ms idle=1148.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" [4476339] 13:04:55.159 [debug] QUERY OK source="sources" db=0.3ms idle=1148.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" = ?) [408] 13:04:55.160 [debug] QUERY OK source="settings" db=0.2ms idle=1149.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:04:55.160 [debug] QUERY OK source="settings" db=0.2ms 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 [] 13:04:55.161 [debug] QUERY OK source="settings" db=0.1ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:04:55.161 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 13:04:55.163 [info] Sent 200 in 5ms 13:05:00.841 [info] {"source":"oban","duration":137,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:05:12.475 [info] {"source":"oban","duration":18101,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:05:18.475 [info] {"args":{"id":98},"id":2192010,"meta":{},"system_time":1776258318475163583,"max_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:05:18.475 [info] {"args":{"id":96},"id":2192011,"meta":{},"system_time":1776258318475229952,"max_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:05:18.476 [debug] QUERY OK source="sources" db=0.6ms idle=465.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" = ?) [96] 13:05:18.476 [debug] QUERY OK source="sources" db=1.1ms idle=1008.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" = ?) [98] 13:05:18.476 [debug] QUERY OK source="settings" db=0.2ms 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 [] 13:05:18.477 [debug] QUERY OK source="settings" db=0.3ms idle=8.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:05:18.477 [debug] QUERY OK source="media_profiles" db=0.2ms 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" = ?) [2] 13:05:18.477 [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" = ?) [2] 13:05:18.477 [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 [] 13:05:18.477 [debug] Fetching recent media IDs from YouTube API for playlist: UUKlJwuBeBliMD0OS9AN1LqA 13:05:18.477 [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 [] 13:05:18.478 [debug] Fetching recent media IDs from YouTube API for playlist: UUAZb4c10tPnyyAPhEo-vS1w 13:05:18.478 [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 [] 13:05:18.478 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 13:05:18.478 [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 [] 13:05:18.478 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 13:05:18.745 [debug] QUERY OK source="media_items" db=1.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 WHERE ((m0."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [96, "lgi0gk0izVw", "iwGrG2LwuUU", "x62omneLjUQ", "7ZLylxGWhc8", "2JYaUJayC7M", "8MhWFLNJLcI", "z6uHcqDrdOU", "Cm-5wl2sGAk", "3mYv9NAhrwI", "_zGarVwlhrI", "UenlD8RnRzw", "k8GdyHR_PKI", "ph3d_UDtJmg", "sk3EIXCnj2Y", "gaPNo4hjpOA", "MfBOjMSaUlQ", "4kFWFkA5tzQ", "v4P3-qv5apE", "6sXolxcGHV8", "L0oqBbEp4Do", "eHOMLS47yRg", "fixM4HJ_t0c", "Z49bpbSmeqo", "lFk09LRAqoE", "UCFgrFMnq-M", "mX-ZHvm0EqQ", "6BeHK2sBAsU", "nVxb_6-i4vo", "5AWb3uGaGnM", "U6_uygrlXLQ", "hH-kmDMUdbM", "bECZSbJSUN4", "4NLmKeucGeQ", "So1_9zobHfI", "Q0dEwIee2QU", "owVM8htcVMY", "KdPcD4V4wwI", "ZiNb8EywGWk", "_sDNcewGKdA", "C1T0dqbQ8wY", "aOJPNjwzVoM", "ZnJE8cWMlek", "bLKHwG-zIBA", "gI5W6288Nqg", "PvlO47XZj74", "Sh9pKvCsBaw", "dGqaASnOllk", "J4aKYDp7efI", "V1hn7k2amaQ", ...] 13:05:18.759 [debug] QUERY OK source="media_items" db=13.2ms idle=268.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")))) [96] 13:05:18.762 [debug] QUERY OK source="tasks" db=0.4ms idle=283.0ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2192046, 96, ~U[2026-04-15 13:05:18Z], ~U[2026-04-15 13:05:18Z]] 13:05:18.762 [info] {"args":{"id":96},"id":2192011,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":286866,"event":"job:stop","queue_time":190358,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:05:20.693 [debug] QUERY OK source="media_items" db=1.1ms idle=681.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [98, "Ev9FN-nBkho", "G85Ah7FqgJw", "NMWezFTpuyA", "wpwVJMVDreg", "katvUb1-VtA", "j8v0Ci3CyCM", "39M5ZIuq5R0", "aezweDUgIYI", "o7yt-kZE8Ns", "ryQ2XQL7DM8", "yRENM57s7pk", "s1QGX8WMUIA", "JoMya8mFvqw", "Kl9b5jHoi0g", "MPstTZo5ZTI", "ufjD8yVfMyM", "hkPoP9qiNFc", "uJR-FImplgI", "AJMdBafruQQ", "_3YV1GNd8YM", "48-62pf9pVU", "TSCWJLqr7ts", "yXu61yOXpSE", "BEPkOy3AM9A", "-A3XI4Nev-I", "pWqiicpnZbs", "CjnYvDUygjA", "enO_DLOpBXk", "8-cvEj2h9Jw", "BRoLiutnbv0", "rFTGwrEkzcg", "KQaz_l3M1Zk", "zgLl_BLdBUU", "jcLjRB0wu2M", "bZj0l4Omo6Y", "bf-6IUrtFb4", "ICRJYx5e50Q", "AnEHzdsKX1I", "6yAcLo_1ez0", "kVAVTj64ZYI", "C0JE-lBoYig", "PyoZ_hdaI_E", "rHX8xNJAqgs", "CYFSuOfgFCs", "GPgPJrBC2Ss", "Jn7VbYmvfrc", "utK0QZwBRSw", "s6gLJF7hR6o", "9Awsk83VIIY", ...] 13:05:20.694 [debug] QUERY OK source="media_items" db=0.7ms idle=683.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")))) [98] 13:05:20.696 [debug] QUERY OK source="tasks" db=0.2ms idle=224.5ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2192047, 98, ~U[2026-04-15 13:05:20Z], ~U[2026-04-15 13:05:20Z]] 13:05:20.697 [info] {"args":{"id":98},"id":2192010,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":2221605,"event":"job:stop","queue_time":456204,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:05:31.492 [info] {"args":{"id":179},"id":2192012,"meta":{},"system_time":1776258331492705229,"max_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:05:31.493 [debug] QUERY OK source="sources" db=0.1ms idle=1482.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" = ?) [179] 13:05:31.493 [debug] QUERY OK source="settings" db=0.1ms idle=1482.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:05:31.493 [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" = ?) [2] 13:05:31.493 [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 [] 13:05:31.493 [debug] Fetching recent media IDs from YouTube API for playlist: UUqyUIejEzM0o-weuEpnDi3Q 13:05:31.494 [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 [] 13:05:31.494 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 13:05:31.780 [debug] QUERY OK source="media_items" db=1.2ms 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 WHERE ((m0."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [179, "pKXdilyXxAI", "GlncALbDrw8", "zf1ggra0IvY", "a6h5d-tGm6c", "uX6xwAMoZZo", "35efgolAJnQ", "6Y7p1LFvufE", "dO5F9yWjbpc", "41s3cMSb7j8", "zGinpJX6IK8", "GpwHRN69eck", "kK2cfv05DUo", "SBnnyouT6Jo", "gUIb3RFsZbM", "v-j7EdHnc2g", "Cs1y_qfIYP8", "uYzepecNaAw", "DgDtCp_z8Q0", "1TEhu1_Tv5U", "ezCec4ndn88", "x9dGduuEFHQ", "YYSe9GnVTF8", "0V6Snvm7WDM", "uml0Z4AZaK0", "5D_o1PuFNBU", "ZNkhOZYGWCo", "HnPtQuRuHjs", "fssPKb80GAk", "uCMuZv0LfQo", "wolCPbqmPKI", "P7hizGN3Qac", "oEjcEbXFr-0", "8ZJwuxwNEVY", "rFQGEqS1Jec", "JG-lowxduWk", "55cfeTeiBrU", "2H6XsOWSSCc", "mALFGAJ4Ank", "AWB5APi4yb8", "QO51is_uUwM", "AVbaqwT6wjA", "dDDhx5UY_bg", "7IGJcXIwM7c", "1286woUnTPg", "i3fhiv7KrnY", "hc5hbCiIt9E", "2nyFunyTN1Q", "9-l8VJK2Ivw", "1g1r_vTXaBE", ...] 13:05:31.783 [debug] QUERY OK source="media_items" db=2.2ms idle=288.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")))) [179] 13:05:31.787 [debug] QUERY OK source="tasks" db=0.2ms idle=2.7ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2192048, 179, ~U[2026-04-15 13:05:31Z], ~U[2026-04-15 13:05:31Z]] 13:05:31.788 [info] {"args":{"id":179},"id":2192012,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":295381,"event":"job:stop","queue_time":234119,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:05:35.826 [info] GET /sources/138/media/3908268 13:05:35.826 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "3908268", "prevent_download" => "true", "source_id" => "138"} Pipelines: [:browser] 13:05:35.827 [debug] QUERY OK source="media_items" db=0.3ms idle=816.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" = ?) [3908268] 13:05:35.828 [debug] QUERY OK source="sources" db=0.3ms idle=817.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" = ?) [138] 13:05:35.828 [debug] QUERY OK source="tasks" db=0.6ms idle=817.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" [3908268] 13:05:35.828 [debug] QUERY OK source="settings" db=0.1ms idle=818.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:05:35.829 [debug] QUERY OK source="settings" db=0.1ms idle=337.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:05:35.829 [debug] QUERY OK source="settings" db=0.1ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:05:35.830 [debug] QUERY OK source="media_profiles" db=0.2ms 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" = ?) [2] 13:05:35.831 [info] Sent 200 in 5ms 13:05:40.507 [info] {"args":{"id":170},"id":2192013,"meta":{},"system_time":1776258340507083384,"max_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:05:40.507 [debug] QUERY OK source="sources" db=0.3ms idle=1497.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" = ?) [170] 13:05:40.508 [debug] QUERY OK source="settings" db=0.2ms idle=1497.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:05:40.508 [debug] QUERY OK source="media_profiles" db=0.2ms idle=1010.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" = ?) [2] 13:05:40.509 [debug] QUERY OK source="settings" db=0.2ms idle=8.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:05:40.509 [debug] Fetching recent media IDs from YouTube API for playlist: UUNdRu8acJfOSM5j3ybyp_8Q 13:05:40.509 [debug] QUERY OK source="settings" db=0.1ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:05:40.509 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 13:05:40.846 [debug] QUERY OK source="media_items" db=1.2ms idle=337.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [170, "2dII7fUtUYg", "B-nIGwHbAVs", "-CEceffxGFA", "KIZWJA513Ao", "QneeftA53KU", "8CWL7ppNA3o", "cOxCyazeCJw", "0cWGCaFuguk", "6QMfibl-SnI", "jC5eSFR8OCs", "FVDqcFTBKVY", "bNp8eoSN4nA", "FNs2bjyYdtY", "wkMVgzvQNJk", "UcAzsfkB5qg", "zlKNqgl80nM", "NOPKBI0xLhs", "gk_TAIbLoiA", "J6xcM7Qz7UQ", "3H4TvwkjcPQ", "JID7hDNO1P0", "nhxhPipgkRA", "4znyT54MUOA", "XZqby1gGpqk", "JKvUsl_2Ow0", "1KtDgc7yWBo", "07JhQX49XVM", "WIL0xXuMeVs", "ZhZ69ws2rkw", "X7qsGLZmBQU", "2kSaPVi5IEI", "SGr5g0G00zc", "XZeXUHAyVRg", "nGe0RBK8UJE", "oU-MArspg04", "-1jFdB-QkLM", "EP0eS5Z6USo", "cZ6gjlY_KjU", "OmoT95T7a9E", "F0-EPZUydzw", "Ar-wbxmesW4", "I9nthd03SOA", "e2TH7alqLJE", "h6JxkZwuIUI", "cDlpEFf5RjY", "tpD9Yz67hBw", "mejuzJnmSMA", "2X--RidFiDg", "-xh8HQlKlog", ...] 13:05:40.850 [debug] QUERY OK source="media_items" db=2.1ms idle=340.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")))) [170] 13:05:40.852 [debug] QUERY OK source="tasks" db=0.2ms idle=342.4ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2192049, 170, ~U[2026-04-15 13:05:40Z], ~U[2026-04-15 13:05:40Z]] 13:05:40.852 [info] {"args":{"id":170},"id":2192013,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":345236,"event":"job:stop","queue_time":428478,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:05:41.511 [info] {"args":{"id":208},"id":2187177,"meta":{},"system_time":1776258341511215988,"max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 13:05:41.511 [debug] QUERY OK source="sources" db=0.3ms idle=658.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" = ?) [208] 13:05:41.512 [info] {"args":{"id":187},"id":2192014,"meta":{},"system_time":1776258341512335826,"max_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:05:41.512 [debug] QUERY OK source="settings" db=0.5ms idle=653.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:05:41.513 [debug] QUERY OK source="sources" db=0.4ms idle=9.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [187] 13:05:41.513 [debug] QUERY OK source="media_items" db=0.6ms idle=1.5ms SELECT count(*) FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [208] 13:05:41.513 [debug] QUERY OK source="media_items" db=0.1ms idle=1.2ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [208] 13:05:41.513 [debug] QUERY OK source="settings" db=0.4ms 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 [] 13:05:41.514 [debug] QUERY OK source="media_profiles" db=0.3ms 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" = ?) [2] 13:05:41.514 [debug] QUERY OK source="media_profiles" db=0.4ms 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" = ?) [2] 13:05:41.515 [debug] QUERY OK source="settings" db=0.3ms 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 [] 13:05:41.515 [debug] QUERY OK source="settings" db=0.4ms 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 [] 13:05:41.515 [debug] Fetching recent media IDs from YouTube API for playlist: UUigbBPzo9jjMgdG_CcnzJhQ 13:05:41.515 [debug] QUERY OK source="settings" db=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 [] 13:05:41.515 [debug] QUERY OK source="settings" db=0.3ms 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 [] 13:05:41.515 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 13:05:41.517 [debug] QUERY OK source="media_items" db=0.6ms idle=1.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" = ?) ORDER BY m0."uploaded_at" DESC LIMIT 50 OFFSET 20 [208] 13:05:41.518 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 13:05:41.518 [debug] Current batch of media processed. Will check again in 1000ms 13:05:41.518 [debug] QUERY OK source="settings" db=0.1ms idle=3.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:05:41.518 [debug] QUERY OK source="settings" db=0.1ms idle=3.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:05:41.519 [debug] QUERY OK source="settings" db=0.1ms idle=3.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:05:41.519 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@Dal_podcast/shorts --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/shorts/بودكاست دال/بودكاست دال - %(upload_date>%Y-%m-%d)S - [%(id)S].%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --break-on-existing --download-archive /tmp/pinchflat/data/59/b4/59b4af316fea4fd56069b8fb386abc2f68021f54da1cc174dce0a6d4b21d5ca3.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/db/eb/dbebac77565c4dd5caa3a8eb502e57c2606385e26095dae8b5a8f45560be9e57.json --sleep-requests 5 --sleep-interval 4 --sleep-subtitles 5 --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:05:41.819 [debug] QUERY OK source="media_items" db=1.2ms idle=301.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [187, "GWvaTlVbPNs", "84qfh3sRUAM", "ZlQo0Wg0kXE", "0ItF-y4uWew", "kyLG-9ClFFQ", "9Ci4G3TKIlw", "Ah2q5T91oBg", "G1SE0NM-Tbg", "cXLEVcF0DIU", "b5XQ9YhBNJg", "9_mnZd-1qAU", "yE3KKPh9vAk", "VQHaBfC_nWM", "hySWP5Xgqt0", "JlzRUtS79yc", "4Yup64cv6PU", "KDP--RC8T7c", "OlUBw4nrNvk", "kkTQeftsc1c", "jxsIjZJ3P3s", "CtK09-qlSxs", "pf9Rs02F65k", "rg5D_0SVYFs", "kl5PxYGHuTU", "eK4-7gVRdew", "j3ufeFuHN6Q", "fiVtSvdBv-8", "tN32kgkT0a4", "qkIvBGnVwSo", "UDsmYWUHvUE", "VegutkNwCEc", "H2LypidNEJk", "Rwfrdq2bCMc", "ueJbWMXwBKA", "cgJq4MyGTNY", "FBXo_CjG-5o", "0Xesauk55io", "pkb7MavLwuI", "RR5IHrnvHQE", "zHzrDgTVgmc", "2avyAUueWYE", "0WAVmj-UtIM", "VM5JWhfmf8c", "BGk1eSr6IUE", "T-oT349yB0U", "fB4Ex_Hw0pk", "CV2GjlGSxz4", "zPHZ2dRA7cg", "8Z3929e1YW4", ...] 13:05:41.821 [debug] QUERY OK source="media_items" db=1.2ms idle=303.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")))) [187] 13:05:41.823 [debug] QUERY OK source="tasks" db=0.1ms idle=304.0ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2192050, 187, ~U[2026-04-15 13:05:41Z], ~U[2026-04-15 13:05:41Z]] 13:05:41.823 [info] {"args":{"id":187},"id":2192014,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":311071,"event":"job:stop","queue_time":491173,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:05:42.493 [info] {"source":"oban","duration":17731,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:05:42.511 [info] {"args":{"id":424},"id":2192015,"meta":{},"system_time":1776258342510981171,"max_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:05:42.511 [debug] QUERY OK source="sources" db=0.2ms idle=687.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" = ?) [424] 13:05:42.512 [debug] QUERY OK source="settings" db=0.2ms idle=681.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:05:42.512 [debug] QUERY OK source="media_profiles" db=0.7ms idle=18.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" = ?) [2] 13:05:42.513 [debug] QUERY OK source="settings" db=0.2ms idle=8.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:05:42.513 [debug] Fetching recent media IDs from YouTube API for playlist: UUduD22OSc9f98Fg4NuJHU3Q 13:05:42.513 [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 [] 13:05:42.513 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 13:05:42.519 [debug] Current batch of media processed. Will check again in 1000ms 13:05:42.898 [debug] QUERY OK source="media_items" db=1.2ms idle=385.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [424, "l-KXAJueeE4", "z6yloe8BVaU", "dZox-F9NY6Y", "Jzdco7kmG84", "PpT5cwX2J2k", "Wizm3xaYchc", "aGi5SNIySXE", "rO9X83U-9bE", "bpQK-NitpVg", "EMyelTKShBo", "c8_G0jFr5NQ", "aJCZzjOOv6g", "X7CxcWOcoUA", "_Urj9iKo5H4", "iXa5pmY_VCg", "gMWyJcoFnVY", "fz2LHk9pSdk", "Rs2ZZgrYK58", "L5Mjxge1yY0", "MpZ-VKedx7A", "zxIif2RJm38", "pf858AX4_U8", "MRMScf-DsO4", "0ftbeL6Y7qU", "qsiKWRrehzQ", "mkjwjTgdMmM", "Fo90Bdg8rNo", "aXG1UPQQofQ", "rTs81amP49Y", "fGSjULrPsx8", "toFpR-wyjfk", "9ElrpAc6_Bw", "l_mOZIne88k", "pHZAnjB8bws", "2m_Uh7xhQGo", "5h5ATFJs09U", "xgVOq6Bfn8A", "2grmoSe0Zrk", "kLWNObhY_tU", "JR2UuHcQH7w", "H_VB0gHAPMo", "tp5TYhBYYCg", "BZF41PXtYmU", "hVKtxCEwPvY", "9_a8vaqhvSY", "V4VJjvZQ_gY", "t4nG1fjFzng", "_ESHmhwSGro", "fhwAZIJtpCM", ...] 13:05:42.905 [debug] QUERY OK source="media_items" db=5.9ms idle=387.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")))) [424] 13:05:42.907 [debug] QUERY OK source="tasks" db=0.2ms idle=393.6ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2192051, 424, ~U[2026-04-15 13:05:42Z], ~U[2026-04-15 13:05:42Z]] 13:05:42.908 [info] {"args":{"id":424},"id":2192015,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":396798,"event":"job:stop","queue_time":311646,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:05:43.520 [debug] Current batch of media processed. Will check again in 1000ms 13:05:44.521 [debug] Current batch of media processed. Will check again in 1000ms 13:05:45.522 [debug] Current batch of media processed. Will check again in 1000ms 13:05:46.517 [info] {"args":{"id":402},"id":2192016,"meta":{},"system_time":1776258346517142802,"max_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:05:46.517 [debug] QUERY OK source="sources" db=0.2ms idle=507.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" = ?) [402] 13:05:46.518 [debug] QUERY OK source="settings" db=0.2ms idle=507.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:05:46.518 [debug] QUERY OK source="media_profiles" db=0.3ms idle=508.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" = ?) [2] 13:05:46.519 [debug] QUERY OK source="settings" db=0.2ms idle=8.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:05:46.519 [debug] Fetching recent media IDs from YouTube API for playlist: UUv9CRhIdmLdRXwyqWLqT-1Q 13:05:46.519 [debug] QUERY OK source="settings" db=0.1ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:05:46.519 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 13:05:46.523 [debug] Current batch of media processed. Will check again in 1000ms 13:05:46.996 [debug] QUERY OK source="media_items" db=1.3ms idle=477.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [402, "3j4xjklMoo4", "gZqaauRhZhs", "JZsQt_4QXgI", "5loSCFTOEb4", "zaih20lw4bs", "SgGtBFbw1kI", "mcgcu1JuGao", "d2GSwD0Il-k", "LxOugY_w3q0", "QGf453DDz1g", "rdmAe2CIRcc", "cxorSoldV_k", "GYTHnZR2Id8", "rowYQBlqD-Y", "U7m925r48Jk", "Iz_79p_yVE0", "dVpdpoG9xZ8", "EW-EpQnW2rM", "Gu8aUxdMI18", "2kOrlz4Nw60", "KrLslSzReHE", "HCjDOBHpbuU", "yBoY59dq0o0", "l57SqLe4IjQ", "TtoNGT10GMQ", "CurEIX5egYY", "epLEnwmvneE", "wZmAnXwbbkM", "V4mfjEXo2jQ", "kvTUlZ4EtlM", "4DWJDctae_w", "bFIKDKTUjyU", "XXE0whBrOe8", "hb64fr-vXyM", "kBfJu4Lr9-g", "ahzLQawdLYU", "7Pw6MSgHz5A", "wZYqqWU3DoU", "E-ZcRNdvjoM", "JV_dskh0-ws", "koGDw3vHTKY", "JC3sGWRDdbs", "e5dO2XUalWY", "aDlVWlAjbV8", "Hq7-l88KNzY", "_GY3Or8ZgYY", "W354MKgc8AM", "X9MULCFLPyg", "psW2wmVYvDk", ...] 13:05:47.000 [debug] QUERY OK source="media_items" db=2.4ms idle=479.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")))) [402] 13:05:47.002 [debug] QUERY OK source="tasks" db=0.3ms idle=482.3ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2192052, 402, ~U[2026-04-15 13:05:47Z], ~U[2026-04-15 13:05:47Z]] 13:05:47.002 [info] {"args":{"id":402},"id":2192016,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":485231,"event":"job:stop","queue_time":377392,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:05:47.524 [debug] Current batch of media processed. Will check again in 1000ms 13:05:48.525 [debug] Current batch of media processed. Will check again in 1000ms 13:05:49.526 [debug] Current batch of media processed. Will check again in 1000ms 13:05:50.527 [debug] Current batch of media processed. Will check again in 1000ms 13:05:51.528 [debug] Current batch of media processed. Will check again in 1000ms 13:05:52.529 [debug] Current batch of media processed. Will check again in 1000ms 13:05:53.530 [debug] Current batch of media processed. Will check again in 1000ms 13:05:54.531 [debug] Current batch of media processed. Will check again in 1000ms 13:05:55.532 [debug] Current batch of media processed. Will check again in 1000ms 13:05:56.533 [debug] Current batch of media processed. Will check again in 1000ms 13:05:57.534 [debug] Current batch of media processed. Will check again in 1000ms 13:05:58.535 [debug] Current batch of media processed. Will check again in 1000ms 13:05:59.536 [debug] Current batch of media processed. Will check again in 1000ms 13:06:00.537 [debug] Current batch of media processed. Will check again in 1000ms 13:06:00.842 [info] {"source":"oban","duration":160,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:06:01.538 [debug] Current batch of media processed. Will check again in 1000ms 13:06:02.539 [debug] Current batch of media processed. Will check again in 1000ms 13:06:03.540 [debug] Current batch of media processed. Will check again in 1000ms 13:06:04.541 [debug] Current batch of media processed. Will check again in 1000ms 13:06:05.542 [debug] Current batch of media processed. Will check again in 1000ms 13:06:06.543 [debug] Current batch of media processed. Will check again in 1000ms 13:06:06.544 [info] {"args":{"id":163},"id":2192017,"meta":{},"system_time":1776258366544124156,"max_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:06:06.544 [debug] QUERY OK source="sources" db=0.3ms idle=534.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" = ?) [163] 13:06:06.545 [debug] QUERY OK source="settings" db=0.2ms idle=534.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:06:06.545 [debug] QUERY OK source="media_profiles" db=0.3ms idle=535.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 13:06:06.546 [debug] QUERY OK source="settings" db=0.2ms idle=8.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:06:06.546 [debug] Fetching recent media IDs from YouTube API for playlist: UU8vdjzu_0QMQlG9qNT5D_AQ 13:06:06.546 [debug] QUERY OK source="settings" db=0.1ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:06:06.546 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 13:06:06.797 [debug] QUERY OK source="media_items" db=1.3ms idle=251.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [163, "AK_QSHnLvjQ", "qALXsYRF_cA", "smnHpsqBLms", "yqdOCd-jdeo", "jyUJuJhWHrs", "ZNHoFwAGFrc", "1srAVSvVOOw", "uk2FISKK7QQ", "2z-ztPJXjEU", "7L1pepENKXA", "Sv6q_F6r4DE", "mFS_V5zGaxs", "1PGqhUa4Bfg", "wbvPGTnY4Z0", "yBBSNz1Ymyo", "E6dquEKdz_M", "zD4_JqiQ7jw", "O_ynHoWd-ys", "ZkugEqFIqY4", "CfTmDWiVEqM", "iPb2DidxP48", "RFemTGJfb3Y", "_Tr7gM3Hzno", "UuvWpHA9eJ0", "0iDqCo9U78I", "b9HbLgu65cw", "2nwaI54hM2A", "2nFeIrPbzvo", "U3JjHuSfiog", "HRl29tSwTSI", "dNiviYe_iGc", "JLn7iuFdKL8", "zZRg322MXkE", "rvNKslgk6yQ", "lxVw40xOmNE", "Xw_9uYceyWo", "bD9_5xiDj8w", "jpfUutCaORQ", "nmxVTzLORDg", "7O9V1yRt15g", "n0oX65icbt4", "ry8AAFQwO-U", "1KPAD3URrFA", "ii1XRwxo04M", "jg0TYRxxYzQ", "8zv1MiJNXIk", "Z2jE4A-T2BU", "Zo9g-Mr4UXo", "qs7A7WPpjVU", ...] 13:06:06.806 [debug] QUERY OK source="media_items" db=7.8ms idle=253.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")))) [163] 13:06:06.809 [debug] QUERY OK source="tasks" db=0.3ms idle=11.7ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2192053, 163, ~U[2026-04-15 13:06:06Z], ~U[2026-04-15 13:06:06Z]] 13:06:06.810 [info] {"args":{"id":163},"id":2192017,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":265489,"event":"job:stop","queue_time":968198,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:06:07.544 [debug] Current batch of media processed. Will check again in 1000ms 13:06:08.545 [debug] Current batch of media processed. Will check again in 1000ms 13:06:09.546 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "", "duration" => 44, "filename" => "/downloads/shorts/بودكاست دال/بودكاست دال - 2025-01-11 - [sKCcN-7RgZs].mp4", "id" => "sKCcN-7RgZs", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/sKCcN-7RgZs", "playlist_index" => 1, "timestamp" => 1736605645, "title" => "❌/الروائح المزعجة في العيادات كانت منتشرة سابقاً- اما الان", "upload_date" => "20250111"} 13:06:09.547 [debug] QUERY OK source="sources" db=0.3ms idle=1536.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" IN (?)) [208] 13:06:09.547 [debug] QUERY OK source="sources" db=0.2ms idle=1537.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" = ?) [208] 13:06:09.548 [debug] QUERY OK source="media_items" db=0.2ms idle=1537.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-01-11 14:27:25Z], 208] 13:06:09.549 [debug] QUERY OK source="media_items" db=0.6ms idle=1008.2ms INSERT INTO "media_items" AS m0 ("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) 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" ["❌/الروائح المزعجة في العيادات كانت منتشرة سابقاً- اما الان", "4f3901bb-e888-49c4-9d5f-1e917d4bed4e", 44, false, "sKCcN-7RgZs", "https://www.youtube.com/shorts/sKCcN-7RgZs", 1, "/downloads/shorts/بودكاست دال/بودكاست دال - 2025-01-11 - [sKCcN-7RgZs].mp4", false, false, true, 208, [], 98, ~U[2025-01-11 14:27:25Z], ~U[2026-04-15 13:06:09Z], ~U[2026-04-15 13:06:09Z], "", "❌/الروائح المزعجة في العيادات كانت منتشرة سابقاً- اما الان", 44, false, "sKCcN-7RgZs", "https://www.youtube.com/shorts/sKCcN-7RgZs", "/downloads/shorts/بودكاست دال/بودكاست دال - 2025-01-11 - [sKCcN-7RgZs].mp4", true, 208, ~U[2025-01-11 14:27:25Z]] 13:06:09.549 [debug] QUERY OK source="sources" db=0.2ms idle=8.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [208] 13:06:09.550 [debug] QUERY OK source="media_profiles" db=0.3ms 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" = ?) [2] 13:06:09.550 [debug] QUERY OK source="media_items" db=0.4ms idle=2.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [3919995] 13:06:09.550 [debug] Current batch of media processed. Will check again in 1000ms 13:06:10.551 [debug] Current batch of media processed. Will check again in 1000ms 13:06:11.552 [debug] Current batch of media processed. Will check again in 1000ms 13:06:12.512 [info] {"source":"oban","duration":17351,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:06:12.553 [debug] Current batch of media processed. Will check again in 1000ms 13:06:13.554 [debug] Current batch of media processed. Will check again in 1000ms 13:06:14.189 [info] GET /sources/192/media/4271015 13:06:14.189 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "4271015", "prevent_download" => "true", "source_id" => "192"} Pipelines: [:browser] 13:06:14.190 [debug] QUERY OK source="media_items" db=0.2ms idle=1179.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" = ?) [4271015] 13:06:14.190 [debug] QUERY OK source="tasks" db=0.2ms idle=1180.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" [4271015] 13:06:14.191 [debug] QUERY OK source="sources" db=0.4ms idle=1180.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" = ?) [192] 13:06:14.191 [debug] QUERY OK source="settings" db=0.1ms idle=645.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:06:14.191 [debug] QUERY OK source="settings" db=0.1ms idle=181.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:06:14.192 [debug] QUERY OK source="settings" db=0.1ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:06:14.193 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:06:14.194 [info] Sent 200 in 5ms 13:06:14.555 [debug] Current batch of media processed. Will check again in 1000ms 13:06:15.556 [debug] Current batch of media processed. Will check again in 1000ms 13:06:16.557 [debug] Current batch of media processed. Will check again in 1000ms 13:06:17.558 [debug] Current batch of media processed. Will check again in 1000ms 13:06:18.559 [debug] Current batch of media processed. Will check again in 1000ms 13:06:19.560 [debug] Current batch of media processed. Will check again in 1000ms 13:06:20.561 [debug] Current batch of media processed. Will check again in 1000ms 13:06:21.562 [debug] Current batch of media processed. Will check again in 1000ms 13:06:22.563 [debug] Current batch of media processed. Will check again in 1000ms 13:06:23.564 [debug] Current batch of media processed. Will check again in 1000ms 13:06:23.564 [info] {"args":{"id":391},"id":2192019,"meta":{},"system_time":1776258383564194259,"max_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:06:23.564 [debug] QUERY OK source="sources" db=0.3ms idle=1554.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" = ?) [391] 13:06:23.565 [debug] QUERY OK source="settings" db=0.2ms idle=1554.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:06:23.565 [debug] QUERY OK source="media_profiles" db=0.2ms idle=1009.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" = ?) [2] 13:06:23.566 [debug] QUERY OK source="settings" db=0.8ms idle=8.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:06:23.566 [debug] Fetching recent media IDs from YouTube API for playlist: UUqeCtPANEJ9yBQlEDmls7-g 13:06:23.567 [debug] QUERY OK source="settings" db=0.1ms idle=2.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:06:23.567 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 13:06:23.945 [debug] QUERY OK source="media_items" db=1.2ms idle=379.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [391, "fFGYg9Gv-PI", "Nz-IM8VFixQ", "CqBny6zVHgo", "gq4b-6y6fjg", "msNdXd-oH0g", "lKxykq3G-A0", "VUAkGy6N4AE", "YqObusJsgS8", "zm6eC_ly39Y", "9yEs_PiP91Y", "4FXTLipWWwo", "oS5oki_lq9U", "bFoaCNYCRJc", "_aMlBzxNdjs", "2ixudzh0OLs", "ABE_3uUXV5g", "PmdbLY-aHHQ", "2Nf3W31ARvI", "UzMQ9VNE9X4", "2BzFKxLtM5g", "k0BcDAp202Y", "AS8ZpSFzevg", "2lmcFhQukbI", "LBgXoEFhEZU", "ampWD1a4UJ8", "GwW4gaxsZ30", "Nt2W_LcRvHY", "A3owMXjvxow", "3mc8IV3hQcc", "5cFgzLZrLAQ", "p1NjYE-fBlI", "jvehHAuvLxw", "OyQUOPxRn38", "5uv3uK7cGgY", "jPQSSVZM7Rg", "rNu1K9oLo34", "0W-Y07_EURc", "L86F24V6J4Y", "0Mw6vu_ccZo", "mvnx10KZs2U", "KwtY240O9FE", "LihDSBkbZmQ", "2NSTkXZrUrU", "TQQqCfeebXs", "7l1F7EUEjiM", "_2vatrsVUxw", "c2wPUyxwoV4", "s_XgXgOzizM", "czocgai2km4", ...] 13:06:23.949 [debug] QUERY OK source="media_items" db=2.9ms idle=381.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")))) [391] 13:06:23.951 [debug] QUERY OK source="tasks" db=0.4ms idle=384.0ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2192054, 391, ~U[2026-04-15 13:06:23Z], ~U[2026-04-15 13:06:23Z]] 13:06:23.952 [info] {"args":{"id":391},"id":2192019,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":387737,"event":"job:stop","queue_time":413502,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:06:24.565 [debug] Current batch of media processed. Will check again in 1000ms 13:06:25.566 [debug] Current batch of media processed. Will check again in 1000ms 13:06:26.567 [debug] Current batch of media processed. Will check again in 1000ms 13:06:27.568 [debug] Current batch of media processed. Will check again in 1000ms 13:06:28.569 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "", "duration" => 36, "filename" => "/downloads/shorts/بودكاست دال/بودكاست دال - 2025-01-07 - [zdy886nW9UM].mp4", "id" => "zdy886nW9UM", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/zdy886nW9UM", "playlist_index" => 2, "timestamp" => 1736227743, "title" => "قصة مراجع فرنسي 🇫🇷", "upload_date" => "20250107"} 13:06:28.569 [debug] QUERY OK source="sources" db=0.1ms idle=1559.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" IN (?)) [208] 13:06:28.570 [debug] QUERY OK source="sources" db=0.1ms idle=1559.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" = ?) [208] 13:06:28.570 [debug] QUERY OK source="media_items" db=0.2ms idle=1560.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-01-07 05:29:03Z], 208] 13:06:28.571 [debug] QUERY OK source="media_items" db=0.5ms idle=1006.7ms INSERT INTO "media_items" AS m0 ("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) 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" ["قصة مراجع فرنسي 🇫🇷", "f26d075f-64b2-41fd-8f11-ba556046212f", 36, false, "zdy886nW9UM", "https://www.youtube.com/shorts/zdy886nW9UM", 2, "/downloads/shorts/بودكاست دال/بودكاست دال - 2025-01-07 - [zdy886nW9UM].mp4", false, false, true, 208, [], 98, ~U[2025-01-07 05:29:03Z], ~U[2026-04-15 13:06:28Z], ~U[2026-04-15 13:06:28Z], "", "قصة مراجع فرنسي 🇫🇷", 36, false, "zdy886nW9UM", "https://www.youtube.com/shorts/zdy886nW9UM", "/downloads/shorts/بودكاست دال/بودكاست دال - 2025-01-07 - [zdy886nW9UM].mp4", true, 208, ~U[2025-01-07 05:29:03Z]] 13:06:28.572 [debug] QUERY OK source="sources" db=0.3ms idle=5.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [208] 13:06:28.572 [debug] QUERY OK source="media_profiles" db=0.2ms 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" = ?) [2] 13:06:28.573 [debug] QUERY OK source="media_items" db=0.3ms idle=2.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [3892148] 13:06:28.573 [debug] Current batch of media processed. Will check again in 1000ms 13:06:29.574 [debug] Current batch of media processed. Will check again in 1000ms 13:06:30.575 [debug] Current batch of media processed. Will check again in 1000ms 13:06:31.576 [debug] Current batch of media processed. Will check again in 1000ms 13:06:32.577 [debug] Current batch of media processed. Will check again in 1000ms 13:06:33.578 [debug] Current batch of media processed. Will check again in 1000ms 13:06:34.579 [debug] Current batch of media processed. Will check again in 1000ms 13:06:35.580 [debug] Current batch of media processed. Will check again in 1000ms 13:06:36.581 [debug] Current batch of media processed. Will check again in 1000ms 13:06:37.582 [debug] Current batch of media processed. Will check again in 1000ms 13:06:38.583 [debug] Current batch of media processed. Will check again in 1000ms 13:06:39.584 [debug] Current batch of media processed. Will check again in 1000ms 13:06:40.585 [debug] Current batch of media processed. Will check again in 1000ms 13:06:41.586 [debug] Current batch of media processed. Will check again in 1000ms 13:06:42.531 [info] {"source":"oban","duration":17885,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:06:42.587 [debug] Current batch of media processed. Will check again in 1000ms 13:06:43.588 [debug] Current batch of media processed. Will check again in 1000ms 13:06:44.589 [debug] Current batch of media processed. Will check again in 1000ms 13:06:45.590 [debug] Current batch of media processed. Will check again in 1000ms 13:06:46.591 [debug] Current batch of media processed. Will check again in 1000ms 13:06:46.934 [info] GET /sources/352/media/3430788 13:06:46.934 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "3430788", "prevent_download" => "true", "source_id" => "352"} Pipelines: [:browser] 13:06:46.935 [debug] QUERY OK source="media_items" db=0.2ms idle=924.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" = ?) [3430788] 13:06:46.935 [debug] QUERY OK source="tasks" db=0.1ms idle=925.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" [3430788] 13:06:46.936 [debug] QUERY OK source="sources" db=0.3ms idle=925.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" = ?) [352] 13:06:46.936 [debug] QUERY OK source="settings" db=0.1ms idle=926.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:06:46.937 [debug] QUERY OK source="settings" db=0.1ms idle=350.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:06:46.937 [debug] QUERY OK source="settings" db=0.1ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:06:46.938 [debug] QUERY OK source="media_profiles" db=0.2ms idle=2.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:06:46.940 [info] Sent 200 in 5ms 13:06:47.592 [debug] Current batch of media processed. Will check again in 1000ms 13:06:48.593 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "", "duration" => 42, "filename" => "/downloads/shorts/بودكاست دال/بودكاست دال - 2024-10-09 - [lq-WvALktH8].mp4", "id" => "lq-WvALktH8", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/lq-WvALktH8", "playlist_index" => 3, "timestamp" => 1728471160, "title" => "هل تجد صعوبة في الاستمرار؟", "upload_date" => "20241009"} 13:06:48.593 [debug] QUERY OK source="sources" db=0.2ms idle=583.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" IN (?)) [208] 13:06:48.594 [debug] QUERY OK source="sources" db=0.1ms idle=583.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" = ?) [208] 13:06:48.594 [debug] QUERY OK source="media_items" db=0.2ms idle=584.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-10-09 10:52:40Z], 208] 13:06:48.595 [debug] QUERY OK source="media_items" db=0.5ms idle=584.8ms INSERT INTO "media_items" AS m0 ("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) 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" ["هل تجد صعوبة في الاستمرار؟", "0742757b-a960-40a3-8667-4099791a3dfd", 42, false, "lq-WvALktH8", "https://www.youtube.com/shorts/lq-WvALktH8", 3, "/downloads/shorts/بودكاست دال/بودكاست دال - 2024-10-09 - [lq-WvALktH8].mp4", false, false, true, 208, [], 97, ~U[2024-10-09 10:52:40Z], ~U[2026-04-15 13:06:48Z], ~U[2026-04-15 13:06:48Z], "", "هل تجد صعوبة في الاستمرار؟", 42, false, "lq-WvALktH8", "https://www.youtube.com/shorts/lq-WvALktH8", "/downloads/shorts/بودكاست دال/بودكاست دال - 2024-10-09 - [lq-WvALktH8].mp4", true, 208, ~U[2024-10-09 10:52:40Z]] 13:06:48.596 [debug] QUERY OK source="sources" db=0.3ms idle=8.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [208] 13:06:48.596 [debug] QUERY OK source="media_profiles" db=0.2ms 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" = ?) [2] 13:06:48.597 [debug] QUERY OK source="media_items" db=0.3ms idle=2.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [518084] 13:06:48.597 [debug] Current batch of media processed. Will check again in 1000ms 13:06:49.598 [debug] Current batch of media processed. Will check again in 1000ms 13:06:50.599 [debug] Current batch of media processed. Will check again in 1000ms 13:06:51.600 [debug] Current batch of media processed. Will check again in 1000ms 13:06:52.601 [debug] Current batch of media processed. Will check again in 1000ms 13:06:53.602 [debug] Current batch of media processed. Will check again in 1000ms 13:06:54.603 [debug] Current batch of media processed. Will check again in 1000ms 13:06:55.604 [debug] Current batch of media processed. Will check again in 1000ms 13:06:56.605 [debug] Current batch of media processed. Will check again in 1000ms 13:06:57.606 [debug] Current batch of media processed. Will check again in 1000ms 13:06:58.607 [debug] Current batch of media processed. Will check again in 1000ms 13:06:59.606 [info] {"args":{"id":443},"id":2192020,"meta":{},"system_time":1776258419606138447,"max_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:06:59.606 [debug] QUERY OK source="sources" db=0.3ms idle=1596.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" = ?) [443] 13:06:59.607 [debug] QUERY OK source="settings" db=0.2ms idle=1596.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:06:59.608 [debug] Current batch of media processed. Will check again in 1000ms 13:06:59.608 [debug] QUERY OK source="media_profiles" db=0.8ms idle=1009.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" = ?) [2] 13:06:59.608 [debug] QUERY OK source="settings" db=0.2ms idle=9.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:06:59.608 [debug] Fetching recent media IDs from YouTube API for playlist: UUokgtRLAWKNPdfFMaSfLLbA 13:06:59.609 [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:06:59.609 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 13:07:00.607 [info] {"args":{"id":546},"id":2192021,"meta":{},"system_time":1776258420607884700,"max_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:07:00.608 [debug] QUERY OK source="sources" db=0.1ms idle=999.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [546] 13:07:00.608 [debug] QUERY OK source="settings" db=0.1ms idle=999.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:07:00.609 [debug] Current batch of media processed. Will check again in 1000ms 13:07:00.609 [debug] QUERY OK source="media_profiles" db=0.2ms idle=999.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" = ?) [2] 13:07:00.609 [debug] QUERY OK source="settings" db=0.2ms idle=8.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:07:00.609 [debug] Fetching recent media IDs from YouTube API for playlist: UU452L96EaYLzAYTPAiRxKdA 13:07:00.610 [debug] QUERY OK source="settings" db=0.1ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:07:00.610 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 13:07:00.843 [info] {"source":"oban","duration":111,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:07:01.610 [debug] Current batch of media processed. Will check again in 1000ms 13:07:02.611 [debug] Current batch of media processed. Will check again in 1000ms 13:07:03.612 [debug] Current batch of media processed. Will check again in 1000ms 13:07:04.264 [debug] QUERY OK source="media_items" db=0.9ms idle=655.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [443, "oD-QZSfOI5A", "2soSOj0KGN0", "nAbiXWcpC5k", "J6kw_Nka17Y", "e2IoGqWTX8s", "dtlPPLkCuG8", "ccc4EZfwyqg", "ZmemsVJRu3Q", "gVuzK2MUOy4", "jhtGF0DU-Us", "tdPeRTfPFug", "mYofjcnyeZM", "0tqpzvckxgU", "wp_lVw_Oemk", "_MQ322eFiM0", "PmpzFSPZmcU", "AZayZGnlOoc", "BDtCrgf6F6g", "e_3gcTBQa78", "TG58k-2U2wg", "Yf_zge2tHiw", "F7NHQ1rTVBw", "AZdFVvLhnbM", "1FJr-Rvlzfo", "-Uwz227DOXg", "xxBXGpIGDaU", "hZ4RSjsanf4", "CWuLASH1Hhg", "kxgmWGaaTSE", "p1mr39aRY1Q", "pFt6iqIug-E", "9n541lBjlso", "H8K-OVUzBP8", "UXtrfCEOPH0", "Tq6kuWhxY3k", "4sprHamH6sc", "wFO9Uo-aJJg", "M2goEYlN7wk", "6BH-hprkaBQ", "ZaVNjCXFcaQ", "__hPb3e-FK4", "Jxlr2hKwrys", "A6eWc8_bZtg", "ttgiRMWbm_s", "ENWcWveBkno", "8SU8mWL61Ek", "tcRaHb7HmAA", "o0aTw6Mv7lQ", "bbiAmRgZS1I", ...] 13:07:04.267 [debug] QUERY OK source="media_items" db=2.4ms idle=255.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")))) [443] 13:07:04.269 [debug] QUERY OK source="tasks" db=0.2ms idle=259.1ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2192055, 443, ~U[2026-04-15 13:07:04Z], ~U[2026-04-15 13:07:04Z]] 13:07:04.270 [info] {"args":{"id":443},"id":2192020,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":4663601,"event":"job:stop","queue_time":195042,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:07:04.276 [info] {"args":{"id":408},"id":2192022,"meta":{},"system_time":1776258424276779738,"max_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:07:04.277 [debug] QUERY OK source="sources" db=0.3ms 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" FROM "sources" AS s0 WHERE (s0."id" = ?) [408] 13:07:04.277 [debug] QUERY OK source="settings" db=0.2ms idle=8.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:07:04.278 [debug] QUERY OK source="media_profiles" db=0.2ms idle=8.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 13:07:04.278 [debug] QUERY OK source="settings" db=0.2ms idle=8.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:07:04.278 [debug] Fetching recent media IDs from YouTube API for playlist: UUN1b55nEWSpUH4dkJDbu24A 13:07:04.279 [debug] QUERY OK source="settings" db=0.1ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:07:04.279 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 13:07:04.613 [debug] Current batch of media processed. Will check again in 1000ms 13:07:04.768 [debug] QUERY OK source="media_items" db=1.2ms idle=489.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [546, "0d-Eo3MZIdo", "BH4YCJqDYlA", "_w6Dd9BP0C0", "euW7khacvEo", "WgBJZ1Ubsg0", "oE0vCmcN28s", "_mzQ8upmuMY", "1ypIFJz3jJw", "4ru4RjSiB98", "uMOtAsS4J3s", "Lt2M-jITUTg", "VVPOeq8vXtE", "U3zq72vSJog", "a947nJ7-Lvo", "U33HbFNz36o", "-wREg8baf4o", "f3AaiD26a6E", "cqxY60ckd9A", "o2kjrw3-kw8", "ekvQ83S0DAw", "D_Aw3z4ylsQ", "t7PTzeBUNeQ", "SeoEbrN765M", "lylZY9I_56U", "SH8Lz4NVxTc", "xX64EASCs8M", "PKrKsVzBbII", "wqU5gyoow7M", "eretrY5pnxQ", "SA0-0otEkfc", "pYj3D7t1QFk", "e8sKRE9Yt9U", "1ctTT71N7Ns", "19xtndufa6A", "WNLkyQFf4pM", "rqxHc4SgmUk", "21K3bNCgS-U", "-ybA8ZTcqcU", "gxZJ9yJjg_4", "CBk6n38J9bg", "oh5f3m8vsrs", "hMemXKyyX1o", "0sLgTRmSxII", "QDiGH9BiMwQ", "iAD8eVw6fSw", "VMCnDLDWz3A", "qivkxMSnNZc", "teq8bduREw8", "WC_DtGlrP-A", ...] 13:07:04.774 [debug] QUERY OK source="media_items" db=4.5ms idle=491.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [546] 13:07:04.776 [debug] QUERY OK source="tasks" db=0.3ms idle=166.6ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2192056, 546, ~U[2026-04-15 13:07:04Z], ~U[2026-04-15 13:07:04Z]] 13:07:04.776 [info] {"args":{"id":546},"id":2192021,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":4168504,"event":"job:stop","queue_time":771187,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:07:04.784 [info] {"args":{"id":256},"id":2192023,"meta":{},"system_time":1776258424784242901,"max_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:07:04.784 [debug] QUERY OK source="sources" db=0.3ms idle=8.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [256] 13:07:04.785 [debug] QUERY OK source="settings" db=0.3ms idle=9.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:07:04.786 [debug] QUERY OK source="media_profiles" db=0.2ms idle=9.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 13:07:04.786 [debug] QUERY OK source="settings" db=0.2ms idle=9.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:07:04.786 [debug] Fetching recent media IDs from YouTube API for playlist: UUKjuhDegX8XdpWCr6nvNHzA 13:07:04.786 [debug] QUERY OK source="settings" db=0.1ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:07:04.786 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 13:07:05.018 [debug] QUERY OK source="media_items" db=1.1ms 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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [408, "60snLY1vA0E", "8pAhbBu7gEQ", "HdrrxdODQAA", "xKT3ecAfmFA", "YZO95dUHz3c", "Mp74vJFHTXM", "kJHttBFZxF0", "DmR_cT-8-hc", "SF2w4WoIFiM", "q_i5Q_JuqV8", "Ndx_mqpAlLE", "Ig5moNWc6Vg", "Kk40lncizgI", "ZcCyOkXZVjM", "c5LyWHDR8T8", "hMlhSujkKkk", "HSjwF2XIJdw", "_G5Eiyr8Qlo", "v7-lX7mNJ68", "HudMuosHMlo", "GKFSWYSGAoc", "svWkISzIjE4", "GrL4eRQxzcY", "1k3BfSt7mFI", "iyQOowSy4A8", "_wBp4fwp64E", "UcnxU-Nvp5o", "IKICkr0QDOg", "UKwdbZm6vWI", "95n7T6LSGTY", "x44wBLwVhQM", "NFTaRxu7pug", "a7SCBCJ4XIs", "BRFviE90sMY", "MgkuBaYfHLs", "KlJXxAtvjK0", "Wn-63J_jbSA", "dXXm7I0L8Dg", "kPnJgT8MklY", "vxA2Q_mrji4", "m-5OapnOgFM", "akPHdyMUl5M", "Zt6xVHfqseQ", "mk6FncB9cAA", "sbdzFS0t1zg", "BbTzZQTIwwg", "SZrqUGh_TbQ", "TXZpfFC90NQ", "SKo3F9Mr8ac", ...] 13:07:05.020 [debug] QUERY OK source="media_items" db=0.5ms idle=233.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")))) [408] 13:07:05.021 [debug] QUERY OK source="tasks" db=0.3ms idle=234.4ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2192057, 408, ~U[2026-04-15 13:07:05Z], ~U[2026-04-15 13:07:05Z]] 13:07:05.022 [info] {"args":{"id":408},"id":2192022,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":745028,"event":"job:stop","queue_time":4155873,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:07:05.029 [info] {"args":{"id":176},"id":2192024,"meta":{},"system_time":1776258425029225098,"max_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:07:05.029 [debug] QUERY OK source="sources" db=0.3ms idle=8.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [176] 13:07:05.030 [debug] QUERY OK source="settings" db=0.2ms idle=8.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:07:05.030 [debug] QUERY OK source="media_profiles" db=0.3ms idle=8.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 13:07:05.031 [debug] QUERY OK source="settings" db=0.2ms idle=8.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:07:05.031 [debug] Fetching recent media IDs from YouTube API for playlist: UU6F-j9LyXIK_zXY0gbYRjog 13:07:05.031 [debug] QUERY OK source="settings" db=0.1ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:07:05.031 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 13:07:05.369 [debug] QUERY OK source="media_items" db=1.1ms idle=338.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [256, "DWUkU2XDaoQ", "bVd27otzkEo", "F401cxKw1uU", "V87j3RfYskI", "RTSIfcIPHZ4", "r-6bh8Odx3k", "iEMNXXVqx7k", "2oeIvbhGdss", "sqk9bSoEIi0", "tw7_JSncn18", "Wyve63135Fk", "xOlkugUCHIQ", "ZOg-UTcOWUI", "tEwCDo5sX-g", "fJMNv2rp3Ws", "_TsErXjEPo0", "aRzn7h73ScM", "foX-0CXMqzc", "OrIJDRZ5yck", "vIY1jM73Wv8", "wk0VqC_Dp3U", "6CT5F2T1kuk", "WHEKWr_ikX0", "Nku_tw_1kfE", "x0x_PkTgmTY", "yd3ttzfK_d8", "qrLjOFq4CXQ", "TQOZbpfSpxY", "2KcmeqRBAe0", "RZ7eKXOcDZA", "fyLOfjJj4cU", "-tkxtoUZNb0", "0dLV8wNyw-k", "59Gjb5NFDVQ", "Txw1JLPYcmY", "H5BLR4XliT0", "g43xxBSEsWk", "ZBSrSI_ZUgc", "PI6qDflxIQg", "wHPDU9EoILs", "3QbyJoTM7VY", "PFckr4gh1BA", "qvU1PKff_sM", "sJzJsaWL88U", "gY9uPzofHhk", "uRXFS29DGLM", "RvxT0XEbgAg", "N3SukH8PqzM", "9hfJK_HQqho", ...] 13:07:05.371 [debug] QUERY OK source="media_items" db=1.2ms idle=340.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")))) [256] 13:07:05.374 [debug] QUERY OK source="tasks" db=0.3ms idle=4.8ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2192058, 256, ~U[2026-04-15 13:07:05Z], ~U[2026-04-15 13:07:05Z]] 13:07:05.374 [info] {"args":{"id":256},"id":2192023,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":590239,"event":"job:stop","queue_time":4310930,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:07:05.382 [info] {"args":{"id":548},"id":2192025,"meta":{},"system_time":1776258425382015752,"max_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:07:05.382 [debug] QUERY OK source="sources" db=0.3ms idle=8.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [548] 13:07:05.383 [debug] QUERY OK source="settings" db=0.2ms idle=8.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:07:05.383 [debug] QUERY OK source="media_profiles" db=0.2ms idle=8.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 13:07:05.384 [debug] QUERY OK source="settings" db=0.2ms idle=8.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:07:05.384 [debug] Fetching recent media IDs from YouTube API for playlist: UUKIe0D8roD7OIY6GUZey4kA 13:07:05.384 [debug] QUERY OK source="settings" db=0.1ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:07:05.384 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 13:07:05.599 [debug] QUERY OK source="media_items" db=1.1ms idle=215.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [176, "VrP9i5gRFmM", "WEoJyqjOLDs", "V3MNyEwmqr8", "qhNxSY35WZU", "rkb-6qjO3YM", "r_NzVN4OmIs", "YTpf0mOXNrI", "oNyFz82BVzY", "rK_Mp0leQUk", "rOIPOkqFo4o", "s-yFsryoeeA", "vHIVeqvO4aQ", "knyKlUZIwYQ", "irSIienUQd4", "eM9SB2Ny8lc", "vqZ6zySlGOU", "UdkGF_z3Aks", "ZPeBeS87EeI", "s7Ajz6YL2ZE", "rWmx74av4x4", "tNXj29ZS0VY", "oISdxagKMBI", "RVo_ar7OSDk", "dFcdYCKkc3Q", "jJmOjPGDdHQ", "uNFmnch6DkU", "agDEZAVDYAU", "I-sJTe9u0j4", "v8e_tW3NX0Y", "qGe25_jFNQ0", "0pMIwYMKE9w", "5ZYWspIqYLw", "vHH0LheJQFs", "VFlYnIQiIUo", "xQtI8cE7Igc", "cDH4cPa7XJM", "6F93shePog0", "Vn0A4aUTSbY", "yU0CccqqaX0", "tEEfMkbYfUY", "8DRBW9BERJM", "Mo6Z427HkdA", "C_hN-U1qgUo", "ACz-TF_Ln-w", "EvO9y5iGN-U", "tqH-9fmPdI0", "DnW4gL41yQc", "VDVDUOJgS9s", "0_mxyqK3sDk", ...] 13:07:05.601 [debug] QUERY OK source="media_items" db=0.6ms idle=217.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")))) [176] 13:07:05.603 [debug] QUERY OK source="tasks" db=0.3ms idle=218.4ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2192059, 176, ~U[2026-04-15 13:07:05Z], ~U[2026-04-15 13:07:05Z]] 13:07:05.603 [info] {"args":{"id":176},"id":2192024,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":574119,"event":"job:stop","queue_time":4303276,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:07:05.610 [info] {"args":{"id":116},"id":2192026,"meta":{},"system_time":1776258425610038967,"max_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:07:05.610 [debug] QUERY OK source="sources" db=0.5ms idle=7.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" = ?) [116] 13:07:05.611 [debug] QUERY OK source="settings" db=0.3ms 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:07:05.612 [debug] QUERY OK source="media_profiles" db=0.3ms idle=7.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 13:07:05.612 [debug] QUERY OK source="settings" db=0.1ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:07:05.612 [debug] Fetching recent media IDs from YouTube API for playlist: UU4vo6vxydWDmBa84KMKhiXw 13:07:05.612 [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 [] 13:07:05.612 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 13:07:05.614 [debug] Current batch of media processed. Will check again in 1000ms 13:07:05.893 [debug] QUERY OK source="media_items" db=1.1ms idle=281.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [548, "PfYHk-vjB_A", "2BuBWoUgyqk", "AAe4lJr8LMM", "f6a1cd0qIxk", "8CazQzCY3t4", "k_P0qA3sX5U", "sXQ4VA_qjEY", "Dp250ZKHJvk", "mPyaYSsntuQ", "fTqrxHYDV5I", "3sQXejmW6wI", "XJMyqh9XYjY", "lU_i_QnA1S4", "P2CObeRek_k", "UwhNyYKx5X0", "428okyYmv44", "6fqMb-oK-Xg", "mHjmfW7C5Uo", "bat3ptnzuc8", "ELACjXyUUtw", "IRUYXKvvbXU", "U8eH_biTWGw", "S5ontcrzHhU", "zybPVOUlIqM", "YjgY6OmtJLs", "dmyIkdPaWP8", "zlieCi6Tfsg", "5IgGWjGjOZc", "JR2faI1-OQU", "kpdNGZo3xQs", "L5VHg61PP5c", "HqM_WjUA12o", "bJgA5PhNu8M", "u4HpsaGxe_A", "wdJNBZvvtmA", "6nDTPvnPiy0", "LWpibL8P5B8", "F4eYz8hOg2g", "Vga4Xk3lkn0", "IWOLQphzwqA", "nKeMdr6iVts", "O29G6yd4URM", "m5qGxBjn1KM", "IYYcLFicyM8", "PfB9Sc92vYA", "ofLrgtXQLq4", "2cpOCFmVcvw", "KSbDk4A_DWc", "g2MNyRTZXIc", ...] 13:07:05.896 [debug] QUERY OK source="media_items" db=1.3ms 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 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [548] 13:07:05.897 [debug] QUERY OK source="tasks" db=0.3ms idle=284.7ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2192060, 548, ~U[2026-04-15 13:07:05Z], ~U[2026-04-15 13:07:05Z]] 13:07:05.898 [info] {"args":{"id":548},"id":2192025,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":515866,"event":"job:stop","queue_time":3164130,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:07:06.380 [debug] QUERY OK source="media_items" db=1.4ms idle=481.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [116, "678MQRWDzLE", "kfMP1FlsZ-Y", "IB-kOvrzKX8", "TdtuOizJSew", "AQUU0tZDwfI", "Wn3MRd9Wuro", "S7DdtEy9Jgg", "CV5yz6G2Z9w", "q36ovsRziNo", "odjn_S9EIdQ", "FSsKyw-iEzY", "wjMtWMa1A80", "ABWJtxsG3eU", "k4XabFYYE7Q", "5pfiBaTNIsQ", "zRDynSEI6Fk", "iD1AGYL4bR0", "t-8_25lfMJM", "Oe_TXmyWqJ8", "0NzC4S1dgM0", "9cULliuD6nE", "EDO5ReEwdio", "XdeqVSzgy2U", "TTAXcbQpEaE", "ECAr_67wdPM", "LLacJ65FK6Y", "muI5rDkVn3A", "EbMCcAmbOOo", "IkKAj4Ki2sc", "SSGgoLGe4tY", "BT7x8jDjP_0", "duHnTnv43l8", "qWRjcOH3A38", "sZeBxpZHl_8", "269E9Qg_TJ8", "K5TDrxiDhmg", "phQpyBEcPbM", "y20UfhdVbKY", "ProjJh_PVb4", "U35NNywKWkw", "HvjbSZ1jNpQ", "ab3H7nqA4iQ", "8Fg9GartJlE", "52y4kIvGb5s", "Q8yBHGBwAnc", "rFtQq4npWC4", "5LTTw4DBUwQ", "IhN1EwbuSJE", "wIZyMQGpzEs", ...] 13:07:06.388 [debug] QUERY OK source="media_items" db=6.3ms idle=484.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")))) [116] 13:07:06.390 [debug] QUERY OK source="tasks" db=0.3ms idle=484.9ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2192061, 116, ~U[2026-04-15 13:07:06Z], ~U[2026-04-15 13:07:06Z]] 13:07:06.390 [info] {"args":{"id":116},"id":2192026,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":780359,"event":"job:stop","queue_time":2174743,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:07:06.615 [debug] Current batch of media processed. Will check again in 1000ms 13:07:07.616 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "", "duration" => 42, "filename" => "/downloads/shorts/بودكاست دال/بودكاست دال - 2024-10-09 - [tlz65NZrzLc].mp4", "id" => "tlz65NZrzLc", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/tlz65NZrzLc", "playlist_index" => 4, "timestamp" => 1728471101, "title" => "هل تجد صعوبة في الاستمرار؟", "upload_date" => "20241009"} 13:07:07.616 [debug] QUERY OK source="sources" db=0.2ms idle=1226.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" IN (?)) [208] 13:07:07.617 [debug] QUERY OK source="sources" db=0.2ms idle=1226.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" = ?) [208] 13:07:07.618 [debug] QUERY OK source="media_items" db=0.3ms idle=1220.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-10-09 10:51:41Z], 208] 13:07:07.621 [info] {"args":{"id":191},"id":2192027,"meta":{},"system_time":1776258427620982202,"max_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:07:07.621 [debug] QUERY OK source="sources" db=0.3ms idle=4.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [191] 13:07:07.622 [debug] QUERY OK source="settings" db=0.3ms idle=4.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:07:07.630 [debug] QUERY OK source="media_items" db=11.7ms idle=1005.3ms INSERT INTO "media_items" AS m0 ("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) 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" ["هل تجد صعوبة في الاستمرار؟", "f4139e2f-ab41-4bd9-aead-2118980a2ad6", 42, false, "tlz65NZrzLc", "https://www.youtube.com/shorts/tlz65NZrzLc", 4, "/downloads/shorts/بودكاست دال/بودكاست دال - 2024-10-09 - [tlz65NZrzLc].mp4", false, false, true, 208, [], 97, ~U[2024-10-09 10:51:41Z], ~U[2026-04-15 13:07:07Z], ~U[2026-04-15 13:07:07Z], "", "هل تجد صعوبة في الاستمرار؟", 42, false, "tlz65NZrzLc", "https://www.youtube.com/shorts/tlz65NZrzLc", "/downloads/shorts/بودكاست دال/بودكاست دال - 2024-10-09 - [tlz65NZrzLc].mp4", true, 208, ~U[2024-10-09 10:51:41Z]] 13:07:07.630 [debug] QUERY OK source="media_profiles" db=0.3ms queue=7.6ms idle=4.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" = ?) [2] 13:07:07.630 [debug] QUERY OK source="sources" db=0.2ms idle=9.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [208] 13:07:07.630 [debug] QUERY OK source="settings" db=0.1ms idle=8.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:07:07.630 [debug] Fetching recent media IDs from YouTube API for playlist: UUaA8WJj7rZtNb41Bb34tnTA 13:07:07.631 [debug] QUERY OK source="media_profiles" db=0.2ms idle=8.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 13:07:07.631 [debug] QUERY OK source="settings" db=0.3ms 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 [] 13:07:07.631 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 13:07:07.631 [debug] QUERY OK source="media_items" db=0.3ms 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 [518086] 13:07:07.631 [debug] Current batch of media processed. Will check again in 1000ms 13:07:08.036 [debug] QUERY OK source="media_items" db=1.5ms idle=404.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [191, "jZPBvl0cOVg", "JAPsrunU5Lg", "9Vx5IKgj6FE", "ISsGIXK0DAo", "Id20bd5X2iU", "x6VkSJy4HNw", "2IR8K7NYkNo", "_DKN9NK3Vg4", "gG7-BfNX30Q", "liy01fr1yBE", "Jlh8uBe7RFY", "9cXfBEwntzA", "qacVmM42e_o", "O4wwG8qBqXs", "1fBaNL_3JHs", "BzxEZMf3Rjc", "AvL2XPACjik", "tuWjvViGp4o", "hzy4lCK6rM8", "H0KL7u9cC1M", "8XEOshhKUPU", "rTXEC3VFqVo", "SNRZzKVH754", "eZEP7qSvMWQ", "DsbsadX-7Rw", "oNX2TzH926Q", "ClJpxV5rPkE", "5GGq9OhxbeY", "bZMwkPXAI-0", "aGAwKq2voMw", "A7Z9XghbCsE", "jBEX06n7cWQ", "UPbV21bn7Mg", "1UgURk7PuQg", "_vndBPsf0vQ", "0UJZmJzzLVI", "EUGuC62oYgg", "ABAOXlx_WuY", "4siwTxHoj5k", "IJthhi9-Ex4", "EL8VyinqjXI", "ElgT-WHpxvk", "XigqTb7Y5OQ", "RIT7GX_bO1Y", "3wQqHyMG3yo", "X6JeIE1t1pQ", "swJSgogb9ys", "DRZ6y0qceR4", "CS-oesi4GLs", ...] 13:07:08.040 [debug] QUERY OK source="media_items" db=2.4ms idle=406.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")))) [191] 13:07:08.057 [debug] QUERY OK source="tasks" db=3.0ms idle=423.0ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2192062, 191, ~U[2026-04-15 13:07:08Z], ~U[2026-04-15 13:07:08Z]] 13:07:08.058 [info] {"args":{"id":191},"id":2192027,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":436903,"event":"job:stop","queue_time":519388,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:07:08.632 [debug] Current batch of media processed. Will check again in 1000ms 13:07:09.633 [debug] Current batch of media processed. Will check again in 1000ms 13:07:10.634 [debug] Current batch of media processed. Will check again in 1000ms 13:07:11.635 [debug] Current batch of media processed. Will check again in 1000ms 13:07:12.550 [info] {"source":"oban","duration":18030,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:07:12.636 [debug] Current batch of media processed. Will check again in 1000ms 13:07:13.637 [debug] Current batch of media processed. Will check again in 1000ms 13:07:14.638 [debug] Current batch of media processed. Will check again in 1000ms 13:07:15.639 [debug] Current batch of media processed. Will check again in 1000ms 13:07:16.640 [debug] Current batch of media processed. Will check again in 1000ms 13:07:17.183 [info] GET /sources/307/media/2868698 13:07:17.183 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "2868698", "prevent_download" => "true", "source_id" => "307"} Pipelines: [:browser] 13:07:17.183 [debug] QUERY OK source="media_items" db=0.2ms idle=1173.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" = ?) [2868698] 13:07:17.184 [debug] QUERY OK source="tasks" db=0.1ms idle=1173.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" [2868698] 13:07:17.184 [debug] QUERY OK source="sources" db=0.4ms idle=1173.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" = ?) [307] 13:07:17.185 [debug] QUERY OK source="settings" db=0.1ms idle=1174.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:07:17.185 [debug] QUERY OK source="settings" db=0.2ms idle=558.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:07:17.186 [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 [] 13:07:17.186 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:07:17.188 [info] Sent 200 in 5ms 13:07:17.641 [debug] Current batch of media processed. Will check again in 1000ms 13:07:18.642 [debug] Current batch of media processed. Will check again in 1000ms 13:07:19.643 [debug] Current batch of media processed. Will check again in 1000ms 13:07:20.644 [debug] Current batch of media processed. Will check again in 1000ms 13:07:21.645 [debug] Current batch of media processed. Will check again in 1000ms 13:07:22.646 [debug] Current batch of media processed. Will check again in 1000ms 13:07:23.647 [debug] Current batch of media processed. Will check again in 1000ms 13:07:24.648 [debug] Current batch of media processed. Will check again in 1000ms 13:07:25.649 [debug] Current batch of media processed. Will check again in 1000ms 13:07:26.650 [debug] Current batch of media processed. Will check again in 1000ms 13:07:27.651 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "", "duration" => 51, "filename" => "/downloads/shorts/بودكاست دال/بودكاست دال - 2024-10-05 - [IIlxPJeOP0M].mp4", "id" => "IIlxPJeOP0M", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/IIlxPJeOP0M", "playlist_index" => 5, "timestamp" => 1728152789, "title" => "سر ادارة الوقت /رياضة د.محمد ال مسعود", "upload_date" => "20241005"} 13:07:27.651 [debug] QUERY OK source="sources" db=0.2ms idle=641.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" IN (?)) [208] 13:07:27.652 [debug] QUERY OK source="sources" db=0.2ms idle=641.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" = ?) [208] 13:07:27.652 [debug] QUERY OK source="media_items" db=0.2ms idle=642.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-10-05 18:26:29Z], 208] 13:07:27.653 [debug] QUERY OK source="media_items" db=0.6ms idle=642.8ms INSERT INTO "media_items" AS m0 ("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) 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" ["سر ادارة الوقت /رياضة د.محمد ال مسعود", "cebb751b-0415-481d-96b8-9e55737f8925", 51, false, "IIlxPJeOP0M", "https://www.youtube.com/shorts/IIlxPJeOP0M", 5, "/downloads/shorts/بودكاست دال/بودكاست دال - 2024-10-05 - [IIlxPJeOP0M].mp4", false, false, true, 208, [], 98, ~U[2024-10-05 18:26:29Z], ~U[2026-04-15 13:07:27Z], ~U[2026-04-15 13:07:27Z], "", "سر ادارة الوقت /رياضة د.محمد ال مسعود", 51, false, "IIlxPJeOP0M", "https://www.youtube.com/shorts/IIlxPJeOP0M", "/downloads/shorts/بودكاست دال/بودكاست دال - 2024-10-05 - [IIlxPJeOP0M].mp4", true, 208, ~U[2024-10-05 18:26:29Z]] 13:07:27.654 [debug] QUERY OK source="sources" db=0.2ms idle=14.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" = ?) [208] 13:07:27.654 [debug] QUERY OK source="media_profiles" db=0.3ms 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" = ?) [2] 13:07:27.655 [debug] QUERY OK source="media_items" db=0.3ms idle=2.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [518088] 13:07:27.655 [debug] Current batch of media processed. Will check again in 1000ms 13:07:28.656 [debug] Current batch of media processed. Will check again in 1000ms 13:07:29.657 [debug] Current batch of media processed. Will check again in 1000ms 13:07:30.658 [debug] Current batch of media processed. Will check again in 1000ms 13:07:31.659 [debug] Current batch of media processed. Will check again in 1000ms 13:07:32.660 [debug] Current batch of media processed. Will check again in 1000ms 13:07:33.661 [debug] Current batch of media processed. Will check again in 1000ms 13:07:34.662 [debug] Current batch of media processed. Will check again in 1000ms 13:07:35.663 [debug] Current batch of media processed. Will check again in 1000ms 13:07:36.664 [debug] Current batch of media processed. Will check again in 1000ms 13:07:37.665 [debug] Current batch of media processed. Will check again in 1000ms 13:07:38.666 [debug] Current batch of media processed. Will check again in 1000ms 13:07:39.667 [debug] Current batch of media processed. Will check again in 1000ms 13:07:40.668 [debug] Current batch of media processed. Will check again in 1000ms 13:07:41.669 [debug] Current batch of media processed. Will check again in 1000ms 13:07:42.569 [info] {"source":"oban","duration":17882,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:07:42.670 [debug] Current batch of media processed. Will check again in 1000ms 13:07:43.671 [debug] Current batch of media processed. Will check again in 1000ms 13:07:44.238 [info] GET /sources/500/media/4351859 13:07:44.238 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "4351859", "prevent_download" => "true", "source_id" => "500"} Pipelines: [:browser] 13:07:44.239 [debug] QUERY OK source="media_items" db=0.2ms idle=1228.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" = ?) [4351859] 13:07:44.239 [debug] QUERY OK source="tasks" db=0.2ms idle=1229.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" [4351859] 13:07:44.240 [debug] QUERY OK source="sources" db=0.3ms idle=1229.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" = ?) [500] 13:07:44.240 [debug] QUERY OK source="settings" db=0.1ms idle=583.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:07:44.240 [debug] QUERY OK source="settings" db=0.1ms idle=230.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:07:44.241 [debug] QUERY OK source="settings" db=0.1ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:07:44.242 [debug] QUERY OK source="media_profiles" db=0.2ms 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] 13:07:44.243 [info] Sent 200 in 5ms 13:07:44.672 [debug] Current batch of media processed. Will check again in 1000ms 13:07:45.673 [debug] Current batch of media processed. Will check again in 1000ms 13:07:46.674 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "", "duration" => 44, "filename" => "/downloads/shorts/بودكاست دال/بودكاست دال - 2024-10-02 - [JbjDqqtZ80c].mp4", "id" => "JbjDqqtZ80c", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/JbjDqqtZ80c", "playlist_index" => 6, "timestamp" => 1727895646, "title" => "اهمية عمق الهدف في استمراريتك في التمرين 🏋🏻\u200D♀️د.محمد آل مسعود #بودكاست_دال #رياضة", "upload_date" => "20241002"} 13:07:46.674 [debug] QUERY OK source="sources" db=0.2ms idle=664.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" IN (?)) [208] 13:07:46.675 [debug] QUERY OK source="sources" db=0.2ms idle=664.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" = ?) [208] 13:07:46.675 [debug] QUERY OK source="media_items" db=0.2ms idle=665.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-10-02 19:00:46Z], 208] 13:07:46.678 [debug] QUERY OK source="media_items" db=2.0ms idle=666.0ms INSERT INTO "media_items" AS m0 ("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) 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" ["اهمية عمق الهدف في استمراريتك في التمرين 🏋🏻\u200D♀️د.محمد آل مسعود #بودكاست_دال #رياضة", "3b5902f5-74dd-4c95-a6dc-f5d0dc4919de", 44, false, "JbjDqqtZ80c", "https://www.youtube.com/shorts/JbjDqqtZ80c", 6, "/downloads/shorts/بودكاست دال/بودكاست دال - 2024-10-02 - [JbjDqqtZ80c].mp4", false, false, true, 208, [], 98, ~U[2024-10-02 19:00:46Z], ~U[2026-04-15 13:07:46Z], ~U[2026-04-15 13:07:46Z], "", "اهمية عمق الهدف في استمراريتك في التمرين 🏋🏻\u200D♀️د.محمد آل مسعود #بودكاست_دال #رياضة", 44, false, "JbjDqqtZ80c", "https://www.youtube.com/shorts/JbjDqqtZ80c", "/downloads/shorts/بودكاست دال/بودكاست دال - 2024-10-02 - [JbjDqqtZ80c].mp4", true, 208, ~U[2024-10-02 19:00:46Z]] 13:07:46.679 [debug] QUERY OK source="sources" db=0.8ms idle=17.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [208] 13:07:46.680 [debug] QUERY OK source="media_profiles" db=0.3ms 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" = ?) [2] 13:07:46.680 [debug] QUERY OK source="media_items" db=0.4ms 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 [518090] 13:07:46.681 [debug] Current batch of media processed. Will check again in 1000ms 13:07:47.682 [debug] Current batch of media processed. Will check again in 1000ms 13:07:48.683 [debug] Current batch of media processed. Will check again in 1000ms 13:07:49.684 [debug] Current batch of media processed. Will check again in 1000ms 13:07:50.685 [debug] Current batch of media processed. Will check again in 1000ms 13:07:51.686 [debug] Current batch of media processed. Will check again in 1000ms 13:07:52.687 [debug] Current batch of media processed. Will check again in 1000ms 13:07:53.688 [debug] Current batch of media processed. Will check again in 1000ms 13:07:54.689 [debug] Current batch of media processed. Will check again in 1000ms 13:07:55.690 [debug] Current batch of media processed. Will check again in 1000ms 13:07:56.691 [debug] Current batch of media processed. Will check again in 1000ms 13:07:57.692 [debug] Current batch of media processed. Will check again in 1000ms 13:07:58.693 [debug] Current batch of media processed. Will check again in 1000ms 13:07:59.694 [debug] Current batch of media processed. Will check again in 1000ms 13:08:00.695 [debug] Current batch of media processed. Will check again in 1000ms 13:08:00.844 [info] {"source":"oban","duration":140,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:08:01.696 [debug] Current batch of media processed. Will check again in 1000ms 13:08:02.697 [debug] Current batch of media processed. Will check again in 1000ms 13:08:03.690 [info] {"args":{"id":398},"id":2192028,"meta":{},"system_time":1776258483690176712,"max_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:08:03.690 [debug] QUERY OK source="sources" db=0.3ms idle=1680.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" = ?) [398] 13:08:03.691 [debug] QUERY OK source="settings" db=0.1ms idle=1680.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:08:03.691 [debug] QUERY OK source="media_profiles" db=0.2ms idle=1010.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" = ?) [2] 13:08:03.692 [debug] QUERY OK source="settings" db=0.2ms idle=8.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:08:03.692 [debug] Fetching recent media IDs from YouTube API for playlist: UUCbIqqUYqlvskcT4UJKgp0A 13:08:03.692 [debug] QUERY OK source="settings" db=0.1ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:08:03.692 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 13:08:03.698 [debug] Current batch of media processed. Will check again in 1000ms 13:08:04.040 [debug] QUERY OK source="media_items" db=1.3ms idle=347.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [398, "TMMZYc9IgDA", "17sWgRsYQqY", "ZpjrNISTUh0", "NEeBdV2GB8U", "6UEKxr0CjGg", "NWCVD7myp4o", "MhK3gfLvTNw", "eEHajx5JzSs", "I4XkUPlVuNA", "BBHjfuE8uYc", "oaummeIbyiE", "IAYtkgRgV1o", "4zhXB40pfuQ", "O0-9r7OeVjg", "BR1SZVInqnw", "7wBlas-p7zU", "xEHgIoiu8WU", "2zWSjk5Vqn8", "7xtXhYC1oLM", "8bg5pYHU1rU", "StfQN_0vmWs", "kSuw_nrQou0", "--cc1UnTZOM", "v02AjJzWA5c", "gTuMrWqxe7s", "p-v9j1CbD5s", "3YFqKJeDWQk", "X5EsXmOGxkQ", "zkCjl4vhiVI", "QBLbqY5Ea-U", "p1Ca3rBtM_0", "80PF1Vatv4o", "cof4ynZjXTg", "aNEFg5WCC_s", "1l8S9eDgjms", "fQG9_ZWhmps", "mG6ZDr2-_0E", "SGZJHTfLUFY", "sIbaqt6JzeU", "YTFHrYqpmDA", "EggNQNf4-xg", "SDmB0xlDdw0", "d55qkSwiDEo", "75tg3p5h8K8", "NN-DFa3l_xs", "ICTzn9oQJjQ", "lGi0YQw2FHw", "uo6mStUoJjc", "fYOGrcWS7vk", ...] 13:08:04.043 [debug] QUERY OK source="media_items" db=1.8ms idle=350.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")))) [398] 13:08:04.045 [debug] QUERY OK source="tasks" db=0.3ms idle=352.2ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2192063, 398, ~U[2026-04-15 13:08:04Z], ~U[2026-04-15 13:08:04Z]] 13:08:04.045 [info] {"args":{"id":398},"id":2192028,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":355254,"event":"job:stop","queue_time":417368,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:08:04.699 [debug] Current batch of media processed. Will check again in 1000ms 13:08:05.700 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "", "duration" => 37, "filename" => "/downloads/shorts/بودكاست دال/بودكاست دال - 2024-09-10 - [Qm00o6hUOzY].mp4", "id" => "Qm00o6hUOzY", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/Qm00o6hUOzY", "playlist_index" => 7, "timestamp" => 1725987661, "title" => "نصيحة للتجارة العامة/الإكترونية #بودكاست_دال د.سامي الصوان", "upload_date" => "20240910"} 13:08:05.700 [debug] QUERY OK source="sources" db=0.3ms idle=1655.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" IN (?)) [208] 13:08:05.701 [debug] QUERY OK source="sources" db=0.1ms idle=1655.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" = ?) [208] 13:08:05.701 [debug] QUERY OK source="media_items" db=0.2ms idle=1648.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-09-10 17:01:01Z], 208] 13:08:05.703 [debug] QUERY OK source="media_items" db=0.8ms idle=1016.7ms INSERT INTO "media_items" AS m0 ("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) 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" ["نصيحة للتجارة العامة/الإكترونية #بودكاست_دال د.سامي الصوان", "abf0cdf0-742b-4857-ab98-ace936af2a5e", 37, false, "Qm00o6hUOzY", "https://www.youtube.com/shorts/Qm00o6hUOzY", 7, "/downloads/shorts/بودكاست دال/بودكاست دال - 2024-09-10 - [Qm00o6hUOzY].mp4", false, false, true, 208, [], 98, ~U[2024-09-10 17:01:01Z], ~U[2026-04-15 13:08:05Z], ~U[2026-04-15 13:08:05Z], "", "نصيحة للتجارة العامة/الإكترونية #بودكاست_دال د.سامي الصوان", 37, false, "Qm00o6hUOzY", "https://www.youtube.com/shorts/Qm00o6hUOzY", "/downloads/shorts/بودكاست دال/بودكاست دال - 2024-09-10 - [Qm00o6hUOzY].mp4", true, 208, ~U[2024-09-10 17:01:01Z]] 13:08:05.703 [debug] QUERY OK source="sources" db=0.2ms idle=16.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [208] 13:08:05.704 [debug] QUERY OK source="media_profiles" db=0.3ms 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" = ?) [2] 13:08:05.704 [debug] QUERY OK source="media_items" db=0.4ms idle=3.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 [518092] 13:08:05.704 [debug] Current batch of media processed. Will check again in 1000ms 13:08:06.705 [debug] Current batch of media processed. Will check again in 1000ms 13:08:07.706 [debug] Current batch of media processed. Will check again in 1000ms 13:08:08.654 [info] GET /sources/294/media/4628117 13:08:08.654 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "4628117", "prevent_download" => "true", "source_id" => "294"} Pipelines: [:browser] 13:08:08.655 [debug] QUERY OK source="media_items" db=0.2ms idle=1644.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" = ?) [4628117] 13:08:08.655 [debug] QUERY OK source="tasks" db=0.1ms idle=1645.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" [4628117] 13:08:08.655 [debug] QUERY OK source="sources" db=0.2ms idle=1645.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" = ?) [294] 13:08:08.656 [debug] QUERY OK source="settings" db=0.1ms idle=1646.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:08:08.656 [debug] QUERY OK source="settings" db=0.1ms idle=966.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:08:08.657 [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 [] 13:08:08.658 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 13:08:08.659 [info] Sent 200 in 5ms 13:08:08.707 [debug] Current batch of media processed. Will check again in 1000ms 13:08:09.708 [debug] Current batch of media processed. Will check again in 1000ms 13:08:10.709 [debug] Current batch of media processed. Will check again in 1000ms 13:08:11.710 [debug] Current batch of media processed. Will check again in 1000ms 13:08:12.588 [info] {"source":"oban","duration":18031,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:08:12.711 [debug] Current batch of media processed. Will check again in 1000ms 13:08:13.712 [debug] Current batch of media processed. Will check again in 1000ms 13:08:14.713 [debug] Current batch of media processed. Will check again in 1000ms 13:08:15.714 [debug] Current batch of media processed. Will check again in 1000ms 13:08:16.708 [info] {"args":{"id":411},"id":2192029,"meta":{},"system_time":1776258496708615141,"max_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:08:16.709 [debug] QUERY OK source="sources" db=0.3ms 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" = ?) [411] 13:08:16.709 [debug] QUERY OK source="settings" db=0.2ms idle=699.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:08:16.710 [debug] QUERY OK source="media_profiles" db=0.2ms idle=699.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" = ?) [2] 13:08:16.710 [debug] QUERY OK source="settings" db=0.2ms idle=9.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:08:16.710 [debug] Fetching recent media IDs from YouTube API for playlist: UUDItXi7_EXg4AEviycQNaLQ 13:08:16.711 [debug] QUERY OK source="settings" db=0.1ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:08:16.711 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 13:08:16.715 [debug] Current batch of media processed. Will check again in 1000ms 13:08:17.104 [debug] QUERY OK source="media_items" db=1.2ms idle=393.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [411, "JuDij37WcMQ", "rfg7AvtzW-w", "9D2z-swZk04", "z8Yxq-sXAEY", "M9BoVFGH0RY", "t8d0ZZmhz0U", "-yt8Js4ud6A", "4dW9FV5t4Yo", "ATPqDugamkY", "AXV7sIoRgkM", "TMmET7MMEYk", "fAXX1Gaj5XA", "s-1LQGqIeyM", "Td5Sf4q51bk", "QRrz7bLpg5Q", "iKP4LnL6Iy0", "EO4McLmPyJQ", "Ir9G5100kN0", "gA_5V8GkswQ", "Bq2dgjvq74I", "u7Q0hVQPYkE", "VH2u9XmsStE", "WC5MwjCb-m4", "UDCNa698Jrk", "hba6Wln8hFY", "ap2i_nGoQ4c", "UWGhRXAqpAA", "XeMCi0Np7cI", "4z4pMvSEcb0", "GvXJejZfMdY", "E0XS1NX_tcQ", "0q7aRwmrbtg", "CUmm-3krENA", "2rZzuysCjmg", "sbN8KmyhtQk", "d6rZg1_QO_M", "4PSn3m7r7O8", "W_yHf301OD0", "88HufGqVfCU", "FAbVG6RVX-M", "5oMDMqp8aNg", "7trWvdh3-xM", "EmvBf7NJPDo", "AfD6sytM9e8", "rckwoxIA8zI", "DC9ihJ9j8tg", "i8M4cmPln74", "aY6KSMYwGhA", "FITQe52CL6k", ...] 13:08:17.111 [debug] QUERY OK source="media_items" db=5.1ms idle=396.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")))) [411] 13:08:17.112 [debug] QUERY OK source="tasks" db=0.3ms idle=401.4ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2192064, 411, ~U[2026-04-15 13:08:17Z], ~U[2026-04-15 13:08:17Z]] 13:08:17.113 [info] {"args":{"id":411},"id":2192029,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":404432,"event":"job:stop","queue_time":320895,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:08:17.716 [debug] Current batch of media processed. Will check again in 1000ms 13:08:18.711 [info] {"args":{"id":174},"id":2192030,"meta":{},"system_time":1776258498711141415,"max_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:08:18.711 [debug] QUERY OK source="sources" db=0.2ms idle=1597.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" = ?) [174] 13:08:18.712 [debug] QUERY OK source="settings" db=0.2ms idle=1591.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:08:18.712 [debug] QUERY OK source="media_profiles" db=0.2ms idle=1009.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" = ?) [2] 13:08:18.713 [debug] QUERY OK source="settings" db=0.2ms idle=8.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:08:18.713 [debug] Fetching recent media IDs from YouTube API for playlist: UUgh7hDxRUy44n2C0fpuweuA 13:08:18.713 [debug] QUERY OK source="settings" db=0.1ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:08:18.713 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 13:08:18.717 [debug] Current batch of media processed. Will check again in 1000ms 13:08:19.214 [debug] QUERY OK source="media_items" db=1.2ms idle=501.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [174, "mnC32YQtLaM", "jFCnvX91Mf4", "ZBliwo9EBTQ", "ZtWxlUBlUeo", "O_YT14LOkV8", "vYkXCwBxaWk", "GQMcWcp7iII", "PM2hH6k6FAI", "OnPyArQdyqU", "yTmwiByqRB4", "2R_i6g6M1mU", "h6D3xHSmiN0", "LinnkM4bD5s", "mdTPRWg-mDY", "TNWDyRo9sgE", "jHQ67V9Qb_Y", "6KE_NGb5aQY", "9rxm1nOYr8U", "ALNHb-rmLqA", "5LZmm3G4abs", "hdGp9pZRWkE", "1-1VVVYCDxY", "PGgqj8Oc8qc", "BrRSe7jghBo", "ByP2G4j7jWE", "5bz0UaSzhe8", "OeUKShLLZoo", "PW3wFLy8tTM", "nY_bmBNlXO4", "nHoIck64yfU", "Ua1t9a59osg", "4Ipt1YC6Rsk", "Z0BjSmk8gCY", "Dz55V0-TnsE", "YXP5BmHMuJ8", "TSCLkDgFNis", "uwCW0TMNShU", "tBg3xMaUV7I", "Bj43Cq2_Wds", "361tk2e_sQc", "2W-0YlJUzHE", "YmvxFHR1Upg", "_ERvQbE6Qcg", "JKKOKWe6WUY", "h9ZvZQR8S6Q", "fw5S0jLGyw0", "Q9K5nuhZXso", "sOfyTqif9yg", "_4saIvJyiZY", ...] 13:08:19.219 [debug] QUERY OK source="media_items" db=3.1ms idle=503.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")))) [174] 13:08:19.220 [debug] QUERY OK source="tasks" db=0.2ms idle=506.9ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2192065, 174, ~U[2026-04-15 13:08:19Z], ~U[2026-04-15 13:08:19Z]] 13:08:19.221 [info] {"args":{"id":174},"id":2192030,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":509690,"event":"job:stop","queue_time":345621,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:08:19.718 [debug] Current batch of media processed. Will check again in 1000ms 13:08:20.719 [debug] Current batch of media processed. Will check again in 1000ms 13:08:21.720 [debug] Current batch of media processed. Will check again in 1000ms 13:08:22.721 [debug] Current batch of media processed. Will check again in 1000ms 13:08:23.722 [debug] Current batch of media processed. Will check again in 1000ms 13:08:24.723 [debug] Current batch of media processed. Will check again in 1000ms 13:08:25.724 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.55, "description" => "", "duration" => 31, "filename" => "/downloads/shorts/بودكاست دال/بودكاست دال - 2024-08-27 - [cSJFN_BvygM].mp4", "id" => "cSJFN_BvygM", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/cSJFN_BvygM", "playlist_index" => 8, "timestamp" => 1724780080, "title" => "سر السعادة: توقف عن محاولة إرضاء الجميع! #بودكاست_دال", "upload_date" => "20240827"} 13:08:25.724 [debug] QUERY OK source="sources" db=0.2ms idle=714.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" IN (?)) [208] 13:08:25.725 [debug] QUERY OK source="sources" db=0.1ms idle=714.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" = ?) [208] 13:08:25.725 [debug] QUERY OK source="media_items" db=0.2ms idle=715.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-08-27 17:34:40Z], 208] 13:08:25.726 [debug] QUERY OK source="media_items" db=0.7ms idle=715.7ms INSERT INTO "media_items" AS m0 ("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) 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" ["سر السعادة: توقف عن محاولة إرضاء الجميع! #بودكاست_دال", "f3f7cc79-62b3-4db2-bf25-16734a525b94", 31, false, "cSJFN_BvygM", "https://www.youtube.com/shorts/cSJFN_BvygM", 8, "/downloads/shorts/بودكاست دال/بودكاست دال - 2024-08-27 - [cSJFN_BvygM].mp4", false, false, true, 208, [], 98, ~U[2024-08-27 17:34:40Z], ~U[2026-04-15 13:08:25Z], ~U[2026-04-15 13:08:25Z], "", "سر السعادة: توقف عن محاولة إرضاء الجميع! #بودكاست_دال", 31, false, "cSJFN_BvygM", "https://www.youtube.com/shorts/cSJFN_BvygM", "/downloads/shorts/بودكاست دال/بودكاست دال - 2024-08-27 - [cSJFN_BvygM].mp4", true, 208, ~U[2024-08-27 17:34:40Z]] 13:08:25.727 [debug] QUERY OK source="sources" db=0.4ms idle=11.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [208] 13:08:25.728 [debug] QUERY OK source="media_profiles" db=0.2ms 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" = ?) [2] 13:08:25.728 [debug] QUERY OK source="media_items" db=0.4ms idle=2.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [518094] 13:08:25.728 [debug] Current batch of media processed. Will check again in 1000ms 13:08:26.729 [debug] Current batch of media processed. Will check again in 1000ms 13:08:27.730 [debug] Current batch of media processed. Will check again in 1000ms 13:08:28.731 [debug] Current batch of media processed. Will check again in 1000ms 13:08:29.618 [info] GET /sources/380/media/4630541/force_download 13:08:29.618 [debug] QUERY OK source="settings" db=0.2ms idle=897.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:08:29.619 [debug] QUERY OK source="settings" db=0.1ms idle=608.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:08:29.619 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 13:08:29.619 [error] #PID<0.5798.0> running PinchflatWeb.Endpoint (connection #PID<0.5797.0>, stream id 1) terminated Server: jak.hibeex.com:80 (http) Request: GET /sources/380/media/4630541/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/380/media/4630541/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5797.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/380/media/4630541/force_download", host: "jak.hibeex.com", peer: {{172, 22, 0, 1}, 49234}, bindings: %{}, sock: {{172, 22, 0, 4}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYOGhRdWMxZVlnUURtTENjQWFEWVdFQ2dt.6ZZ1kSCJ7NwKVwWzRNEiewkgiA3Juv9uRPgVRKAoY4A", "from" => "gptbot(at)openai.com", "host" => "jak.hibeex.com", "referer" => "https://jak.hibeex.com/sources/380/media/4630541?prevent_download=true", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.232", "x-forwarded-proto" => "https", "x-openai-host-hash" => "41517590", "x-real-ip" => "74.7.243.232" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYOGhRdWMxZVlnUURtTENjQWFEWVdFQ2dt.6ZZ1kSCJ7NwKVwWzRNEiewkgiA3Juv9uRPgVRKAoY4A" }, halted: false, host: "jak.hibeex.com", method: "GET", owner: #PID<0.5798.0>, params: %{}, path_info: ["sources", "380", "media", "4630541", "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://jak.hibeex.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 22, 0, 1}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYOGhRdWMxZVlnUURtTENjQWFEWVdFQ2dt.6ZZ1kSCJ7NwKVwWzRNEiewkgiA3Juv9uRPgVRKAoY4A" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"connection", "close"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYOGhRdWMxZVlnUURtTENjQWFEWVdFQ2dt.6ZZ1kSCJ7NwKVwWzRNEiewkgiA3Juv9uRPgVRKAoY4A"}, {"from", "gptbot(at)openai.com"}, {"host", "jak.hibeex.com"}, {"referer", "https://jak.hibeex.com/sources/380/media/4630541?prevent_download=true"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)"}, {"x-forwarded-for", "74.7.243.232"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "41517590"}, {"x-real-ip", "74.7.243.232"} ], request_path: "/sources/380/media/4630541/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKaJtBcOUHsT8VwAAnIC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5797.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/380/media/4630541/force_download", host: "jak.hibeex.com", peer: {{172, 22, 0, 1}, 49234}, bindings: %{}, sock: {{172, 22, 0, 4}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYOGhRdWMxZVlnUURtTENjQWFEWVdFQ2dt.6ZZ1kSCJ7NwKVwWzRNEiewkgiA3Juv9uRPgVRKAoY4A", "from" => "gptbot(at)openai.com", "host" => "jak.hibeex.com", "referer" => "https://jak.hibeex.com/sources/380/media/4630541?prevent_download=true", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.232", "x-forwarded-proto" => "https", "x-openai-host-hash" => "41517590", "x-real-ip" => "74.7.243.232" }, method: "GET", body_length: 0, path_info: :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/380/media/4630541/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5797.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/380/media/4630541/force_download", host: "jak.hibeex.com", peer: {{172, 22, 0, 1}, 49234}, bindings: %{}, sock: {{172, 22, 0, 4}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYOGhRdWMxZVlnUURtTENjQWFEWVdFQ2dt.6ZZ1kSCJ7NwKVwWzRNEiewkgiA3Juv9uRPgVRKAoY4A", "from" => "gptbot(at)openai.com", "host" => "jak.hibeex.com", "referer" => "https://jak.hibeex.com/sources/380/media/4630541?prevent_download=true", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.232", "x-forwarded-proto" => "https", "x-openai-host-hash" => "41517590", "x-real-ip" => "74.7.243.232" }, method: "GET", body_length: 0, path_info: :und (truncated) 13:08:29.732 [debug] Current batch of media processed. Will check again in 1000ms 13:08:30.733 [debug] Current batch of media processed. Will check again in 1000ms 13:08:31.734 [debug] Current batch of media processed. Will check again in 1000ms 13:08:32.735 [debug] Current batch of media processed. Will check again in 1000ms 13:08:33.736 [debug] Current batch of media processed. Will check again in 1000ms 13:08:34.737 [debug] Current batch of media processed. Will check again in 1000ms 13:08:35.738 [debug] Current batch of media processed. Will check again in 1000ms 13:08:36.739 [debug] Current batch of media processed. Will check again in 1000ms 13:08:37.740 [debug] Current batch of media processed. Will check again in 1000ms 13:08:38.741 [debug] Current batch of media processed. Will check again in 1000ms 13:08:39.742 [debug] Current batch of media processed. Will check again in 1000ms 13:08:40.743 [debug] Current batch of media processed. Will check again in 1000ms 13:08:41.744 [debug] Current batch of media processed. Will check again in 1000ms 13:08:42.606 [info] {"source":"oban","duration":17794,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:08:42.745 [debug] Current batch of media processed. Will check again in 1000ms 13:08:43.746 [debug] Current batch of media processed. Will check again in 1000ms 13:08:44.747 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "", "duration" => 33, "filename" => "/downloads/shorts/بودكاست دال/بودكاست دال - 2024-08-25 - [12u1MamiiNM].mp4", "id" => "12u1MamiiNM", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/12u1MamiiNM", "playlist_index" => 9, "timestamp" => 1724599273, "title" => "سرعة التقدم التقني #بودكاست_دال #تقنية", "upload_date" => "20240825"} 13:08:44.747 [debug] QUERY OK source="sources" db=0.2ms 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" IN (?)) [208] 13:08:44.748 [debug] QUERY OK source="sources" db=0.2ms idle=1737.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" = ?) [208] 13:08:44.748 [debug] QUERY OK source="media_items" db=0.2ms idle=1012.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-08-25 15:21:13Z], 208] 13:08:44.749 [debug] QUERY OK source="media_items" db=0.5ms idle=739.0ms INSERT INTO "media_items" AS m0 ("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) 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" ["سرعة التقدم التقني #بودكاست_دال #تقنية", "e82aea8d-0d5a-4672-a623-b82ab2fdad07", 33, false, "12u1MamiiNM", "https://www.youtube.com/shorts/12u1MamiiNM", 9, "/downloads/shorts/بودكاست دال/بودكاست دال - 2024-08-25 - [12u1MamiiNM].mp4", false, false, true, 208, [], 98, ~U[2024-08-25 15:21:13Z], ~U[2026-04-15 13:08:44Z], ~U[2026-04-15 13:08:44Z], "", "سرعة التقدم التقني #بودكاست_دال #تقنية", 33, false, "12u1MamiiNM", "https://www.youtube.com/shorts/12u1MamiiNM", "/downloads/shorts/بودكاست دال/بودكاست دال - 2024-08-25 - [12u1MamiiNM].mp4", true, 208, ~U[2024-08-25 15:21:13Z]] 13:08:44.750 [debug] QUERY OK source="sources" db=0.2ms idle=12.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [208] 13:08:44.750 [debug] QUERY OK source="media_profiles" db=0.2ms 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" = ?) [2] 13:08:44.751 [debug] QUERY OK source="media_items" db=0.3ms 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 [518096] 13:08:44.751 [debug] Current batch of media processed. Will check again in 1000ms 13:08:45.752 [debug] Current batch of media processed. Will check again in 1000ms 13:08:46.753 [debug] Current batch of media processed. Will check again in 1000ms 13:08:47.754 [debug] Current batch of media processed. Will check again in 1000ms 13:08:48.755 [debug] Current batch of media processed. Will check again in 1000ms 13:08:48.852 [info] GET /sources/248/media/4463706 13:08:48.852 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "4463706", "prevent_download" => "true", "source_id" => "248"} Pipelines: [:browser] 13:08:48.852 [debug] QUERY OK source="media_items" db=0.2ms idle=842.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" = ?) [4463706] 13:08:48.853 [debug] QUERY OK source="tasks" db=0.1ms idle=842.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" [4463706] 13:08:48.853 [debug] QUERY OK source="sources" db=0.2ms idle=842.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" = ?) [248] 13:08:48.854 [debug] QUERY OK source="settings" db=0.1ms idle=843.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:08:48.854 [debug] QUERY OK source="settings" db=0.1ms idle=111.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:08:48.854 [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 [] 13:08:48.855 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:08:48.857 [info] Sent 200 in 5ms 13:08:49.756 [debug] Current batch of media processed. Will check again in 1000ms 13:08:50.757 [debug] Current batch of media processed. Will check again in 1000ms 13:08:51.758 [debug] Current batch of media processed. Will check again in 1000ms 13:08:52.759 [debug] Current batch of media processed. Will check again in 1000ms 13:08:53.760 [debug] Current batch of media processed. Will check again in 1000ms 13:08:54.761 [debug] Current batch of media processed. Will check again in 1000ms 13:08:55.762 [debug] Current batch of media processed. Will check again in 1000ms 13:08:56.763 [debug] Current batch of media processed. Will check again in 1000ms 13:08:57.764 [debug] Current batch of media processed. Will check again in 1000ms 13:08:58.765 [debug] Current batch of media processed. Will check again in 1000ms 13:08:59.766 [debug] Current batch of media processed. Will check again in 1000ms 13:09:00.767 [debug] Current batch of media processed. Will check again in 1000ms 13:09:00.845 [info] {"source":"oban","duration":132,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:09:01.768 [debug] Current batch of media processed. Will check again in 1000ms 13:09:02.769 [debug] Current batch of media processed. Will check again in 1000ms 13:09:03.770 [debug] Current batch of media processed. Will check again in 1000ms 13:09:04.771 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "", "duration" => 32, "filename" => "/downloads/shorts/بودكاست دال/بودكاست دال - 2024-08-19 - [aO9iszddU24].mp4", "id" => "aO9iszddU24", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/aO9iszddU24", "playlist_index" => 10, "timestamp" => 1724081359, "title" => "نصيحة للرجال المقبلين ع الزواج #بودكاست #اكسبلور", "upload_date" => "20240819"} 13:09:04.771 [debug] QUERY OK source="sources" db=0.1ms idle=761.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" IN (?)) [208] 13:09:04.772 [debug] QUERY OK source="sources" db=0.1ms idle=761.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" = ?) [208] 13:09:04.772 [debug] QUERY OK source="media_items" db=0.1ms idle=761.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-08-19 15:29:19Z], 208] 13:09:04.773 [debug] QUERY OK source="media_items" db=0.3ms idle=762.4ms INSERT INTO "media_items" AS m0 ("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) 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" ["نصيحة للرجال المقبلين ع الزواج #بودكاست #اكسبلور", "d73f957b-5161-4844-9271-05246c3b9b32", 32, false, "aO9iszddU24", "https://www.youtube.com/shorts/aO9iszddU24", 10, "/downloads/shorts/بودكاست دال/بودكاست دال - 2024-08-19 - [aO9iszddU24].mp4", false, false, true, 208, [], 98, ~U[2024-08-19 15:29:19Z], ~U[2026-04-15 13:09:04Z], ~U[2026-04-15 13:09:04Z], "", "نصيحة للرجال المقبلين ع الزواج #بودكاست #اكسبلور", 32, false, "aO9iszddU24", "https://www.youtube.com/shorts/aO9iszddU24", "/downloads/shorts/بودكاست دال/بودكاست دال - 2024-08-19 - [aO9iszddU24].mp4", true, 208, ~U[2024-08-19 15:29:19Z]] 13:09:04.773 [debug] QUERY OK source="sources" db=0.2ms idle=12.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [208] 13:09:04.774 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 13:09:04.774 [debug] QUERY OK source="media_items" db=0.2ms idle=2.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [518098] 13:09:04.774 [debug] Current batch of media processed. Will check again in 1000ms 13:09:05.775 [debug] Current batch of media processed. Will check again in 1000ms 13:09:06.776 [debug] Current batch of media processed. Will check again in 1000ms 13:09:07.777 [debug] Current batch of media processed. Will check again in 1000ms 13:09:08.778 [debug] Current batch of media processed. Will check again in 1000ms 13:09:09.772 [info] {"args":{"id":100},"id":2192031,"meta":{},"system_time":1776258549772830521,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:09:09.773 [debug] QUERY OK source="sources" db=0.3ms idle=1762.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" = ?) [100] 13:09:09.774 [debug] QUERY OK source="settings" db=0.2ms idle=1763.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:09:09.774 [debug] QUERY OK source="media_profiles" db=0.2ms 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" = ?) [2] 13:09:09.774 [debug] QUERY OK source="settings" db=0.2ms idle=8.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:09:09.775 [debug] Fetching recent media IDs from YouTube API for playlist: UUe5eYsugVJLzIF_JALMiXzQ 13:09:09.775 [debug] QUERY OK source="settings" db=0.1ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:09:09.775 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 13:09:09.779 [debug] Current batch of media processed. Will check again in 1000ms 13:09:10.102 [debug] QUERY OK source="media_items" db=1.1ms idle=327.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [100, "251xUyoUFwg", "N2ipy5JDalQ", "kwb-PhsCYBs", "MsrYWuItd7M", "E_sH2dN0kLg", "e0KZ0IHrG38", "dqX4Wzvq6sE", "izbcjE3AhD8", "cSdsZhAlfJI", "hvvYmjS_A90", "eicfPUdBAuo", "d_L6gomAhAg", "IiDMkKhe71A", "NkjKnpUUYmU", "NzW9fg2vgpA", "egrx1u5F1V4", "fmBdaL3VqEY", "_lN_Qri648M", "97Q6zfv-jk4", "3FL4GzxXxOc", "cQyXgxGMkcc", "rBdx1qmknhU", "61v3sPjKngk", "dyQ2TD5i6LQ", "iC1_GDcfYM8", "1i-bNe1xx14", "ZB9QJ_bJO2Y", "-ddV4twx7dE", "19GEQhlOxzE", "6GsO5ByqFkE", "47qCdYJCmKo", "d6nWvWpnwP8", "8uApOUjCOe4", "9eJgR2PLrGo", "UVShufL4rRA", "ypbB3IZvnLs", "0Dkjqs3zg6A", "szU5BDthN00", "zHNFzLaRD74", "3osfwVYvr9Q", "6MQOSazKIBM", "65YPmUwlpOg", "1kxUvL8EOXM", "EZbTesfSMkw", "d9mbd0b-7YM", "Jd2q_DsdbmQ", "yPzBBP5JzxI", "8aig78KaZiA", "7gEvgXFd1Vg", ...] 13:09:10.105 [debug] QUERY OK source="media_items" db=1.4ms idle=330.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")))) [100] 13:09:10.107 [debug] QUERY OK source="tasks" db=0.2ms idle=331.7ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2192066, 100, ~U[2026-04-15 13:09:10Z], ~U[2026-04-15 13:09:10Z]] 13:09:10.108 [info] {"args":{"id":100},"id":2192031,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":334579,"event":"job:stop","queue_time":440289,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:09:10.780 [debug] Current batch of media processed. Will check again in 1000ms 13:09:11.781 [debug] Current batch of media processed. Will check again in 1000ms 13:09:12.627 [info] {"source":"oban","duration":19093,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:09:12.782 [debug] Current batch of media processed. Will check again in 1000ms 13:09:13.783 [debug] Current batch of media processed. Will check again in 1000ms 13:09:14.784 [debug] Current batch of media processed. Will check again in 1000ms 13:09:15.785 [debug] Current batch of media processed. Will check again in 1000ms 13:09:16.786 [debug] Current batch of media processed. Will check again in 1000ms 13:09:17.787 [debug] Current batch of media processed. Will check again in 1000ms 13:09:18.788 [debug] Current batch of media processed. Will check again in 1000ms 13:09:19.789 [debug] Current batch of media processed. Will check again in 1000ms 13:09:20.790 [debug] Current batch of media processed. Will check again in 1000ms 13:09:21.791 [debug] Current batch of media processed. Will check again in 1000ms 13:09:22.792 [debug] Current batch of media processed. Will check again in 1000ms 13:09:23.793 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "", "duration" => 34, "filename" => "/downloads/shorts/بودكاست دال/بودكاست دال - 2024-08-18 - [-HUN3spZvGI].mp4", "id" => "-HUN3spZvGI", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/-HUN3spZvGI", "playlist_index" => 11, "timestamp" => 1723991662, "title" => "كيف تتخلص من الكسل و التسويف / الرياضة #بودكاست_دال #بودكاست #رياضة", "upload_date" => "20240818"} 13:09:23.793 [debug] QUERY OK source="sources" db=0.2ms idle=1783.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" IN (?)) [208] 13:09:23.794 [debug] QUERY OK source="sources" db=0.1ms idle=1783.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" = ?) [208] 13:09:23.794 [debug] QUERY OK source="media_items" db=0.2ms idle=1784.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-08-18 14:34:22Z], 208] 13:09:23.795 [debug] QUERY OK source="media_items" db=0.6ms idle=1013.3ms INSERT INTO "media_items" AS m0 ("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) 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" ["كيف تتخلص من الكسل و التسويف / الرياضة #بودكاست_دال #بودكاست #رياضة", "504d1d5d-ef2e-4797-bded-68e13100b1da", 34, false, "-HUN3spZvGI", "https://www.youtube.com/shorts/-HUN3spZvGI", 11, "/downloads/shorts/بودكاست دال/بودكاست دال - 2024-08-18 - [-HUN3spZvGI].mp4", false, false, true, 208, [], 98, ~U[2024-08-18 14:34:22Z], ~U[2026-04-15 13:09:23Z], ~U[2026-04-15 13:09:23Z], "", "كيف تتخلص من الكسل و التسويف / الرياضة #بودكاست_دال #بودكاست #رياضة", 34, false, "-HUN3spZvGI", "https://www.youtube.com/shorts/-HUN3spZvGI", "/downloads/shorts/بودكاست دال/بودكاست دال - 2024-08-18 - [-HUN3spZvGI].mp4", true, 208, ~U[2024-08-18 14:34:22Z]] 13:09:23.796 [debug] QUERY OK source="sources" db=0.3ms idle=13.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" = ?) [208] 13:09:23.796 [debug] QUERY OK source="media_profiles" db=0.2ms 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" = ?) [2] 13:09:23.797 [debug] QUERY OK source="media_items" db=0.3ms idle=2.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [518100] 13:09:23.797 [debug] Current batch of media processed. Will check again in 1000ms 13:09:24.798 [debug] Current batch of media processed. Will check again in 1000ms 13:09:25.793 [info] {"args":{"id":48},"id":2192032,"meta":{},"system_time":1776258565793172401,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:09:25.793 [debug] QUERY OK source="sources" db=0.2ms idle=783.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" = ?) [48] 13:09:25.794 [debug] QUERY OK source="settings" db=0.1ms idle=783.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:09:25.794 [debug] QUERY OK source="media_profiles" db=0.2ms idle=783.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" = ?) [2] 13:09:25.795 [debug] QUERY OK source="settings" db=0.2ms idle=8.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:09:25.795 [debug] Fetching recent media IDs from YouTube API for playlist: UUMelszsqkhcGFC4vfLkGVOQ 13:09:25.795 [debug] QUERY OK source="settings" db=0.1ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:09:25.795 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 13:09:25.799 [debug] Current batch of media processed. Will check again in 1000ms 13:09:26.073 [debug] QUERY OK source="media_items" db=1.2ms idle=277.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [48, "PmG3oybHKdY", "_au26pq8dGI", "eItpUPME364", "sdXyr_GtpB8", "AViGvZhRZWQ", "rRsanBnxj8Y", "xIRRFVLdHWw", "nFpks9azxFw", "p1dN7GOS8lk", "5MIUwZCfYtE", "EbwfvogGFZI", "iCBSuwWnudY", "1_r0Q-v4isU", "c_MmMRfb9gs", "qj2F5CI116o", "yggPzlFyVxs", "hV5N4uTcwsM", "7CUt9DeECmM", "T4tn4URrQvY", "uNlSwNbXHSo", "HCk5v3zY5Nk", "jgGc7tsZX3Q", "j_GiVJ_DPuo", "42v1XziVgaQ", "RZc4HW07UR8", "058OTXSVAjI", "q6yvVULNEqE", "ZtoPi5lgdH4", "ArW4C-L3E58", "0ytb1nxp6pY", "x1bU7OyY1Qo", "_ceRQgRGZOA", "Ki8vlLEIAPg", "IXLO15CzwYE", "zq5XJNfiSB8", "NFLfR5DkC0E", "qW6QqvULhAo", "nVAN5M-acTo", "ItwW3qI-ISY", "AFytYHMjSVE", "Tqm0F4kwXe4", "8dY1jaKiYzk", "PWNCBzXAY8k", "ChBJS2NSuOo", "ujlSTgsjcco", "hyjshuuA1XA", "A1sIH6inhbk", "ma0MiXa6YXE", "1TXgsjGeo3A", ...] 13:09:26.075 [debug] QUERY OK source="media_items" db=0.9ms idle=280.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")))) [48] 13:09:26.077 [debug] QUERY OK source="tasks" db=0.2ms idle=281.5ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2192067, 48, ~U[2026-04-15 13:09:26Z], ~U[2026-04-15 13:09:26Z]] 13:09:26.077 [info] {"args":{"id":48},"id":2192032,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":284097,"event":"job:stop","queue_time":472663,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:09:26.800 [debug] Current batch of media processed. Will check again in 1000ms 13:09:27.801 [debug] Current batch of media processed. Will check again in 1000ms 13:09:28.802 [debug] Current batch of media processed. Will check again in 1000ms 13:09:29.803 [debug] Current batch of media processed. Will check again in 1000ms 13:09:30.804 [debug] Current batch of media processed. Will check again in 1000ms 13:09:31.805 [debug] Current batch of media processed. Will check again in 1000ms 13:09:32.806 [debug] Current batch of media processed. Will check again in 1000ms 13:09:33.807 [debug] Current batch of media processed. Will check again in 1000ms 13:09:34.808 [debug] Current batch of media processed. Will check again in 1000ms 13:09:35.809 [debug] Current batch of media processed. Will check again in 1000ms 13:09:36.810 [debug] Current batch of media processed. Will check again in 1000ms 13:09:37.811 [debug] Current batch of media processed. Will check again in 1000ms 13:09:38.812 [debug] Current batch of media processed. Will check again in 1000ms 13:09:39.813 [debug] Current batch of media processed. Will check again in 1000ms 13:09:40.814 [debug] Current batch of media processed. Will check again in 1000ms 13:09:41.815 [debug] Current batch of media processed. Will check again in 1000ms 13:09:42.646 [info] {"source":"oban","duration":18853,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:09:42.816 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.55, "description" => "", "duration" => 33, "filename" => "/downloads/shorts/بودكاست دال/بودكاست دال - 2024-08-16 - [AMgz5NAJVMk].mp4", "id" => "AMgz5NAJVMk", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/AMgz5NAJVMk", "playlist_index" => 12, "timestamp" => 1723823196, "title" => "سرعة التقدم التكنولوجي د.عمر الرهبيني | #بودكاست_دال", "upload_date" => "20240816"} 13:09:42.816 [debug] QUERY OK source="sources" db=0.2ms idle=806.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" IN (?)) [208] 13:09:42.817 [debug] QUERY OK source="sources" db=0.2ms idle=806.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" = ?) [208] 13:09:42.817 [debug] QUERY OK source="media_items" db=0.2ms idle=807.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-08-16 15:46:36Z], 208] 13:09:42.818 [debug] QUERY OK source="media_items" db=0.6ms idle=171.1ms INSERT INTO "media_items" AS m0 ("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) 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" ["سرعة التقدم التكنولوجي د.عمر الرهبيني | #بودكاست_دال", "bd566558-b738-4f70-9725-a5c65c116763", 33, false, "AMgz5NAJVMk", "https://www.youtube.com/shorts/AMgz5NAJVMk", 12, "/downloads/shorts/بودكاست دال/بودكاست دال - 2024-08-16 - [AMgz5NAJVMk].mp4", false, false, true, 208, [], 98, ~U[2024-08-16 15:46:36Z], ~U[2026-04-15 13:09:42Z], ~U[2026-04-15 13:09:42Z], "", "سرعة التقدم التكنولوجي د.عمر الرهبيني | #بودكاست_دال", 33, false, "AMgz5NAJVMk", "https://www.youtube.com/shorts/AMgz5NAJVMk", "/downloads/shorts/بودكاست دال/بودكاست دال - 2024-08-16 - [AMgz5NAJVMk].mp4", true, 208, ~U[2024-08-16 15:46:36Z]] 13:09:42.819 [debug] QUERY OK source="sources" db=0.3ms idle=10.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [208] 13:09:42.819 [debug] QUERY OK source="media_profiles" db=0.3ms 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" = ?) [2] 13:09:42.820 [debug] QUERY OK source="media_items" db=0.3ms idle=2.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [518102] 13:09:42.820 [debug] Current batch of media processed. Will check again in 1000ms 13:09:43.821 [debug] Current batch of media processed. Will check again in 1000ms 13:09:44.822 [debug] Current batch of media processed. Will check again in 1000ms 13:09:45.823 [debug] Current batch of media processed. Will check again in 1000ms 13:09:46.824 [debug] Current batch of media processed. Will check again in 1000ms 13:09:47.825 [debug] Current batch of media processed. Will check again in 1000ms 13:09:48.826 [debug] Current batch of media processed. Will check again in 1000ms 13:09:49.710 [info] GET /sources/475/media/4341932 13:09:49.710 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "4341932", "prevent_download" => "true", "source_id" => "475"} Pipelines: [:browser] 13:09:49.710 [debug] QUERY OK source="media_items" db=0.2ms idle=1700.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" = ?) [4341932] 13:09:49.711 [debug] QUERY OK source="tasks" db=0.2ms idle=1700.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" [4341932] 13:09:49.711 [debug] QUERY OK source="sources" db=0.3ms idle=1700.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" = ?) [475] 13:09:49.712 [debug] QUERY OK source="settings" db=0.1ms idle=1701.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:09:49.712 [debug] QUERY OK source="settings" db=0.1ms idle=895.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:09:49.712 [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 [] 13:09:49.713 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 13:09:49.715 [info] Sent 200 in 5ms 13:09:49.827 [debug] Current batch of media processed. Will check again in 1000ms 13:09:50.828 [debug] Current batch of media processed. Will check again in 1000ms 13:09:51.829 [debug] Current batch of media processed. Will check again in 1000ms 13:09:52.830 [debug] Current batch of media processed. Will check again in 1000ms 13:09:53.831 [debug] Current batch of media processed. Will check again in 1000ms 13:09:54.832 [debug] Current batch of media processed. Will check again in 1000ms 13:09:55.833 [debug] Current batch of media processed. Will check again in 1000ms 13:09:56.834 [debug] Current batch of media processed. Will check again in 1000ms 13:09:57.835 [debug] Current batch of media processed. Will check again in 1000ms 13:09:58.836 [debug] Current batch of media processed. Will check again in 1000ms 13:09:59.837 [debug] Current batch of media processed. Will check again in 1000ms 13:10:00.838 [debug] Current batch of media processed. Will check again in 1000ms 13:10:00.846 [info] {"source":"oban","duration":123,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:10:01.839 [debug] Current batch of media processed. Will check again in 1000ms 13:10:02.840 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "", "duration" => 57, "filename" => "/downloads/shorts/بودكاست دال/بودكاست دال - 2024-08-13 - [oD0wd8_4a5s].mp4", "id" => "oD0wd8_4a5s", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/oD0wd8_4a5s", "playlist_index" => 13, "timestamp" => 1723583009, "title" => "مين يحدد معايير الجمال؟", "upload_date" => "20240813"} 13:10:02.840 [debug] QUERY OK source="sources" db=0.1ms idle=1830.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" IN (?)) [208] 13:10:02.841 [debug] QUERY OK source="sources" db=0.1ms idle=1830.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" = ?) [208] 13:10:02.841 [debug] QUERY OK source="media_items" db=0.2ms idle=1007.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-08-13 21:03:29Z], 208] 13:10:02.842 [debug] QUERY OK source="media_items" db=0.6ms idle=831.9ms INSERT INTO "media_items" AS m0 ("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) 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" ["مين يحدد معايير الجمال؟", "7b824278-f10a-4cf5-aafc-b66d7b334826", 57, false, "oD0wd8_4a5s", "https://www.youtube.com/shorts/oD0wd8_4a5s", 13, "/downloads/shorts/بودكاست دال/بودكاست دال - 2024-08-13 - [oD0wd8_4a5s].mp4", false, false, true, 208, [], 98, ~U[2024-08-13 21:03:29Z], ~U[2026-04-15 13:10:02Z], ~U[2026-04-15 13:10:02Z], "", "مين يحدد معايير الجمال؟", 57, false, "oD0wd8_4a5s", "https://www.youtube.com/shorts/oD0wd8_4a5s", "/downloads/shorts/بودكاست دال/بودكاست دال - 2024-08-13 - [oD0wd8_4a5s].mp4", true, 208, ~U[2024-08-13 21:03:29Z]] 13:10:02.843 [debug] QUERY OK source="sources" db=0.3ms idle=8.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [208] 13:10:02.843 [debug] QUERY OK source="media_profiles" db=0.3ms 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" = ?) [2] 13:10:02.844 [debug] QUERY OK source="media_items" db=0.3ms 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 [518104] 13:10:02.844 [debug] Current batch of media processed. Will check again in 1000ms 13:10:03.845 [debug] Current batch of media processed. Will check again in 1000ms 13:10:04.846 [debug] Current batch of media processed. Will check again in 1000ms 13:10:05.847 [debug] Current batch of media processed. Will check again in 1000ms 13:10:06.848 [debug] Current batch of media processed. Will check again in 1000ms 13:10:07.849 [debug] Current batch of media processed. Will check again in 1000ms 13:10:08.850 [debug] Current batch of media processed. Will check again in 1000ms 13:10:09.851 [debug] Current batch of media processed. Will check again in 1000ms 13:10:10.852 [debug] Current batch of media processed. Will check again in 1000ms 13:10:11.853 [debug] Current batch of media processed. Will check again in 1000ms 13:10:12.666 [info] {"source":"oban","duration":17952,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:10:12.854 [debug] Current batch of media processed. Will check again in 1000ms 13:10:13.855 [debug] Current batch of media processed. Will check again in 1000ms 13:10:14.856 [debug] Current batch of media processed. Will check again in 1000ms 13:10:15.857 [debug] Current batch of media processed. Will check again in 1000ms 13:10:16.857 [info] {"args":{"id":369},"id":2192033,"meta":{},"system_time":1776258616857615484,"max_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:16.858 [debug] Current batch of media processed. Will check again in 1000ms 13:10:16.858 [debug] QUERY OK source="sources" db=0.3ms idle=847.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" = ?) [369] 13:10:16.858 [debug] QUERY OK source="settings" db=0.2ms idle=848.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:16.859 [debug] QUERY OK source="media_profiles" db=0.2ms idle=848.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" = ?) [2] 13:10:16.859 [debug] QUERY OK source="settings" db=0.2ms idle=9.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:10:16.859 [debug] Fetching recent media IDs from YouTube API for playlist: UUFip-ErYXshRD3JDzriXN8A 13:10:16.860 [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 [] 13:10:16.860 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 13:10:17.149 [debug] QUERY OK source="media_items" db=1.2ms idle=289.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [369, "DQv6aNQGC7U", "bRWEUhphHPE", "VvVu3U8zWOk", "ymIGDQ_lFic", "sn5er6zKTOM", "l9SYxo3_WYA", "osD94bZvUNI", "x8k0cka3Jrs", "7DViK_gisxQ", "1kUHccnNCBE", "AT_LfjiIfBs", "z7VTLIQIyXU", "Gdhcgro17Jw", "OD4Qw7uHCDY", "yLhAyK4fueE", "S1Rqu2jZ3UQ", "EMT89YeL3_g", "8vYZG1ZQo8Y", "jz0YVdItrbE", "aKVtJOvfKzo", "tghPmSQT2Wk", "jdyjuGoXtDM", "StnfONNEX2I", "WN2lzujwn_E", "rginTPQL0Cg", "FTjStFQp_t8", "raC19wUTKFg", "mSuYy69iqzc", "iGQa4KKLsZs", "yDL4zfreZoA", "qQ3Pu_-jSV0", "jaWsFdp-IOY", "sCmYYToePnc", "B516P24Ybv8", "VZdGUFgS_4c", "rwWM2fmlaAs", "nynfq_Mkh-g", "qVK33N5Bub8", "uf23M5FpLuI", "dJwsQ1VZN30", "ZYqB8-5sm1U", "-NFujChdR2Y", "0GdSItbC5Zo", "YW2nunQNtoc", "7bZxSj5IWrw", "TVgZaGPrRQc", "edD3Xrrqb-w", "xZrmgMBcPlI", "sTSgoM5zlHI", ...] 13:10:17.151 [debug] QUERY OK source="media_items" db=0.7ms idle=291.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [369] 13:10:17.152 [debug] QUERY OK source="tasks" db=0.3ms idle=292.4ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2192068, 369, ~U[2026-04-15 13:10:17Z], ~U[2026-04-15 13:10:17Z]] 13:10:17.153 [info] {"args":{"id":369},"id":2192033,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":295317,"event":"job:stop","queue_time":462484,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:10:17.859 [debug] Current batch of media processed. Will check again in 1000ms 13:10:18.860 [debug] Current batch of media processed. Will check again in 1000ms 13:10:19.861 [debug] Current batch of media processed. Will check again in 1000ms 13:10:20.862 [debug] Current batch of media processed. Will check again in 1000ms 13:10:21.863 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.57, "description" => "", "duration" => 47, "filename" => "/downloads/shorts/بودكاست دال/بودكاست دال - 2024-08-11 - [BNENnKGS7TE].mp4", "id" => "BNENnKGS7TE", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/BNENnKGS7TE", "playlist_index" => 14, "timestamp" => 1723389929, "title" => "اهم نصيحة لبدء تجاره خاصه", "upload_date" => "20240811"} 13:10:21.863 [debug] QUERY OK source="sources" db=0.2ms idle=853.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" IN (?)) [208] 13:10:21.864 [debug] QUERY OK source="sources" db=0.2ms idle=854.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" = ?) [208] 13:10:21.865 [debug] QUERY OK source="media_items" db=0.2ms idle=854.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-08-11 15:25:29Z], 208] 13:10:21.866 [debug] QUERY OK source="media_items" db=0.6ms idle=855.1ms INSERT INTO "media_items" AS m0 ("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) 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" ["اهم نصيحة لبدء تجاره خاصه", "d6d67c57-39d1-4296-a0e4-4538431e39be", 47, false, "BNENnKGS7TE", "https://www.youtube.com/shorts/BNENnKGS7TE", 14, "/downloads/shorts/بودكاست دال/بودكاست دال - 2024-08-11 - [BNENnKGS7TE].mp4", false, false, true, 208, [], 98, ~U[2024-08-11 15:25:29Z], ~U[2026-04-15 13:10:21Z], ~U[2026-04-15 13:10:21Z], "", "اهم نصيحة لبدء تجاره خاصه", 47, false, "BNENnKGS7TE", "https://www.youtube.com/shorts/BNENnKGS7TE", "/downloads/shorts/بودكاست دال/بودكاست دال - 2024-08-11 - [BNENnKGS7TE].mp4", true, 208, ~U[2024-08-11 15:25:29Z]] 13:10:21.866 [debug] QUERY OK source="sources" db=0.2ms idle=10.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [208] 13:10:21.867 [debug] QUERY OK source="media_profiles" db=0.2ms 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" = ?) [2] 13:10:21.867 [debug] QUERY OK source="media_items" db=0.4ms 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 [518106] 13:10:21.868 [debug] Current batch of media processed. Will check again in 1000ms 13:10:22.869 [debug] Current batch of media processed. Will check again in 1000ms 13:10:23.870 [debug] Current batch of media processed. Will check again in 1000ms 13:10:24.871 [debug] Current batch of media processed. Will check again in 1000ms 13:10:25.872 [debug] Current batch of media processed. Will check again in 1000ms 13:10:26.873 [debug] Current batch of media processed. Will check again in 1000ms 13:10:27.874 [debug] Current batch of media processed. Will check again in 1000ms 13:10:28.875 [debug] Current batch of media processed. Will check again in 1000ms 13:10:29.876 [debug] Current batch of media processed. Will check again in 1000ms 13:10:30.877 [debug] Current batch of media processed. Will check again in 1000ms 13:10:31.878 [debug] Current batch of media processed. Will check again in 1000ms 13:10:32.879 [debug] Current batch of media processed. Will check again in 1000ms 13:10:33.880 [debug] Current batch of media processed. Will check again in 1000ms 13:10:34.881 [debug] Current batch of media processed. Will check again in 1000ms 13:10:35.882 [debug] Current batch of media processed. Will check again in 1000ms 13:10:36.883 [debug] Current batch of media processed. Will check again in 1000ms 13:10:37.884 [debug] Current batch of media processed. Will check again in 1000ms 13:10:38.885 [debug] Current batch of media processed. Will check again in 1000ms 13:10:39.886 [debug] Current batch of media processed. Will check again in 1000ms 13:10:40.887 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "", "duration" => 38, "filename" => "/downloads/shorts/بودكاست دال/بودكاست دال - 2024-08-10 - [VkTgQxBEdgc].mp4", "id" => "VkTgQxBEdgc", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/VkTgQxBEdgc", "playlist_index" => 15, "timestamp" => 1723308211, "title" => "هل مظهرك أهم من مهارتك؟", "upload_date" => "20240810"} 13:10:40.887 [debug] QUERY OK source="sources" db=0.1ms idle=1877.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" IN (?)) [208] 13:10:40.888 [debug] QUERY OK source="sources" db=0.1ms idle=1877.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" = ?) [208] 13:10:40.888 [debug] QUERY OK source="media_items" db=0.2ms idle=1877.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-08-10 16:43:31Z], 208] 13:10:40.889 [debug] QUERY OK source="media_items" db=0.6ms idle=1009.8ms INSERT INTO "media_items" AS m0 ("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) 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" ["هل مظهرك أهم من مهارتك؟", "ab610247-d5ba-43ce-bc71-01611e754bfd", 38, false, "VkTgQxBEdgc", "https://www.youtube.com/shorts/VkTgQxBEdgc", 15, "/downloads/shorts/بودكاست دال/بودكاست دال - 2024-08-10 - [VkTgQxBEdgc].mp4", false, false, true, 208, [], 98, ~U[2024-08-10 16:43:31Z], ~U[2026-04-15 13:10:40Z], ~U[2026-04-15 13:10:40Z], "", "هل مظهرك أهم من مهارتك؟", 38, false, "VkTgQxBEdgc", "https://www.youtube.com/shorts/VkTgQxBEdgc", "/downloads/shorts/بودكاست دال/بودكاست دال - 2024-08-10 - [VkTgQxBEdgc].mp4", true, 208, ~U[2024-08-10 16:43:31Z]] 13:10:40.889 [debug] QUERY OK source="sources" db=0.2ms idle=9.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [208] 13:10:40.890 [debug] QUERY OK source="media_profiles" db=0.2ms 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" = ?) [2] 13:10:40.890 [debug] QUERY OK source="media_items" db=0.3ms idle=2.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [518108] 13:10:40.891 [debug] Current batch of media processed. Will check again in 1000ms 13:10:41.063 [info] GET /sources/519/media/4635319 13:10:41.063 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "4635319", "prevent_download" => "true", "source_id" => "519"} Pipelines: [:browser] 13:10:41.064 [debug] QUERY OK source="media_items" db=0.3ms idle=175.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" = ?) [4635319] 13:10:41.064 [debug] QUERY OK source="tasks" db=0.1ms idle=175.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" [4635319] 13:10:41.065 [debug] QUERY OK source="sources" db=0.3ms idle=174.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" = ?) [519] 13:10:41.065 [debug] QUERY OK source="oban_jobs" db=0.2ms idle=174.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" = ?) [2113160] 13:10:41.066 [debug] QUERY OK source="settings" db=0.1ms idle=174.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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.066 [debug] QUERY OK source="settings" db=0.1ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:10:41.066 [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 [] 13:10:41.067 [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" = ?) [2] 13:10:41.069 [info] Sent 200 in 6ms 13:10:41.892 [debug] Current batch of media processed. Will check again in 1000ms 13:10:42.684 [info] {"source":"oban","duration":17735,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:10:42.893 [debug] Current batch of media processed. Will check again in 1000ms 13:10:43.894 [debug] Current batch of media processed. Will check again in 1000ms 13:10:44.895 [debug] Current batch of media processed. Will check again in 1000ms 13:10:45.896 [debug] Current batch of media processed. Will check again in 1000ms 13:10:46.897 [debug] Current batch of media processed. Will check again in 1000ms 13:10:47.898 [debug] Current batch of media processed. Will check again in 1000ms 13:10:48.899 [debug] Current batch of media processed. Will check again in 1000ms 13:10:49.900 [debug] Current batch of media processed. Will check again in 1000ms 13:10:50.901 [debug] Current batch of media processed. Will check again in 1000ms 13:10:51.902 [debug] Current batch of media processed. Will check again in 1000ms 13:10:52.903 [debug] Current batch of media processed. Will check again in 1000ms 13:10:53.904 [debug] Current batch of media processed. Will check again in 1000ms 13:10:54.905 [debug] Current batch of media processed. Will check again in 1000ms 13:10:55.906 [debug] Current batch of media processed. Will check again in 1000ms 13:10:56.907 [debug] Current batch of media processed. Will check again in 1000ms 13:10:57.908 [debug] Current batch of media processed. Will check again in 1000ms 13:10:58.909 [debug] Current batch of media processed. Will check again in 1000ms 13:10:59.910 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.55, "description" => "", "duration" => 37, "filename" => "/downloads/shorts/بودكاست دال/بودكاست دال - 2024-08-08 - [Ir8mrHQ3qy0].mp4", "id" => "Ir8mrHQ3qy0", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/Ir8mrHQ3qy0", "playlist_index" => 16, "timestamp" => 1723132827, "title" => "كيف يستمر العمل؟", "upload_date" => "20240808"} 13:10:59.910 [debug] QUERY OK source="sources" db=0.2ms idle=1010.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" IN (?)) [208] 13:10:59.911 [debug] QUERY OK source="sources" db=0.2ms idle=900.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" = ?) [208] 13:10:59.911 [debug] QUERY OK source="media_items" db=0.2ms idle=901.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-08-08 16:00:27Z], 208] 13:10:59.912 [debug] QUERY OK source="media_items" db=0.5ms idle=901.8ms INSERT INTO "media_items" AS m0 ("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) 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" ["كيف يستمر العمل؟", "a15cf446-c205-4993-a2c0-0a3964db6e71", 37, false, "Ir8mrHQ3qy0", "https://www.youtube.com/shorts/Ir8mrHQ3qy0", 16, "/downloads/shorts/بودكاست دال/بودكاست دال - 2024-08-08 - [Ir8mrHQ3qy0].mp4", false, false, true, 208, [], 98, ~U[2024-08-08 16:00:27Z], ~U[2026-04-15 13:10:59Z], ~U[2026-04-15 13:10:59Z], "", "كيف يستمر العمل؟", 37, false, "Ir8mrHQ3qy0", "https://www.youtube.com/shorts/Ir8mrHQ3qy0", "/downloads/shorts/بودكاست دال/بودكاست دال - 2024-08-08 - [Ir8mrHQ3qy0].mp4", true, 208, ~U[2024-08-08 16:00:27Z]] 13:10:59.913 [debug] QUERY OK source="sources" db=0.3ms idle=11.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [208] 13:10:59.913 [debug] QUERY OK source="media_profiles" db=0.3ms 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" = ?) [2] 13:10:59.914 [debug] QUERY OK source="media_items" db=0.3ms idle=2.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [518110] 13:10:59.914 [debug] Current batch of media processed. Will check again in 1000ms 13:11:00.847 [info] {"source":"oban","duration":163,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:11:00.915 [debug] Current batch of media processed. Will check again in 1000ms 13:11:01.916 [debug] Current batch of media processed. Will check again in 1000ms 13:11:02.917 [debug] Current batch of media processed. Will check again in 1000ms 13:11:03.918 [debug] Current batch of media processed. Will check again in 1000ms 13:11:04.919 [debug] Current batch of media processed. Will check again in 1000ms 13:11:05.920 [debug] Current batch of media processed. Will check again in 1000ms 13:11:06.921 [debug] Current batch of media processed. Will check again in 1000ms 13:11:07.916 [info] {"args":{"id":46},"id":2192034,"meta":{},"system_time":1776258667916708724,"max_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:07.917 [debug] QUERY OK source="sources" db=0.1ms idle=906.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" = ?) [46] 13:11:07.917 [debug] QUERY OK source="settings" db=0.1ms idle=907.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:11:07.917 [debug] QUERY OK source="media_profiles" db=0.1ms idle=907.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" = ?) [2] 13:11:07.917 [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 [] 13:11:07.917 [debug] Fetching recent media IDs from YouTube API for playlist: UU6A5Hm2n4ua3gYOHAXxbwbg 13:11:07.918 [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 [] 13:11:07.918 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 13:11:07.922 [debug] Current batch of media processed. Will check again in 1000ms 13:11:08.260 [debug] QUERY OK source="media_items" db=1.3ms idle=341.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [46, "91FeGvZJScY", "CYBhH_JYrao", "bZT12EHs9Yg", "kbyoiRxn4PI", "SOBkcZSh9II", "zxgDhss5Exw", "amWmTGGET0E", "lHSr_TCLAhk", "fAvcbWRtbyY", "sSD4o9fv_Ew", "krEyWTE0BnQ", "Kz54TXV2ZA4", "PtuYWSOmUPg", "xjw6HjH1noU", "hC2iGUBovAE", "dI34Vp0NFxo", "iH5m0ygselg", "HxUaarF3cOE", "MMOATdS4HTY", "hNctdULnqXQ", "hri9lwiAmbU", "MpuKiJvR3iU", "ZGhsiJ7xyMM", "FlX8Oi3j2lA", "qotJKnBv_XY", "S-NmaIYR_9A", "nOUKPh8FyOA", "sPXEIXVBQPc", "VLm4ts60Jlw", "cM_ILEVbG38", "tZvrO4sGQS0", "OZP4vBfv8cY", "zyjZ2Ywo-sE", "0h-0sZswhS0", "LPVlRTKp4LY", "Jw9Oufynn44", "-SAsUMbDi0c", "vULJb128GAs", "PHs_eSgo9O4", "9CenR6dKkp4", "iO8InAwJARw", "pxSbAVwVPtg", "jvQiQnJUkYE", "okvHOwXHwrs", "Ske0itt1bEY", "T0L4hNCy_9Q", "A0ZpqNJzNcM", "y1yd3nZ9CEk", "pNZjleftqOs", ...] 13:11:08.264 [debug] QUERY OK source="media_items" db=2.2ms idle=344.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")))) [46] 13:11:08.265 [debug] QUERY OK source="tasks" db=0.2ms idle=347.4ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2192069, 46, ~U[2026-04-15 13:11:08Z], ~U[2026-04-15 13:11:08Z]] 13:11:08.266 [info] {"args":{"id":46},"id":2192034,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":349280,"event":"job:stop","queue_time":169707,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:11:08.923 [debug] Current batch of media processed. Will check again in 1000ms 13:11:09.924 [debug] Current batch of media processed. Will check again in 1000ms 13:11:10.925 [debug] Current batch of media processed. Will check again in 1000ms 13:11:11.926 [debug] Current batch of media processed. Will check again in 1000ms 13:11:12.702 [info] {"source":"oban","duration":17836,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:11:12.927 [debug] Current batch of media processed. Will check again in 1000ms 13:11:13.928 [debug] Current batch of media processed. Will check again in 1000ms 13:11:14.929 [debug] Current batch of media processed. Will check again in 1000ms 13:11:15.930 [debug] Current batch of media processed. Will check again in 1000ms 13:11:16.931 [debug] Current batch of media processed. Will check again in 1000ms 13:11:17.932 [debug] Current batch of media processed. Will check again in 1000ms 13:11:18.933 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.55, "description" => "", "duration" => 34, "filename" => "/downloads/shorts/بودكاست دال/بودكاست دال - 2024-08-06 - [3EYn_ftNePw].mp4", "id" => "3EYn_ftNePw", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/3EYn_ftNePw", "playlist_index" => 17, "timestamp" => 1722959700, "title" => "ليش ممنوع التسويق في فرنسا ؟؟🇫🇷🥖 #بودكاست_دال #اكسبلور", "upload_date" => "20240806"} 13:11:18.933 [debug] QUERY OK source="sources" db=0.2ms idle=923.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" IN (?)) [208] 13:11:18.934 [debug] QUERY OK source="sources" db=0.1ms idle=923.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" = ?) [208] 13:11:18.934 [debug] QUERY OK source="media_items" db=0.2ms idle=924.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-08-06 15:55:00Z], 208] 13:11:18.935 [debug] QUERY OK source="media_items" db=0.6ms idle=924.8ms INSERT INTO "media_items" AS m0 ("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) 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" ["ليش ممنوع التسويق في فرنسا ؟؟🇫🇷🥖 #بودكاست_دال #اكسبلور", "0d3fb48e-84c6-4a84-8d06-972cb6b18824", 34, false, "3EYn_ftNePw", "https://www.youtube.com/shorts/3EYn_ftNePw", 17, "/downloads/shorts/بودكاست دال/بودكاست دال - 2024-08-06 - [3EYn_ftNePw].mp4", false, false, true, 208, [], 98, ~U[2024-08-06 15:55:00Z], ~U[2026-04-15 13:11:18Z], ~U[2026-04-15 13:11:18Z], "", "ليش ممنوع التسويق في فرنسا ؟؟🇫🇷🥖 #بودكاست_دال #اكسبلور", 34, false, "3EYn_ftNePw", "https://www.youtube.com/shorts/3EYn_ftNePw", "/downloads/shorts/بودكاست دال/بودكاست دال - 2024-08-06 - [3EYn_ftNePw].mp4", true, 208, ~U[2024-08-06 15:55:00Z]] 13:11:18.936 [debug] QUERY OK source="sources" db=0.3ms idle=12.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [208] 13:11:18.937 [debug] QUERY OK source="media_profiles" db=0.8ms 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" = ?) [2] 13:11:18.938 [debug] QUERY OK source="media_items" db=0.4ms idle=3.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [518112] 13:11:18.938 [debug] Current batch of media processed. Will check again in 1000ms 13:11:19.939 [debug] Current batch of media processed. Will check again in 1000ms 13:11:20.933 [info] {"args":{"id":162},"id":2192035,"meta":{},"system_time":1776258680932990580,"max_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:20.933 [debug] QUERY OK source="sources" db=0.2ms idle=922.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" = ?) [162] 13:11:20.934 [debug] QUERY OK source="settings" db=0.1ms idle=923.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:20.934 [debug] QUERY OK source="media_profiles" db=0.2ms idle=923.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" = ?) [2] 13:11:20.934 [debug] QUERY OK source="settings" db=0.2ms idle=8.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:11:20.934 [debug] Fetching recent media IDs from YouTube API for playlist: UUABzsyFLLA-fKu05lR-49RA 13:11:20.935 [debug] QUERY OK source="settings" db=0.1ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:11:20.935 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 13:11:20.940 [debug] Current batch of media processed. Will check again in 1000ms 13:11:21.291 [debug] QUERY OK source="media_items" db=1.2ms idle=356.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [162, "ekjubKROBRg", "4pyotqfBLhM", "2rPbJvL3j4Y", "2O90s2wLTos", "8ZEYPhSYVIE", "MhmiUOWYTxY", "T3HEM7ZNQPA", "V9g3NsG6ut4", "KFgnlLa1D3c", "xuK6RuwvSqs", "d1T9zgY6e8U", "U37vbS9xCmA", "4VfVt3CmdrE", "LHNQ0Hi1a0Q", "kiBovELN07k", "_BwwTsb2TI0", "O9nDiWzdXlo", "T0ZcxY4D2aA", "-12pzaDhv_A", "p2YtdDNlU6k", "FJ9jGXXdoUo", "QbRHZBbwpbA", "jo9TYjGV7uQ", "eECh3m0EVG0", "VvwxdVWgXh0", "qVXJvOy80Q4", "3F4x-FMlEjA", "Tf07AdpNyww", "eP5Nph4v_DE", "ZnLiB07EjmM", "SRE_KFmxcq8", "Lx_lGb9dkYQ", "dMZ3w9NsjrM", "saSk7K_qJEo", "zrRiTNHXA1w", "JDEMAWmI6hU", "PODXln9kxPI", "ewnhb2rTabk", "ZbgB2Wdq6pA", "83PGdBO5sJk", "Z5K6fG36bDM", "snQvJ89e53Y", "15cm2QYHlSY", "Sh9rBNM8AHk", "NOZ6drrRrI8", "PHEHlvvVeAw", "t9omgey7Q0w", "6IYTsuTZeuI", "swAglzdSLts", ...] 13:11:21.295 [debug] QUERY OK source="media_items" db=2.6ms idle=358.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")))) [162] 13:11:21.297 [debug] QUERY OK source="tasks" db=0.2ms idle=361.4ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2192070, 162, ~U[2026-04-15 13:11:21Z], ~U[2026-04-15 13:11:21Z]] 13:11:21.297 [info] {"args":{"id":162},"id":2192035,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":364087,"event":"job:stop","queue_time":545458,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:11:21.941 [debug] Current batch of media processed. Will check again in 1000ms 13:11:22.942 [debug] Current batch of media processed. Will check again in 1000ms 13:11:23.943 [debug] Current batch of media processed. Will check again in 1000ms 13:11:24.944 [debug] Current batch of media processed. Will check again in 1000ms 13:11:25.945 [debug] Current batch of media processed. Will check again in 1000ms 13:11:26.946 [debug] Current batch of media processed. Will check again in 1000ms 13:11:27.947 [debug] Current batch of media processed. Will check again in 1000ms 13:11:28.906 [info] GET /sources/125/media/4642823 13:11:28.906 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "4642823", "prevent_download" => "true", "source_id" => "125"} Pipelines: [:browser] 13:11:28.907 [debug] QUERY OK source="media_items" db=0.2ms idle=1897.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" = ?) [4642823] 13:11:28.908 [debug] QUERY OK source="tasks" db=0.1ms idle=1897.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" [4642823] 13:11:28.908 [debug] QUERY OK source="sources" db=0.3ms idle=1897.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" = ?) [125] 13:11:28.908 [debug] QUERY OK source="settings" db=0.1ms idle=1898.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:11:28.909 [debug] QUERY OK source="settings" db=0.1ms idle=973.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:28.909 [debug] QUERY OK source="settings" db=0.0ms 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 [] 13:11:28.910 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 13:11:28.911 [info] Sent 200 in 5ms 13:11:28.948 [debug] Current batch of media processed. Will check again in 1000ms 13:11:29.949 [debug] Current batch of media processed. Will check again in 1000ms 13:11:30.950 [debug] Current batch of media processed. Will check again in 1000ms 13:11:31.951 [debug] Current batch of media processed. Will check again in 1000ms 13:11:32.952 [debug] Current batch of media processed. Will check again in 1000ms 13:11:33.953 [debug] Current batch of media processed. Will check again in 1000ms 13:11:34.954 [debug] Current batch of media processed. Will check again in 1000ms 13:11:35.955 [debug] Current batch of media processed. Will check again in 1000ms 13:11:36.956 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.55, "description" => "", "duration" => 55, "filename" => "/downloads/shorts/بودكاست دال/بودكاست دال - 2024-08-02 - [wyjbXqtuRa8].mp4", "id" => "wyjbXqtuRa8", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/wyjbXqtuRa8", "playlist_index" => 18, "timestamp" => 1722610865, "title" => "شاهد قبل اتخاذ اجراء تجميل الأسنان #بودكاست #طبيبة_اسنان", "upload_date" => "20240802"} 13:11:36.956 [debug] QUERY OK source="sources" db=0.2ms idle=946.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" IN (?)) [208] 13:11:36.957 [debug] QUERY OK source="sources" db=0.2ms idle=946.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" = ?) [208] 13:11:36.957 [debug] QUERY OK source="media_items" db=0.2ms idle=947.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-08-02 15:01:05Z], 208] 13:11:36.959 [debug] QUERY OK source="media_items" db=0.6ms idle=947.9ms INSERT INTO "media_items" AS m0 ("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) 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" ["شاهد قبل اتخاذ اجراء تجميل الأسنان #بودكاست #طبيبة_اسنان", "991f12fe-792e-4853-a583-fac451f09e29", 55, false, "wyjbXqtuRa8", "https://www.youtube.com/shorts/wyjbXqtuRa8", 18, "/downloads/shorts/بودكاست دال/بودكاست دال - 2024-08-02 - [wyjbXqtuRa8].mp4", false, false, true, 208, [], 98, ~U[2024-08-02 15:01:05Z], ~U[2026-04-15 13:11:36Z], ~U[2026-04-15 13:11:36Z], "", "شاهد قبل اتخاذ اجراء تجميل الأسنان #بودكاست #طبيبة_اسنان", 55, false, "wyjbXqtuRa8", "https://www.youtube.com/shorts/wyjbXqtuRa8", "/downloads/shorts/بودكاست دال/بودكاست دال - 2024-08-02 - [wyjbXqtuRa8].mp4", true, 208, ~U[2024-08-02 15:01:05Z]] 13:11:36.959 [debug] QUERY OK source="sources" db=0.3ms idle=11.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [208] 13:11:36.960 [debug] QUERY OK source="media_profiles" db=0.3ms idle=3.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 13:11:36.960 [debug] QUERY OK source="media_items" db=0.3ms idle=3.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [518114] 13:11:36.961 [debug] Current batch of media processed. Will check again in 1000ms 13:11:37.962 [debug] Current batch of media processed. Will check again in 1000ms 13:11:38.963 [debug] Current batch of media processed. Will check again in 1000ms 13:11:39.964 [debug] Current batch of media processed. Will check again in 1000ms 13:11:40.965 [debug] Current batch of media processed. Will check again in 1000ms 13:11:41.966 [debug] Current batch of media processed. Will check again in 1000ms 13:11:42.722 [info] {"source":"oban","duration":17969,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:11:42.967 [debug] Current batch of media processed. Will check again in 1000ms 13:11:43.968 [debug] Current batch of media processed. Will check again in 1000ms 13:11:44.969 [debug] Current batch of media processed. Will check again in 1000ms 13:11:45.970 [debug] Current batch of media processed. Will check again in 1000ms 13:11:46.971 [debug] Current batch of media processed. Will check again in 1000ms 13:11:47.972 [debug] Current batch of media processed. Will check again in 1000ms 13:11:48.973 [debug] Current batch of media processed. Will check again in 1000ms 13:11:49.974 [debug] Current batch of media processed. Will check again in 1000ms 13:11:50.975 [debug] Current batch of media processed. Will check again in 1000ms 13:11:51.976 [debug] Current batch of media processed. Will check again in 1000ms 13:11:52.977 [debug] Current batch of media processed. Will check again in 1000ms 13:11:53.978 [debug] Current batch of media processed. Will check again in 1000ms 13:11:54.979 [debug] Current batch of media processed. Will check again in 1000ms 13:11:55.980 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.55, "description" => "", "duration" => 38, "filename" => "/downloads/shorts/بودكاست دال/بودكاست دال - 2024-08-01 - [QXPCRBq2SLo].mp4", "id" => "QXPCRBq2SLo", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/QXPCRBq2SLo", "playlist_index" => 19, "timestamp" => 1722524421, "title" => "نصيحة قبل عرضك التقديمي #بودكاست_دال لمشاهدة الحلقة كاملة اضغط ع فديو ذو صلة", "upload_date" => "20240801"} 13:11:55.980 [debug] QUERY OK source="sources" db=0.2ms idle=1970.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" IN (?)) [208] 13:11:55.981 [debug] QUERY OK source="sources" db=0.2ms idle=1970.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" = ?) [208] 13:11:55.981 [debug] QUERY OK source="media_items" db=0.2ms idle=1971.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-08-01 15:00:21Z], 208] 13:11:55.983 [debug] QUERY OK source="media_items" db=0.7ms idle=1013.1ms INSERT INTO "media_items" AS m0 ("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) 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" ["نصيحة قبل عرضك التقديمي #بودكاست_دال لمشاهدة الحلقة كاملة اضغط ع فديو ذو صلة", "97123a81-8e26-449f-ad13-7fa2f179a00e", 38, false, "QXPCRBq2SLo", "https://www.youtube.com/shorts/QXPCRBq2SLo", 19, "/downloads/shorts/بودكاست دال/بودكاست دال - 2024-08-01 - [QXPCRBq2SLo].mp4", false, false, true, 208, [], 98, ~U[2024-08-01 15:00:21Z], ~U[2026-04-15 13:11:55Z], ~U[2026-04-15 13:11:55Z], "", "نصيحة قبل عرضك التقديمي #بودكاست_دال لمشاهدة الحلقة كاملة اضغط ع فديو ذو صلة", 38, false, "QXPCRBq2SLo", "https://www.youtube.com/shorts/QXPCRBq2SLo", "/downloads/shorts/بودكاست دال/بودكاست دال - 2024-08-01 - [QXPCRBq2SLo].mp4", true, 208, ~U[2024-08-01 15:00:21Z]] 13:11:55.983 [debug] QUERY OK source="sources" db=0.2ms idle=13.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [208] 13:11:55.984 [debug] QUERY OK source="media_profiles" db=0.3ms 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" = ?) [2] 13:11:55.985 [debug] QUERY OK source="media_items" db=0.9ms idle=3.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 [518116] 13:11:55.985 [debug] Current batch of media processed. Will check again in 1000ms 13:11:56.986 [debug] Current batch of media processed. Will check again in 1000ms 13:11:57.987 [debug] Current batch of media processed. Will check again in 1000ms 13:11:58.988 [debug] Current batch of media processed. Will check again in 1000ms 13:11:59.989 [debug] Current batch of media processed. Will check again in 1000ms 13:12:00.848 [info] {"source":"oban","duration":140,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:12:00.990 [debug] Current batch of media processed. Will check again in 1000ms 13:12:01.991 [debug] Current batch of media processed. Will check again in 1000ms 13:12:02.992 [debug] Current batch of media processed. Will check again in 1000ms 13:12:03.993 [debug] Current batch of media processed. Will check again in 1000ms 13:12:04.994 [debug] Current batch of media processed. Will check again in 1000ms 13:12:05.995 [debug] Current batch of media processed. Will check again in 1000ms 13:12:06.990 [info] {"args":{"id":171},"id":2192037,"meta":{},"system_time":1776258726990067584,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:12:06.990 [debug] QUERY OK source="sources" db=0.2ms idle=1980.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" = ?) [171] 13:12:06.991 [debug] QUERY OK source="settings" db=0.3ms 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 [] 13:12:06.991 [debug] QUERY OK source="media_profiles" db=0.2ms idle=981.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" = ?) [2] 13:12:06.992 [debug] QUERY OK source="settings" db=0.2ms idle=8.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:12:06.992 [debug] Fetching recent media IDs from YouTube API for playlist: UUPCJJLOkkiG_nO9lZkfXnjw 13:12:06.992 [debug] QUERY OK source="settings" db=0.1ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:12:06.992 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 13:12:06.996 [debug] Current batch of media processed. Will check again in 1000ms 13:12:07.286 [debug] QUERY OK source="media_items" db=1.4ms idle=293.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [171, "VFX3pYhqhMc", "8akbqnY6xfo", "mQGq7-_ZQpk", "DvU-9b-WRJQ", "qcVMc5qMHMc", "ZyaHtWeeQJo", "ObsLfR-eCfU", "wlrCH1ymC38", "BClWowlDc8Y", "IURONY7yLa0", "tXm7P3osDUM", "fEJp3H2bGIY", "ckYlSSk9ZDY", "6eKiHxor-8w", "m4s-6oJifb4", "J4KgJCBFs3I", "JJX9_mf8FpA", "KYuy8_X3KnQ", "fAKwe1CyPFQ", "25U_zUTaGl4", "OH-Lamsjd9Q", "hswGipBbpOs", "xy6xhSL7UCs", "VV-71sXr_Eg", "GtzJpE7Immk", "rrHhJaJ4PnE", "baWEivZpZpo", "eBYlWe7Cr7U", "k2AXmp7yS9A", "Y2M9tN8gnj0", "6ma-PaQ-e6c", "JOeBw_6a5XU", "LXdTRc3Tzu4", "owNOuAsIk5U", "us6iLwMmGKE", "GaGQuySKjYQ", "LaU1HhuupRQ", "SI-1fDbu4ss", "VgyfdGRM4Pc", "rHAI52w5zxs", "lzGGMh8vkyc", "NoqX1AM-4VA", "UH4xsNgVKrU", "0mT-lxX7dLo", "YuJWnY0puNw", "_BC4l__ihhY", "yH5YAprPCA0", "JKxMb-Ky2P0", "kA0vffcJPD4", ...] 13:12:07.288 [debug] QUERY OK source="media_items" db=1.2ms idle=296.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")))) [171] 13:12:07.290 [debug] QUERY OK source="tasks" db=0.3ms idle=297.8ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2192071, 171, ~U[2026-04-15 13:12:07Z], ~U[2026-04-15 13:12:07Z]] 13:12:07.291 [info] {"args":{"id":171},"id":2192037,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":300894,"event":"job:stop","queue_time":436434,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:12:07.997 [debug] Current batch of media processed. Will check again in 1000ms 13:12:08.998 [debug] Current batch of media processed. Will check again in 1000ms 13:12:09.999 [debug] Current batch of media processed. Will check again in 1000ms 13:12:10.996 [info] {"args":{"id":45},"id":2192038,"meta":{},"system_time":1776258730996255879,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:12:10.996 [debug] QUERY OK source="sources" db=0.2ms idle=1986.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" = ?) [45] 13:12:10.997 [debug] QUERY OK source="settings" db=0.2ms idle=1986.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:12:10.997 [debug] QUERY OK source="media_profiles" db=0.2ms idle=1009.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" = ?) [2] 13:12:10.998 [debug] QUERY OK source="settings" db=0.2ms idle=8.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:12:10.998 [debug] Fetching recent media IDs from YouTube API for playlist: UUMQ18I4n6ccOSNDLfdhrUbQ 13:12:10.998 [debug] QUERY OK source="settings" db=0.1ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:12:10.998 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 13:12:11.000 [debug] Current batch of media processed. Will check again in 1000ms 13:12:11.342 [debug] QUERY OK source="media_items" db=1.2ms idle=344.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [45, "K3YX-iM4LQ0", "1th0U5H3aHc", "HGQV0of6nTE", "tKUGP9uxthw", "zQ3Qx9XHEf4", "oh-kSHOIQ-c", "RIGhyFg4AEY", "v9qp1yPZt94", "gMO10EuN6KY", "guC1BavbIsk", "Fmcoi8sp3kY", "UHXR0zqI9J8", "AAbWLkNEyac", "zlJ3ZE4YpI8", "vJLpHsN9O_M", "kUUO6WBjK7Y", "9MmcAy4OnXQ", "7G_bPyOUvq0", "Rc52Q9uG9p0", "Y8n3lqN1i3g", "dD8t_STorhk", "3dNHma-3EgY", "No3485rTj_Y", "xoIs_xBbBWQ", "3K3hFo6GUvU", "NhOWgP2G6SQ", "Phk0M8YZHc4", "_IAzU1Fd9Ak", "PMpaUqMnKiI", "p0NoIs5o5_8", "dy-0x1OV7mQ", "la8vobugu4g", "x6Ya11dw01M", "btegTB5eZC8", "awVvsRDCfkw", "6RwmzCGOVYk", "DIQ2PB2ht0Y", "vu6koXlG7Po", "Eoe_RDgTSFw", "zSVaXb8nd4E", "0vFVIUPZOto", "lJ-mtNTLrHE", "uZ79fUJjhyQ", "HWMx3-Xlr6Y", "kUtb_rKxgw0", "qmiQw-kcCfI", "PtJ2G8fLzSs", "lmjBT5TyeLc", "PEM_S-3B_Ps", ...] 13:12:11.343 [debug] QUERY OK source="settings" db=0.1ms 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 [] 13:12:11.343 [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 [] 13:12:11.344 [debug] Running yt-dlp command for action: get_media_attributes 13:12:11.344 [debug] QUERY OK source="settings" db=0.1ms idle=346.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:12:11.344 [debug] QUERY OK source="settings" db=0.1ms 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 [] 13:12:11.345 [debug] QUERY OK source="settings" db=0.1ms idle=2.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:12:11.345 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=K3YX-iM4LQ0 --simulate --skip-download --output /downloads/shorts/Atheer/Atheer - %(upload_date>%Y-%m-%d)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/39/a7/39a76824ef0ad31832279a2c69669029a604cb7c5c2238a61ea30c6e2d7e8573.json --sleep-requests 5 --sleep-interval 4 --sleep-subtitles 4 --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:12:12.001 [debug] Current batch of media processed. Will check again in 1000ms 13:12:12.741 [info] {"source":"oban","duration":18492,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:12:13.002 [debug] Current batch of media processed. Will check again in 1000ms 13:12:14.003 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.55, "description" => "", "duration" => 49, "filename" => "/downloads/shorts/بودكاست دال/بودكاست دال - 2024-07-31 - [Ki0pLZAPbHM].mp4", "id" => "Ki0pLZAPbHM", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/Ki0pLZAPbHM", "playlist_index" => 20, "timestamp" => 1722438018, "title" => "كيف ابني سمعتي كطبيب اسنان #بودكاست_دال لمشاهدة الحلقة كاملة اضغط ع فديو ذو صلة", "upload_date" => "20240731"} 13:12:14.003 [debug] QUERY OK source="sources" db=0.1ms idle=1011.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" IN (?)) [208] 13:12:14.003 [debug] QUERY OK source="sources" db=0.1ms idle=993.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" = ?) [208] 13:12:14.004 [debug] QUERY OK source="media_items" db=0.2ms idle=993.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-07-31 15:00:18Z], 208] 13:12:14.005 [debug] QUERY OK source="media_items" db=0.8ms idle=994.3ms INSERT INTO "media_items" AS m0 ("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) 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" ["كيف ابني سمعتي كطبيب اسنان #بودكاست_دال لمشاهدة الحلقة كاملة اضغط ع فديو ذو صلة", "0d82ab96-caf6-4548-8373-8c2edb4ac7d9", 49, false, "Ki0pLZAPbHM", "https://www.youtube.com/shorts/Ki0pLZAPbHM", 20, "/downloads/shorts/بودكاست دال/بودكاست دال - 2024-07-31 - [Ki0pLZAPbHM].mp4", false, false, true, 208, [], 98, ~U[2024-07-31 15:00:18Z], ~U[2026-04-15 13:12:14Z], ~U[2026-04-15 13:12:14Z], "", "كيف ابني سمعتي كطبيب اسنان #بودكاست_دال لمشاهدة الحلقة كاملة اضغط ع فديو ذو صلة", 49, false, "Ki0pLZAPbHM", "https://www.youtube.com/shorts/Ki0pLZAPbHM", "/downloads/shorts/بودكاست دال/بودكاست دال - 2024-07-31 - [Ki0pLZAPbHM].mp4", true, 208, ~U[2024-07-31 15:00:18Z]] 13:12:14.006 [debug] QUERY OK source="sources" db=0.9ms idle=12.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [208] 13:12:14.007 [debug] QUERY OK source="media_profiles" db=0.3ms 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" = ?) [2] 13:12:14.007 [debug] QUERY OK source="media_items" db=0.4ms idle=3.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [518118] 13:12:14.008 [debug] Current batch of media processed. Will check again in 1000ms 13:12:14.031 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@Dal_podcast/shorts --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/shorts/بودكاست دال/بودكاست دال - %(upload_date>%Y-%m-%d)S - [%(id)S].%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --break-on-existing --download-archive /tmp/pinchflat/data/59/b4/59b4af316fea4fd56069b8fb386abc2f68021f54da1cc174dce0a6d4b21d5ca3.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/db/eb/dbebac77565c4dd5caa3a8eb502e57c2606385e26095dae8b5a8f45560be9e57.json --sleep-requests 5 --sleep-interval 4 --sleep-subtitles 5 --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 101 with: 13:12:14.032 [debug] Gracefully stopping file follower 13:12:14.033 [debug] QUERY OK source="sources" db=0.6ms idle=28.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" IN (?)) [208] 13:12:14.033 [debug] QUERY OK source="sources" db=0.1ms idle=28.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" = ?) [208] 13:12:14.034 [debug] QUERY OK source="media_items" db=0.2ms idle=27.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-01-11 14:27:25Z], 208] 13:12:14.035 [debug] QUERY OK source="media_items" db=0.8ms idle=27.5ms INSERT INTO "media_items" AS m0 ("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) 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" ["❌/الروائح المزعجة في العيادات كانت منتشرة سابقاً- اما الان", "c48a7b0b-2767-40a3-9add-d1c0a137b905", 44, false, "sKCcN-7RgZs", "https://www.youtube.com/shorts/sKCcN-7RgZs", 1, "/downloads/shorts/بودكاست دال/بودكاست دال - 2025-01-11 - [sKCcN-7RgZs].mp4", false, false, true, 208, [], 98, ~U[2025-01-11 14:27:25Z], ~U[2026-04-15 13:12:14Z], ~U[2026-04-15 13:12:14Z], "", "❌/الروائح المزعجة في العيادات كانت منتشرة سابقاً- اما الان", 44, false, "sKCcN-7RgZs", "https://www.youtube.com/shorts/sKCcN-7RgZs", "/downloads/shorts/بودكاست دال/بودكاست دال - 2025-01-11 - [sKCcN-7RgZs].mp4", true, 208, ~U[2025-01-11 14:27:25Z]] 13:12:14.036 [debug] QUERY OK source="sources" db=0.3ms idle=28.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" = ?) [208] 13:12:14.037 [debug] QUERY OK source="media_items" db=0.4ms idle=3.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-01-07 05:29:03Z], 208] 13:12:14.038 [debug] QUERY OK source="media_items" db=1.3ms idle=3.6ms INSERT INTO "media_items" AS m0 ("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) 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" ["قصة مراجع فرنسي 🇫🇷", "9efca62a-4c19-4cf8-aca3-c71e2c6afa3b", 36, false, "zdy886nW9UM", "https://www.youtube.com/shorts/zdy886nW9UM", 2, "/downloads/shorts/بودكاست دال/بودكاست دال - 2025-01-07 - [zdy886nW9UM].mp4", false, false, true, 208, [], 98, ~U[2025-01-07 05:29:03Z], ~U[2026-04-15 13:12:14Z], ~U[2026-04-15 13:12:14Z], "", "قصة مراجع فرنسي 🇫🇷", 36, false, "zdy886nW9UM", "https://www.youtube.com/shorts/zdy886nW9UM", "/downloads/shorts/بودكاست دال/بودكاست دال - 2025-01-07 - [zdy886nW9UM].mp4", true, 208, ~U[2025-01-07 05:29:03Z]] 13:12:14.039 [debug] QUERY OK source="sources" db=0.3ms idle=4.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [208] 13:12:14.040 [debug] QUERY OK source="media_items" db=0.4ms idle=4.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-10-09 10:52:40Z], 208] 13:12:14.041 [debug] QUERY OK source="media_items" db=0.9ms idle=4.1ms INSERT INTO "media_items" AS m0 ("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) 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" ["هل تجد صعوبة في الاستمرار؟", "95f02eda-3f79-4bd0-8ec7-eac6292767d0", 42, false, "lq-WvALktH8", "https://www.youtube.com/shorts/lq-WvALktH8", 3, "/downloads/shorts/بودكاست دال/بودكاست دال - 2024-10-09 - [lq-WvALktH8].mp4", false, false, true, 208, [], 97, ~U[2024-10-09 10:52:40Z], ~U[2026-04-15 13:12:14Z], ~U[2026-04-15 13:12:14Z], "", "هل تجد صعوبة في الاستمرار؟", 42, false, "lq-WvALktH8", "https://www.youtube.com/shorts/lq-WvALktH8", "/downloads/shorts/بودكاست دال/بودكاست دال - 2024-10-09 - [lq-WvALktH8].mp4", true, 208, ~U[2024-10-09 10:52:40Z]] 13:12:14.042 [debug] QUERY OK source="sources" db=0.3ms idle=4.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [208] 13:12:14.042 [debug] QUERY OK source="media_items" db=0.3ms idle=3.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-10-09 10:51:41Z], 208] 13:12:14.044 [debug] QUERY OK source="media_items" db=0.8ms idle=3.7ms INSERT INTO "media_items" AS m0 ("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) 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" ["هل تجد صعوبة في الاستمرار؟", "189f4a25-d721-4497-b4c0-22ec91ec006b", 42, false, "tlz65NZrzLc", "https://www.youtube.com/shorts/tlz65NZrzLc", 4, "/downloads/shorts/بودكاست دال/بودكاست دال - 2024-10-09 - [tlz65NZrzLc].mp4", false, false, true, 208, [], 97, ~U[2024-10-09 10:51:41Z], ~U[2026-04-15 13:12:14Z], ~U[2026-04-15 13:12:14Z], "", "هل تجد صعوبة في الاستمرار؟", 42, false, "tlz65NZrzLc", "https://www.youtube.com/shorts/tlz65NZrzLc", "/downloads/shorts/بودكاست دال/بودكاست دال - 2024-10-09 - [tlz65NZrzLc].mp4", true, 208, ~U[2024-10-09 10:51:41Z]] 13:12:14.044 [debug] QUERY OK source="sources" db=0.3ms 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" = ?) [208] 13:12:14.045 [debug] QUERY OK source="media_items" db=0.4ms idle=3.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-10-05 18:26:29Z], 208] 13:12:14.046 [debug] QUERY OK source="media_items" db=0.8ms idle=3.6ms INSERT INTO "media_items" AS m0 ("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) 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" ["سر ادارة الوقت /رياضة د.محمد ال مسعود", "257de23f-a604-4cb6-a8c6-c2b481937088", 51, false, "IIlxPJeOP0M", "https://www.youtube.com/shorts/IIlxPJeOP0M", 5, "/downloads/shorts/بودكاست دال/بودكاست دال - 2024-10-05 - [IIlxPJeOP0M].mp4", false, false, true, 208, [], 98, ~U[2024-10-05 18:26:29Z], ~U[2026-04-15 13:12:14Z], ~U[2026-04-15 13:12:14Z], "", "سر ادارة الوقت /رياضة د.محمد ال مسعود", 51, false, "IIlxPJeOP0M", "https://www.youtube.com/shorts/IIlxPJeOP0M", "/downloads/shorts/بودكاست دال/بودكاست دال - 2024-10-05 - [IIlxPJeOP0M].mp4", true, 208, ~U[2024-10-05 18:26:29Z]] 13:12:14.047 [debug] QUERY OK source="sources" db=0.2ms 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" = ?) [208] 13:12:14.047 [debug] QUERY OK source="media_items" db=0.2ms idle=3.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-10-02 19:00:46Z], 208] 13:12:14.048 [debug] QUERY OK source="media_items" db=0.4ms idle=3.3ms INSERT INTO "media_items" AS m0 ("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) 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" ["اهمية عمق الهدف في استمراريتك في التمرين 🏋🏻\u200D♀️د.محمد آل مسعود #بودكاست_دال #رياضة", "5787abd9-1c65-4d1e-b45a-1b0e3cf0c045", 44, false, "JbjDqqtZ80c", "https://www.youtube.com/shorts/JbjDqqtZ80c", 6, "/downloads/shorts/بودكاست دال/بودكاست دال - 2024-10-02 - [JbjDqqtZ80c].mp4", false, false, true, 208, [], 98, ~U[2024-10-02 19:00:46Z], ~U[2026-04-15 13:12:14Z], ~U[2026-04-15 13:12:14Z], "", "اهمية عمق الهدف في استمراريتك في التمرين 🏋🏻\u200D♀️د.محمد آل مسعود #بودكاست_دال #رياضة", 44, false, "JbjDqqtZ80c", "https://www.youtube.com/shorts/JbjDqqtZ80c", "/downloads/shorts/بودكاست دال/بودكاست دال - 2024-10-02 - [JbjDqqtZ80c].mp4", true, 208, ~U[2024-10-02 19:00:46Z]] 13:12:14.049 [debug] QUERY OK source="sources" db=0.1ms 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" = ?) [208] 13:12:14.049 [debug] QUERY OK source="media_items" db=0.2ms idle=2.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-09-10 17:01:01Z], 208] 13:12:14.050 [debug] QUERY OK source="media_items" db=0.4ms idle=2.6ms INSERT INTO "media_items" AS m0 ("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) 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" ["نصيحة للتجارة العامة/الإكترونية #بودكاست_دال د.سامي الصوان", "eb099022-0ac6-4f41-9a6f-2e3f959bd0d6", 37, false, "Qm00o6hUOzY", "https://www.youtube.com/shorts/Qm00o6hUOzY", 7, "/downloads/shorts/بودكاست دال/بودكاست دال - 2024-09-10 - [Qm00o6hUOzY].mp4", false, false, true, 208, [], 98, ~U[2024-09-10 17:01:01Z], ~U[2026-04-15 13:12:14Z], ~U[2026-04-15 13:12:14Z], "", "نصيحة للتجارة العامة/الإكترونية #بودكاست_دال د.سامي الصوان", 37, false, "Qm00o6hUOzY", "https://www.youtube.com/shorts/Qm00o6hUOzY", "/downloads/shorts/بودكاست دال/بودكاست دال - 2024-09-10 - [Qm00o6hUOzY].mp4", true, 208, ~U[2024-09-10 17:01:01Z]] 13:12:14.051 [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" = ?) [208] 13:12:14.051 [debug] QUERY OK source="media_items" db=0.1ms idle=2.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-08-27 17:34:40Z], 208] 13:12:14.052 [debug] QUERY OK source="media_items" db=0.4ms idle=2.5ms INSERT INTO "media_items" AS m0 ("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) 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" ["سر السعادة: توقف عن محاولة إرضاء الجميع! #بودكاست_دال", "72f10fbf-214e-4348-9f3d-8672537589d5", 31, false, "cSJFN_BvygM", "https://www.youtube.com/shorts/cSJFN_BvygM", 8, "/downloads/shorts/بودكاست دال/بودكاست دال - 2024-08-27 - [cSJFN_BvygM].mp4", false, false, true, 208, [], 98, ~U[2024-08-27 17:34:40Z], ~U[2026-04-15 13:12:14Z], ~U[2026-04-15 13:12:14Z], "", "سر السعادة: توقف عن محاولة إرضاء الجميع! #بودكاست_دال", 31, false, "cSJFN_BvygM", "https://www.youtube.com/shorts/cSJFN_BvygM", "/downloads/shorts/بودكاست دال/بودكاست دال - 2024-08-27 - [cSJFN_BvygM].mp4", true, 208, ~U[2024-08-27 17:34:40Z]] 13:12:14.052 [debug] QUERY OK source="sources" db=0.1ms 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" = ?) [208] 13:12:14.053 [debug] QUERY OK source="media_items" db=0.2ms idle=2.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-08-25 15:21:13Z], 208] 13:12:14.054 [debug] QUERY OK source="media_items" db=0.4ms idle=2.3ms INSERT INTO "media_items" AS m0 ("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) 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" ["سرعة التقدم التقني #بودكاست_دال #تقنية", "344f68b6-f34c-47db-85fc-c377eaf158d4", 33, false, "12u1MamiiNM", "https://www.youtube.com/shorts/12u1MamiiNM", 9, "/downloads/shorts/بودكاست دال/بودكاست دال - 2024-08-25 - [12u1MamiiNM].mp4", false, false, true, 208, [], 98, ~U[2024-08-25 15:21:13Z], ~U[2026-04-15 13:12:14Z], ~U[2026-04-15 13:12:14Z], "", "سرعة التقدم التقني #بودكاست_دال #تقنية", 33, false, "12u1MamiiNM", "https://www.youtube.com/shorts/12u1MamiiNM", "/downloads/shorts/بودكاست دال/بودكاست دال - 2024-08-25 - [12u1MamiiNM].mp4", true, 208, ~U[2024-08-25 15:21:13Z]] 13:12:14.054 [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" = ?) [208] 13:12:14.054 [debug] QUERY OK source="media_items" db=0.2ms idle=2.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-08-19 15:29:19Z], 208] 13:12:14.055 [debug] QUERY OK source="media_items" db=0.4ms idle=2.3ms INSERT INTO "media_items" AS m0 ("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) 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" ["نصيحة للرجال المقبلين ع الزواج #بودكاست #اكسبلور", "64c116e8-bb4b-4a20-a22a-78ff1a58d6d0", 32, false, "aO9iszddU24", "https://www.youtube.com/shorts/aO9iszddU24", 10, "/downloads/shorts/بودكاست دال/بودكاست دال - 2024-08-19 - [aO9iszddU24].mp4", false, false, true, 208, [], 98, ~U[2024-08-19 15:29:19Z], ~U[2026-04-15 13:12:14Z], ~U[2026-04-15 13:12:14Z], "", "نصيحة للرجال المقبلين ع الزواج #بودكاست #اكسبلور", 32, false, "aO9iszddU24", "https://www.youtube.com/shorts/aO9iszddU24", "/downloads/shorts/بودكاست دال/بودكاست دال - 2024-08-19 - [aO9iszddU24].mp4", true, 208, ~U[2024-08-19 15:29:19Z]] 13:12:14.056 [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" = ?) [208] 13:12:14.056 [debug] QUERY OK source="media_items" db=0.2ms idle=2.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-08-18 14:34:22Z], 208] 13:12:14.057 [debug] QUERY OK source="media_items" db=0.4ms idle=2.3ms INSERT INTO "media_items" AS m0 ("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) 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" ["كيف تتخلص من الكسل و التسويف / الرياضة #بودكاست_دال #بودكاست #رياضة", "92de6435-6647-47f7-b538-66ddac3bdab2", 34, false, "-HUN3spZvGI", "https://www.youtube.com/shorts/-HUN3spZvGI", 11, "/downloads/shorts/بودكاست دال/بودكاست دال - 2024-08-18 - [-HUN3spZvGI].mp4", false, false, true, 208, [], 98, ~U[2024-08-18 14:34:22Z], ~U[2026-04-15 13:12:14Z], ~U[2026-04-15 13:12:14Z], "", "كيف تتخلص من الكسل و التسويف / الرياضة #بودكاست_دال #بودكاست #رياضة", 34, false, "-HUN3spZvGI", "https://www.youtube.com/shorts/-HUN3spZvGI", "/downloads/shorts/بودكاست دال/بودكاست دال - 2024-08-18 - [-HUN3spZvGI].mp4", true, 208, ~U[2024-08-18 14:34:22Z]] 13:12:14.057 [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" = ?) [208] 13:12:14.058 [debug] QUERY OK source="media_items" db=0.1ms idle=2.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-08-16 15:46:36Z], 208] 13:12:14.058 [debug] QUERY OK source="media_items" db=0.4ms idle=2.3ms INSERT INTO "media_items" AS m0 ("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) 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" ["سرعة التقدم التكنولوجي د.عمر الرهبيني | #بودكاست_دال", "83f23275-6bce-43cc-972f-f3e47d006210", 33, false, "AMgz5NAJVMk", "https://www.youtube.com/shorts/AMgz5NAJVMk", 12, "/downloads/shorts/بودكاست دال/بودكاست دال - 2024-08-16 - [AMgz5NAJVMk].mp4", false, false, true, 208, [], 98, ~U[2024-08-16 15:46:36Z], ~U[2026-04-15 13:12:14Z], ~U[2026-04-15 13:12:14Z], "", "سرعة التقدم التكنولوجي د.عمر الرهبيني | #بودكاست_دال", 33, false, "AMgz5NAJVMk", "https://www.youtube.com/shorts/AMgz5NAJVMk", "/downloads/shorts/بودكاست دال/بودكاست دال - 2024-08-16 - [AMgz5NAJVMk].mp4", true, 208, ~U[2024-08-16 15:46:36Z]] 13:12:14.059 [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" FROM "sources" AS s0 WHERE (s0."id" = ?) [208] 13:12:14.059 [debug] QUERY OK source="media_items" db=0.2ms idle=2.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-08-13 21:03:29Z], 208] 13:12:14.060 [debug] QUERY OK source="media_items" db=0.3ms idle=2.2ms INSERT INTO "media_items" AS m0 ("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) 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" ["مين يحدد معايير الجمال؟", "84202741-7d62-4de6-a143-383374d5273b", 57, false, "oD0wd8_4a5s", "https://www.youtube.com/shorts/oD0wd8_4a5s", 13, "/downloads/shorts/بودكاست دال/بودكاست دال - 2024-08-13 - [oD0wd8_4a5s].mp4", false, false, true, 208, [], 98, ~U[2024-08-13 21:03:29Z], ~U[2026-04-15 13:12:14Z], ~U[2026-04-15 13:12:14Z], "", "مين يحدد معايير الجمال؟", 57, false, "oD0wd8_4a5s", "https://www.youtube.com/shorts/oD0wd8_4a5s", "/downloads/shorts/بودكاست دال/بودكاست دال - 2024-08-13 - [oD0wd8_4a5s].mp4", true, 208, ~U[2024-08-13 21:03:29Z]] 13:12:14.060 [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" FROM "sources" AS s0 WHERE (s0."id" = ?) [208] 13:12:14.061 [debug] QUERY OK source="media_items" db=0.1ms idle=2.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-08-11 15:25:29Z], 208] 13:12:14.061 [debug] QUERY OK source="media_items" db=0.3ms idle=2.1ms INSERT INTO "media_items" AS m0 ("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) 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" ["اهم نصيحة لبدء تجاره خاصه", "4ebfd638-029a-4c8d-85a6-9ed4e78787d9", 47, false, "BNENnKGS7TE", "https://www.youtube.com/shorts/BNENnKGS7TE", 14, "/downloads/shorts/بودكاست دال/بودكاست دال - 2024-08-11 - [BNENnKGS7TE].mp4", false, false, true, 208, [], 98, ~U[2024-08-11 15:25:29Z], ~U[2026-04-15 13:12:14Z], ~U[2026-04-15 13:12:14Z], "", "اهم نصيحة لبدء تجاره خاصه", 47, false, "BNENnKGS7TE", "https://www.youtube.com/shorts/BNENnKGS7TE", "/downloads/shorts/بودكاست دال/بودكاست دال - 2024-08-11 - [BNENnKGS7TE].mp4", true, 208, ~U[2024-08-11 15:25:29Z]] 13:12:14.062 [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" FROM "sources" AS s0 WHERE (s0."id" = ?) [208] 13:12:14.062 [debug] QUERY OK source="media_items" db=0.2ms idle=2.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-08-10 16:43:31Z], 208] 13:12:14.063 [debug] QUERY OK source="media_items" db=0.3ms idle=2.1ms INSERT INTO "media_items" AS m0 ("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) 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" ["هل مظهرك أهم من مهارتك؟", "be033778-afdd-4250-b393-3dfb98daff69", 38, false, "VkTgQxBEdgc", "https://www.youtube.com/shorts/VkTgQxBEdgc", 15, "/downloads/shorts/بودكاست دال/بودكاست دال - 2024-08-10 - [VkTgQxBEdgc].mp4", false, false, true, 208, [], 98, ~U[2024-08-10 16:43:31Z], ~U[2026-04-15 13:12:14Z], ~U[2026-04-15 13:12:14Z], "", "هل مظهرك أهم من مهارتك؟", 38, false, "VkTgQxBEdgc", "https://www.youtube.com/shorts/VkTgQxBEdgc", "/downloads/shorts/بودكاست دال/بودكاست دال - 2024-08-10 - [VkTgQxBEdgc].mp4", true, 208, ~U[2024-08-10 16:43:31Z]] 13:12:14.063 [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" FROM "sources" AS s0 WHERE (s0."id" = ?) [208] 13:12:14.064 [debug] QUERY OK source="media_items" db=0.1ms idle=2.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-08-08 16:00:27Z], 208] 13:12:14.064 [debug] QUERY OK source="media_items" db=0.4ms idle=2.1ms INSERT INTO "media_items" AS m0 ("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) 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" ["كيف يستمر العمل؟", "488be2cf-fb80-4c76-92e2-962e71c85f18", 37, false, "Ir8mrHQ3qy0", "https://www.youtube.com/shorts/Ir8mrHQ3qy0", 16, "/downloads/shorts/بودكاست دال/بودكاست دال - 2024-08-08 - [Ir8mrHQ3qy0].mp4", false, false, true, 208, [], 98, ~U[2024-08-08 16:00:27Z], ~U[2026-04-15 13:12:14Z], ~U[2026-04-15 13:12:14Z], "", "كيف يستمر العمل؟", 37, false, "Ir8mrHQ3qy0", "https://www.youtube.com/shorts/Ir8mrHQ3qy0", "/downloads/shorts/بودكاست دال/بودكاست دال - 2024-08-08 - [Ir8mrHQ3qy0].mp4", true, 208, ~U[2024-08-08 16:00:27Z]] 13:12:14.065 [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" FROM "sources" AS s0 WHERE (s0."id" = ?) [208] 13:12:14.065 [debug] QUERY OK source="media_items" db=0.2ms idle=2.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-08-06 15:55:00Z], 208] 13:12:14.066 [debug] QUERY OK source="media_items" db=0.3ms idle=2.2ms INSERT INTO "media_items" AS m0 ("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) 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" ["ليش ممنوع التسويق في فرنسا ؟؟🇫🇷🥖 #بودكاست_دال #اكسبلور", "4d8a5b6f-abd3-4e49-b569-74de7a557d9c", 34, false, "3EYn_ftNePw", "https://www.youtube.com/shorts/3EYn_ftNePw", 17, "/downloads/shorts/بودكاست دال/بودكاست دال - 2024-08-06 - [3EYn_ftNePw].mp4", false, false, true, 208, [], 98, ~U[2024-08-06 15:55:00Z], ~U[2026-04-15 13:12:14Z], ~U[2026-04-15 13:12:14Z], "", "ليش ممنوع التسويق في فرنسا ؟؟🇫🇷🥖 #بودكاست_دال #اكسبلور", 34, false, "3EYn_ftNePw", "https://www.youtube.com/shorts/3EYn_ftNePw", "/downloads/shorts/بودكاست دال/بودكاست دال - 2024-08-06 - [3EYn_ftNePw].mp4", true, 208, ~U[2024-08-06 15:55:00Z]] 13:12:14.066 [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" FROM "sources" AS s0 WHERE (s0."id" = ?) [208] 13:12:14.067 [debug] QUERY OK source="media_items" db=0.1ms idle=2.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-08-02 15:01:05Z], 208] 13:12:14.068 [debug] QUERY OK source="media_items" db=0.6ms idle=2.2ms INSERT INTO "media_items" AS m0 ("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) 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" ["شاهد قبل اتخاذ اجراء تجميل الأسنان #بودكاست #طبيبة_اسنان", "904f59fa-e4d9-4557-a7fb-26d6f53d3f0a", 55, false, "wyjbXqtuRa8", "https://www.youtube.com/shorts/wyjbXqtuRa8", 18, "/downloads/shorts/بودكاست دال/بودكاست دال - 2024-08-02 - [wyjbXqtuRa8].mp4", false, false, true, 208, [], 98, ~U[2024-08-02 15:01:05Z], ~U[2026-04-15 13:12:14Z], ~U[2026-04-15 13:12:14Z], "", "شاهد قبل اتخاذ اجراء تجميل الأسنان #بودكاست #طبيبة_اسنان", 55, false, "wyjbXqtuRa8", "https://www.youtube.com/shorts/wyjbXqtuRa8", "/downloads/shorts/بودكاست دال/بودكاست دال - 2024-08-02 - [wyjbXqtuRa8].mp4", true, 208, ~U[2024-08-02 15:01:05Z]] 13:12:14.068 [debug] QUERY OK source="sources" db=0.1ms 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" = ?) [208] 13:12:14.069 [debug] QUERY OK source="media_items" db=0.2ms idle=2.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-08-01 15:00:21Z], 208] 13:12:14.069 [debug] QUERY OK source="media_items" db=0.4ms idle=2.4ms INSERT INTO "media_items" AS m0 ("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) 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" ["نصيحة قبل عرضك التقديمي #بودكاست_دال لمشاهدة الحلقة كاملة اضغط ع فديو ذو صلة", "d0edfcc6-dbba-4e29-89ac-d70e25adc2e8", 38, false, "QXPCRBq2SLo", "https://www.youtube.com/shorts/QXPCRBq2SLo", 19, "/downloads/shorts/بودكاست دال/بودكاست دال - 2024-08-01 - [QXPCRBq2SLo].mp4", false, false, true, 208, [], 98, ~U[2024-08-01 15:00:21Z], ~U[2026-04-15 13:12:14Z], ~U[2026-04-15 13:12:14Z], "", "نصيحة قبل عرضك التقديمي #بودكاست_دال لمشاهدة الحلقة كاملة اضغط ع فديو ذو صلة", 38, false, "QXPCRBq2SLo", "https://www.youtube.com/shorts/QXPCRBq2SLo", "/downloads/shorts/بودكاست دال/بودكاست دال - 2024-08-01 - [QXPCRBq2SLo].mp4", true, 208, ~U[2024-08-01 15:00:21Z]] 13:12:14.070 [debug] QUERY OK source="sources" db=0.1ms 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" = ?) [208] 13:12:14.070 [debug] QUERY OK source="media_items" db=0.2ms idle=2.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-07-31 15:00:18Z], 208] 13:12:14.071 [debug] QUERY OK source="media_items" db=0.4ms idle=2.3ms INSERT INTO "media_items" AS m0 ("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) 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" ["كيف ابني سمعتي كطبيب اسنان #بودكاست_دال لمشاهدة الحلقة كاملة اضغط ع فديو ذو صلة", "b72a3d0c-e364-490a-96c5-8659c142931c", 49, false, "Ki0pLZAPbHM", "https://www.youtube.com/shorts/Ki0pLZAPbHM", 20, "/downloads/shorts/بودكاست دال/بودكاست دال - 2024-07-31 - [Ki0pLZAPbHM].mp4", false, false, true, 208, [], 98, ~U[2024-07-31 15:00:18Z], ~U[2026-04-15 13:12:14Z], ~U[2026-04-15 13:12:14Z], "", "كيف ابني سمعتي كطبيب اسنان #بودكاست_دال لمشاهدة الحلقة كاملة اضغط ع فديو ذو صلة", 49, false, "Ki0pLZAPbHM", "https://www.youtube.com/shorts/Ki0pLZAPbHM", "/downloads/shorts/بودكاست دال/بودكاست دال - 2024-07-31 - [Ki0pLZAPbHM].mp4", true, 208, ~U[2024-07-31 15:00:18Z]] 13:12:14.072 [debug] QUERY OK source="sources" db=0.2ms idle=2.6ms UPDATE "sources" SET "last_indexed_at" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-04-15 13:12:14Z], ~U[2026-04-15 13:12:14Z], 208] 13:12:14.072 [debug] QUERY OK source="media_items" db=0.5ms idle=2.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")))) [208] 13:12:14.073 [info] GET /sources/501/media/4351917 13:12:14.073 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "4351917", "prevent_download" => "true", "source_id" => "501"} Pipelines: [:browser] 13:12:14.073 [debug] QUERY OK source="media_items" db=0.5ms queue=0.1ms idle=2.8ms SELECT count(*) FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [208] 13:12:14.074 [debug] QUERY OK source="media_items" db=0.3ms idle=2.4ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [208] 13:12:14.074 [debug] QUERY OK source="media_items" db=0.4ms idle=3.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" = ?) [4351917] 13:12:14.075 [debug] QUERY OK source="tasks" db=0.5ms idle=1.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" [4351917] 13:12:14.075 [debug] QUERY OK source="sources" db=0.6ms 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" = ?) [501] 13:12:14.076 [debug] QUERY OK source="settings" db=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 [] 13:12:14.076 [debug] QUERY OK source="settings" db=0.4ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:12:14.077 [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 [] 13:12:14.078 [debug] QUERY OK source="tasks" db=0.3ms idle=1.6ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2192072, 208, ~U[2026-04-15 13:12:14Z], ~U[2026-04-15 13:12:14Z]] 13:12:14.078 [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] 13:12:14.078 [info] {"args":{"id":208},"id":2187177,"meta":{},"state":"success","max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","duration":392567156,"event":"job:stop","queue_time":653009,"attempt":1,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 13:12:14.080 [info] Sent 200 in 6ms 13:12:37.814 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=K3YX-iM4LQ0 --simulate --skip-download --output /downloads/shorts/Atheer/Atheer - %(upload_date>%Y-%m-%d)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/39/a7/39a76824ef0ad31832279a2c69669029a604cb7c5c2238a61ea30c6e2d7e8573.json --sleep-requests 5 --sleep-interval 4 --sleep-subtitles 4 --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Unable to download webpage: HTTP Error 429: Too Many Requests (caused by ) 13:12:37.815 [debug] QUERY OK source="sources" db=0.1ms idle=1804.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" = ?) [45] 13:12:37.816 [debug] QUERY OK source="media_items" db=1.2ms idle=1805.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-15 13:03:13Z], 45] 13:12:37.824 [debug] QUERY OK source="media_items" db=7.2ms idle=1806.7ms 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" ["#أثير\n#الجزيرة\n#بودكاست\n#حرب \n#إيران \n#سياسة\n# إسرائيل \n#أمريكا", "هل فوجئت واشنطن بإغلاق المضيق؟", "6cbe930c-1059-421d-b110-e5efe79c5a85", 152, false, "K3YX-iM4LQ0", "https://www.youtube.com/watch?v=K3YX-iM4LQ0", 0, "/downloads/shorts/Atheer/Atheer - 2026-04-15 - [K3YX-iM4LQ0].mp4", false, false, true, 45, [], 98, ~U[2026-04-15 13:03:13Z], ~U[2026-04-15 13:12:37Z], ~U[2026-04-15 13:12:37Z], "#أثير\n#الجزيرة\n#بودكاست\n#حرب \n#إيران \n#سياسة\n# إسرائيل \n#أمريكا", "هل فوجئت واشنطن بإغلاق المضيق؟", 152, false, "K3YX-iM4LQ0", "https://www.youtube.com/watch?v=K3YX-iM4LQ0", "/downloads/shorts/Atheer/Atheer - 2026-04-15 - [K3YX-iM4LQ0].mp4", true, 45, ~U[2026-04-15 13:03:13Z]] 13:12:37.824 [debug] QUERY OK source="sources" db=0.2ms idle=1804.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" = ?) [45] 13:12:37.825 [debug] QUERY OK source="media_profiles" db=0.2ms idle=804.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" = ?) [2] 13:12:37.825 [debug] QUERY OK source="media_items" db=0.2ms idle=10.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4703670] 13:12:37.827 [debug] QUERY OK source="media_items" db=1.3ms idle=9.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [45] 13:12:37.827 [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" = ?) [45] 13:12:37.828 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 13:12:37.828 [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 [4703670] 13:12:37.829 [debug] QUERY OK source="tasks" db=0.1ms idle=1.8ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2192073, 45, ~U[2026-04-15 13:12:37Z], ~U[2026-04-15 13:12:37Z]] 13:12:37.830 [info] {"args":{"id":45},"id":2192038,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":26833609,"event":"job:stop","queue_time":403060,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:12:42.760 [info] {"source":"oban","duration":18159,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:12:44.036 [info] {"args":{"id":550},"id":2192039,"meta":{},"system_time":1776258764036104999,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:12:44.036 [debug] QUERY OK source="sources" db=0.2ms idle=1026.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" = ?) [550] 13:12:44.037 [debug] QUERY OK source="settings" db=0.2ms idle=1009.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:12:44.038 [debug] QUERY OK source="media_profiles" db=0.8ms idle=27.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 13:12:44.038 [debug] QUERY OK source="settings" db=0.2ms idle=9.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:12:44.038 [debug] Fetching recent media IDs from YouTube API for playlist: UUyVm0Ssw0oOM3GVTFEgfhVg 13:12:44.039 [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 [] 13:12:44.039 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 13:12:44.353 [debug] QUERY OK source="media_items" db=1.1ms idle=315.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [550, "VVIu4Gd4Bmc", "VGkvWr49xiw", "FdtdrFElwxQ", "BiF8O-aJPsk", "pEPIdeIbSqE", "HVKDahMQhLU", "K1Z5WWHlSs0", "bTV-2GoMx5k", "5sktFoXR3kE", "Iw29TZ6SLvo", "QC4YTqx7lzA", "BIqcmk-5aJw", "YNoKdu3sWVw", "lDBjR9fkeyk", "UUw-e-5nl_w", "dWSKUDO1V2I", "ZxzpHQbUKZ8", "-88OXqMJjwg", "la1zxxjndF4", "d9IgzofO0fw", "o5zrD7rGl30", "quRGt1p1A6k", "IaipBYPY5V4", "iQu6FfiMnF4", "8xBlIDRpM28", "Lfo4DApK5a4", "bCJ3n8KOHYg", "Sjq6OHG4LSA", "8dSZzMsNwyE", "D6scLf0M_fw", "LbqgtTaCN-k", "VipSIn8XPCo", "laY5ME4rd8I", "iEqiRJ55fSM", "KpJw8Q3uePk", "wwRpgDY-BWw", "iV1WybdFWlE", "-orEfZNWjmY", "sBdEudKHhrc", "VBf9tHUdj1E", "whEUmNj9kZE", "n1-6atPiL-g", "xeXJJg6jwm0", "T65vDEtDyu0", "pe0HV6-wnsU", "i0IdbczAU7I", "2tGs0NNZaAM", "bq6i0vWfoZ0", "sRC7ONGF8EQ", ...] 13:12:44.355 [debug] QUERY OK source="media_items" db=0.7ms idle=317.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")))) [550] 13:12:44.356 [debug] QUERY OK source="tasks" db=0.3ms idle=317.4ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2192074, 550, ~U[2026-04-15 13:12:44Z], ~U[2026-04-15 13:12:44Z]] 13:12:44.357 [info] {"args":{"id":550},"id":2192039,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":320920,"event":"job:stop","queue_time":480198,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:12:54.465 [info] GET /sources/517/media/4353176 13:12:54.465 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "4353176", "prevent_download" => "true", "source_id" => "517"} Pipelines: [:browser] 13:12:54.466 [debug] QUERY OK source="media_items" db=0.2ms idle=455.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" = ?) [4353176] 13:12:54.466 [debug] QUERY OK source="tasks" db=0.1ms idle=456.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" [4353176] 13:12:54.466 [debug] QUERY OK source="sources" db=0.2ms idle=456.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" = ?) [517] 13:12:54.467 [debug] QUERY OK source="settings" db=0.1ms idle=457.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:12:54.467 [debug] QUERY OK source="settings" db=0.1ms idle=423.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:12:54.468 [debug] QUERY OK source="settings" db=0.1ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:12:54.469 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:12:54.470 [info] Sent 200 in 5ms 13:12:58.055 [info] {"args":{"id":432},"id":2192040,"meta":{},"system_time":1776258778055083354,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:12:58.055 [debug] QUERY OK source="sources" db=0.2ms idle=45.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" = ?) [432] 13:12:58.056 [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 [] 13:12:58.056 [debug] QUERY OK source="media_profiles" db=0.2ms idle=46.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [3] 13:12:58.057 [debug] QUERY OK source="settings" db=0.2ms idle=8.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:12:58.057 [debug] Fetching recent media IDs from YouTube API for playlist: UUjqNqKjLuFBCfjZ5WoI0_Kw 13:12:58.057 [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 [] 13:12:58.057 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 13:12:58.589 [debug] QUERY OK source="media_items" db=1.2ms idle=532.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [432, "BNcH5os2Azc", "yB1u7nWLyZM", "R9PH1e1T4bE", "mRIpLTPueWs", "eiVtQXCEJNI", "wVff1dLCB2o", "yKp5TotCvCM", "YzSEz5GqB9c", "FVkgWH0fdG4", "Vs9a6lqv2Mk", "m4NrFYSOXM8", "_91NR0tetqI", "y9T5O1B2Y8I", "a447IYbwNjk", "5fyJDR9E5dI", "tNLR5cr-GpM", "SRPizcmFrqI", "CRAuwECvcoE", "BWixeDYPutA", "kdoJee--cYo", "_L0JyHhOPa8", "cYOILGWiA90", "WSk4s-6dWho", "Fcocf1LGh8k", "ALSaV53wF_8", "8210atQw6mk", "xS335AwgMhE", "U7Ao_x_mZrc", "SHtY1j8nD80", "7DaGvK3ZlzM", "oC1KNxej1a0", "UcXUMjckYlI", "aRfBOREb9yk", "TDNwMa688us", "3vlPML1zG3E", "RkmKL4n9xLQ", "JdCOo0MBWM4", "zmj1XdI1edU", "rWxi69DrDWc", "eUftJ6-GB9E", "vbkMwqI6iKw", "qZRVpNRqIPo", "qzAOOwQboR4", "2acjUU6cQh4", "9accY9x0NmQ", "NDhBgmst590", "Uxi8ZvR6KjM", "QQ3kf587e-Y", "x5nb-k2uUzo", ...] 13:12:58.591 [debug] QUERY OK source="media_items" db=0.8ms idle=534.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")))) [432] 13:12:58.593 [debug] QUERY OK source="tasks" db=0.2ms idle=535.8ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2192075, 432, ~U[2026-04-15 13:12:58Z], ~U[2026-04-15 13:12:58Z]] 13:12:58.594 [info] {"args":{"id":432},"id":2192040,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":538420,"event":"job:stop","queue_time":256406,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:13:00.849 [info] {"source":"oban","duration":149,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:13:08.068 [info] {"args":{"id":371},"id":2192041,"meta":{},"system_time":1776258788068105804,"max_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:13:08.068 [debug] QUERY OK source="sources" db=0.2ms idle=58.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" = ?) [371] 13:13:08.069 [debug] QUERY OK source="settings" db=0.2ms idle=58.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:13:08.069 [debug] QUERY OK source="media_profiles" db=0.2ms idle=59.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" = ?) [2] 13:13:08.070 [debug] QUERY OK source="settings" db=0.2ms idle=8.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:13:08.070 [debug] Fetching recent media IDs from YouTube API for playlist: UUPXKFARrr9KIazKFsIdZrbg 13:13:08.070 [debug] QUERY OK source="settings" db=0.1ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:13:08.070 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 13:13:09.266 [debug] QUERY OK source="media_items" db=1.1ms idle=1196.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [371, "yoERyAZRcQw", "6jUjdCJenQs", "YpYESr2EwGs", "ouj3976UAV0", "LCEc0kTzWF8", "5ZGpRYl6ks8", "3gkOHFl5Ri4", "H255MFb1bs4", "95GWfCxldgI", "H1zRYcAm3Go", "7qp1GsOUzDQ", "JVjUwiWv3hs", "wgQQnINLVO0", "9JU10bS2zL0", "ZR7jEy3Vaso", "j5yCJlYe9eg", "iIY7sssVwrI", "a8lG2_2PvIY", "Pa4wns5otZs", "gr91GSu_Cro", "ajH6eOSCQz8", "v9om7xCpqr8", "KkpgKcSpZEQ", "zMVfXS39Q2U", "eOS-RREFSt8", "HPMKW_Riiy4", "NXLwiiz31bc", "bdTTpJLTrZ4", "dzbra-TCuUQ", "5SPKYzmAJ-Q", "Zsc3l7AVDfQ", "GjqzhuXGFAA", "NpWfLsVWwzI", "l96CSV_PcgQ", "-YGrEcjNLJ8", "JhPNMlhub4g", "5WtA5s9B3JA", "HbRInQ0QJ-8", "px1xWZRhIyA", "WK5LmlHayN0", "fcGFxqcjTyg", "vbMYWclnMJQ", "Wlmj1-25Jbw", "JWh5H2FFZ28", "siaOhImfbmc", "jO81Xp9TIIM", "kXpR9OxpnXw", "p_tveWViZTY", "9GBJPcAPYJM", ...] 13:13:09.278 [debug] QUERY OK source="media_items" db=9.9ms idle=1198.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")))) [371] 13:13:09.279 [debug] QUERY OK source="tasks" db=0.3ms idle=216.4ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2192076, 371, ~U[2026-04-15 13:13:09Z], ~U[2026-04-15 13:13:09Z]] 13:13:09.280 [info] {"args":{"id":371},"id":2192041,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":1211933,"event":"job:stop","queue_time":93914,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:13:12.779 [info] {"source":"oban","duration":17760,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:13:28.512 [info] GET /sources/395/media/4092639 13:13:28.513 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "4092639", "prevent_download" => "true", "source_id" => "395"} Pipelines: [:browser] 13:13:28.513 [debug] QUERY OK source="media_items" db=0.2ms idle=1503.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" = ?) [4092639] 13:13:28.514 [debug] QUERY OK source="tasks" db=0.4ms idle=1503.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" [4092639] 13:13:28.514 [debug] QUERY OK source="sources" db=0.4ms idle=1428.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" = ?) [395] 13:13:28.515 [debug] QUERY OK source="settings" db=0.2ms idle=504.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:13:28.515 [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 [] 13:13:28.516 [debug] QUERY OK source="settings" db=0.1ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:13:28.516 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:13:28.518 [info] Sent 200 in 5ms 13:13:42.797 [info] {"source":"oban","duration":17665,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:13:58.604 [info] GET /sources/179/media/4611381 13:13:58.604 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "4611381", "prevent_download" => "true", "source_id" => "179"} Pipelines: [:browser] 13:13:58.604 [debug] QUERY OK source="media_items" db=0.2ms idle=594.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" = ?) [4611381] 13:13:58.605 [debug] QUERY OK source="tasks" db=0.2ms idle=594.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" [4611381] 13:13:58.605 [debug] QUERY OK source="sources" db=0.3ms idle=594.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" = ?) [179] 13:13:58.606 [debug] QUERY OK source="oban_jobs" db=0.2ms idle=595.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" = ?) [2098101] 13:13:58.606 [debug] QUERY OK source="settings" db=0.1ms idle=485.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:13:58.606 [debug] QUERY OK source="settings" db=0.1ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:13:58.607 [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 [] 13:13:58.608 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.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" = ?) [2] 13:13:58.621 [info] Sent 200 in 17ms 13:14:00.850 [info] {"source":"oban","duration":219,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:14:12.813 [info] {"source":"oban","duration":15005,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:14:21.157 [info] {"args":{"id":407},"id":2192043,"meta":{},"system_time":1776258861157094476,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:14:21.158 [debug] QUERY OK source="sources" db=0.8ms idle=1147.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" = ?) [407] 13:14:21.158 [debug] QUERY OK source="settings" db=0.2ms idle=1148.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:14:21.159 [debug] QUERY OK source="media_profiles" db=0.2ms idle=1010.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" = ?) [2] 13:14:21.160 [debug] QUERY OK source="settings" db=0.7ms idle=8.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:14:21.160 [debug] Fetching recent media IDs from YouTube API for playlist: UUga4N76Fl4sgcn30iwBs7aQ 13:14:21.160 [debug] QUERY OK source="settings" db=0.1ms idle=3.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:14:21.160 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 13:14:21.492 [debug] QUERY OK source="media_items" db=1.2ms idle=333.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [407, "-W6KEugYxBQ", "zQxXycM3IvM", "BrCSskrHOBU", "gMn1XXQ6Xus", "YwcknlhzUEU", "tinS3wZQZu0", "HWH4PB4RVpo", "aDHfYXROc5A", "qzm_Dy_rilA", "MHICU_ehVZk", "I0ZNxiVwykM", "-OsGSH3KGbA", "N00x4OkBGu8", "zqAinHuD6Yo", "cv4FVPWWF8I", "2DysQO78Y3k", "byYpxLw97ic", "8KsVvEyjEpg", "QZIJ2atHpFo", "IH0DS0Hqi1I", "6RbFcKVIMTo", "8DI46MmEzts", "JCyRL-BCGrY", "CKGoJAuUbRw", "zB12EMayFig", "jbcagG6xgqg", "VGjk8hhgRYs", "zqhKlBQ9xWI", "1SKsmmYdYng", "6lt75J3-9lY", "4-f2sw7IWPw", "WMLsLgiPFks", "TOO3B46BiGc", "5oCRsyA3ZLQ", "BWLb5EI620w", "Av1kcYca1yI", "o4yxwefSKrg", "v4aMSQBA6GY", "1v1uQJfn7mU", "wzd5JlenK7U", "lqg9v9c50PQ", "bfsLRqnZBMI", "-L8pp9DEvrs", "48tZLvPwq1A", "HMzzHdRb5bI", "VhPje4BiC6o", "vJfLhWzehCU", "GenA6mFVXtQ", "49YQZrruUlY", ...] 13:14:21.498 [debug] QUERY OK source="media_items" db=3.8ms idle=335.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")))) [407] 13:14:21.499 [debug] QUERY OK source="tasks" db=0.2ms idle=339.1ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2192077, 407, ~U[2026-04-15 13:14:21Z], ~U[2026-04-15 13:14:21Z]] 13:14:21.500 [info] {"args":{"id":407},"id":2192043,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":342931,"event":"job:stop","queue_time":388912,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:14:24.161 [info] {"args":{"id":137},"id":2192044,"meta":{},"system_time":1776258864161129367,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:14:24.161 [debug] QUERY OK source="sources" db=0.2ms idle=1151.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" = ?) [137] 13:14:24.162 [debug] QUERY OK source="settings" db=0.2ms idle=1151.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:14:24.162 [debug] QUERY OK source="media_profiles" db=0.2ms idle=1009.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" = ?) [2] 13:14:24.163 [debug] QUERY OK source="settings" db=0.2ms idle=8.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:14:24.163 [debug] Fetching recent media IDs from YouTube API for playlist: UU6VEazPLsTwCHAq2XU0tRyA 13:14:24.163 [debug] QUERY OK source="settings" db=0.1ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:14:24.163 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 13:14:24.514 [debug] QUERY OK source="media_items" db=1.2ms idle=351.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [137, "TYzW2hwb2eU", "Y0HbsrMblSY", "Ko2rEMjJDqc", "kGP1iyJ5JVk", "8X2Gp4JrjCc", "MEYfauKFQKM", "CCJCd8F_diQ", "jsWkXl3y2V8", "eKrqp-HV73w", "gXDgE1r0fmE", "xP_EQzF8VcA", "RfZpJRL7qPA", "UtFN8sG2dac", "f__SSRXQW_0", "APPiN4Oef3o", "q5MQnKjA87M", "zwkJ95N9B1M", "9l8J-8mZZwk", "F-TBX4m7Omw", "KKl0A-Y7xIU", "Psenv5CPh7w", "MP8WxJWv0VI", "Un04g6T0MBk", "e1dWuglj0wA", "ZnuWLqLfnYQ", "oUu62USr24A", "cRx1_mB9LxE", "PLAlGw5A21E", "hcpVRhBex9U", "LK2LTfPM2Qs", "Z5F2z1XcOSw", "CVaq9bG_tBY", "X-a2XbVX3-c", "apkWIdRFzpQ", "PANiqRRIbqw", "kiTdyj1OowM", "6dQkyg0e1c8", "Cf5yNSD5HGE", "_y3X1HIUBX4", "G-e7QMglAhc", "avXMv4RrRXI", "jC3yDlwTK2A", "myA5gcE-5KE", "bcJnqkTlunE", "nNArfQK259k", "ZG7Bikz9grA", "vo7HA72gZNQ", "TNz5GHFNBj0", "14XtzGLWUtw", ...] 13:14:24.518 [debug] QUERY OK source="media_items" db=2.0ms idle=354.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")))) [137] 13:14:24.520 [debug] QUERY OK source="tasks" db=0.3ms idle=356.1ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2192078, 137, ~U[2026-04-15 13:14:24Z], ~U[2026-04-15 13:14:24Z]] 13:14:24.520 [info] {"args":{"id":137},"id":2192044,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":359018,"event":"job:stop","queue_time":413048,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:14:26.021 [info] GET /sources/116/media/4622874 13:14:26.022 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "4622874", "prevent_download" => "true", "source_id" => "116"} Pipelines: [:browser] 13:14:26.022 [debug] QUERY OK source="media_items" db=0.2ms idle=866.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" = ?) [4622874] 13:14:26.023 [debug] QUERY OK source="sources" db=0.3ms idle=12.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [116] 13:14:26.030 [debug] QUERY OK source="tasks" db=6.9ms idle=12.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" [4622874] 13:14:26.030 [debug] QUERY OK source="oban_jobs" db=0.2ms idle=20.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" = ?) [2105849] 13:14:26.031 [debug] QUERY OK source="settings" db=0.1ms idle=20.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:14:26.031 [debug] QUERY OK source="settings" db=0.1ms idle=8.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:14:26.031 [debug] QUERY OK source="settings" db=0.1ms idle=8.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:14:26.032 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 13:14:26.034 [info] Sent 200 in 12ms 13:14:42.832 [info] {"source":"oban","duration":18108,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:14:47.193 [info] {"args":{"id":195},"id":2192045,"meta":{},"system_time":1776258887193031799,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:14:47.194 [debug] QUERY OK source="sources" db=0.9ms idle=1183.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" = ?) [195] 13:14:47.195 [debug] QUERY OK source="settings" db=0.2ms idle=1184.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:14:47.195 [debug] QUERY OK source="media_profiles" db=0.2ms idle=1010.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" = ?) [2] 13:14:47.196 [debug] QUERY OK source="settings" db=0.3ms idle=9.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:14:47.196 [debug] Fetching recent media IDs from YouTube API for playlist: UUBRMiH3Aivfkmh24Sa2dOew 13:14:47.196 [debug] QUERY OK source="settings" db=0.1ms idle=3.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:14:47.196 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 13:14:47.509 [debug] QUERY OK source="media_items" db=1.4ms idle=313.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [195, "p8SWCk5bHV4", "lGF5Y7n_vLA", "MCEgp0nDF_s", "eT8WC3vCNpM", "FdtHhPaD850", "efb72vQ-B5w", "T8yhYw2qYpU", "rxTb8olkoPk", "04sdzvBin2M", "FmxxJMMfjIQ", "DsF8tlvZfQU", "_nwUUMj2ihk", "ddP7GahgvdE", "igdQ646Rczo", "e6bNcQn6H8U", "VTaZnN2r-C4", "6s0PkW4X18k", "nq4j2vn85k0", "zSg2dCltMlE", "mMLIwZ1Hm-o", "pB0UeWaKMAk", "Zbd7ZR96fhs", "8431epN9yQY", "q9cidfvLSAQ", "TFtz5CBcSaA", "IHxBsWkSNC8", "KFnFetow2Fk", "l-66gKQOFFo", "9hrMhbVRqaQ", "nB7DXM3aXaM", "aJqijOOspFA", "XwtlpPm7d8Y", "XQ7i8_iskPU", "JDvpnFZiW-s", "Sg2smBn7oy4", "J7pPlV84TvE", "z3pnYIzRFNU", "QXwBbQYU1b0", "2EY_87Qp5es", "7oi6e-2M_jw", "5AW4xpNiS9w", "pbu9h-Ed45w", "XiUfyDi-vJA", "8sjUDoIvz3k", "Q4w7S0_bRNE", "IjBWwvWDNeA", "ENJS0N-wJrM", "vZzfd3fTI1I", "jFHXZyZwkzo", ...] 13:14:47.514 [debug] QUERY OK source="media_items" db=3.2ms idle=316.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")))) [195] 13:14:47.516 [debug] QUERY OK source="tasks" db=0.3ms idle=319.1ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2192079, 195, ~U[2026-04-15 13:14:47Z], ~U[2026-04-15 13:14:47Z]] 13:14:47.516 [info] {"args":{"id":195},"id":2192045,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":323059,"event":"job:stop","queue_time":458305,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:14:51.581 [info] GET /sources/294/media/4628117/force_download 13:14:51.582 [debug] QUERY OK source="settings" db=0.4ms idle=571.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:14:51.582 [debug] QUERY OK source="settings" db=0.1ms idle=572.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:14:51.582 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 13:14:51.583 [error] #PID<0.5900.0> running PinchflatWeb.Endpoint (connection #PID<0.5899.0>, stream id 1) terminated Server: jak.hibeex.com:80 (http) Request: GET /sources/294/media/4628117/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/294/media/4628117/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5899.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/294/media/4628117/force_download", host: "jak.hibeex.com", peer: {{172, 22, 0, 1}, 35496}, bindings: %{}, sock: {{172, 22, 0, 4}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYcGJ0aEdTRGV5STBXX3FRVXlzS3R0YWFx.XO18M4CYXXkALTnZaEgrbmQnQke7R-GXBasuAEhVTOU", "from" => "gptbot(at)openai.com", "host" => "jak.hibeex.com", "referer" => "https://jak.hibeex.com/sources/294/media/4628117?prevent_download=true", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.232", "x-forwarded-proto" => "https", "x-openai-host-hash" => "41517590", "x-real-ip" => "74.7.243.232" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYcGJ0aEdTRGV5STBXX3FRVXlzS3R0YWFx.XO18M4CYXXkALTnZaEgrbmQnQke7R-GXBasuAEhVTOU" }, halted: false, host: "jak.hibeex.com", method: "GET", owner: #PID<0.5900.0>, params: %{}, path_info: ["sources", "294", "media", "4628117", "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://jak.hibeex.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 22, 0, 1}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYcGJ0aEdTRGV5STBXX3FRVXlzS3R0YWFx.XO18M4CYXXkALTnZaEgrbmQnQke7R-GXBasuAEhVTOU" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"connection", "close"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYcGJ0aEdTRGV5STBXX3FRVXlzS3R0YWFx.XO18M4CYXXkALTnZaEgrbmQnQke7R-GXBasuAEhVTOU"}, {"from", "gptbot(at)openai.com"}, {"host", "jak.hibeex.com"}, {"referer", "https://jak.hibeex.com/sources/294/media/4628117?prevent_download=true"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)"}, {"x-forwarded-for", "74.7.243.232"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "41517590"}, {"x-real-ip", "74.7.243.232"} ], request_path: "/sources/294/media/4628117/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKaKDQXVeCfTrNMAA7kB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5899.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/294/media/4628117/force_download", host: "jak.hibeex.com", peer: {{172, 22, 0, 1}, 35496}, bindings: %{}, sock: {{172, 22, 0, 4}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYcGJ0aEdTRGV5STBXX3FRVXlzS3R0YWFx.XO18M4CYXXkALTnZaEgrbmQnQke7R-GXBasuAEhVTOU", "from" => "gptbot(at)openai.com", "host" => "jak.hibeex.com", "referer" => "https://jak.hibeex.com/sources/294/media/4628117?prevent_download=true", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.232", "x-forwarded-proto" => "https", "x-openai-host-hash" => "41517590", "x-real-ip" => "74.7.243.232" }, method: "GET", body_length: 0, path_info: :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/294/media/4628117/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5899.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/294/media/4628117/force_download", host: "jak.hibeex.com", peer: {{172, 22, 0, 1}, 35496}, bindings: %{}, sock: {{172, 22, 0, 4}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYcGJ0aEdTRGV5STBXX3FRVXlzS3R0YWFx.XO18M4CYXXkALTnZaEgrbmQnQke7R-GXBasuAEhVTOU", "from" => "gptbot(at)openai.com", "host" => "jak.hibeex.com", "referer" => "https://jak.hibeex.com/sources/294/media/4628117?prevent_download=true", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.232", "x-forwarded-proto" => "https", "x-openai-host-hash" => "41517590", "x-real-ip" => "74.7.243.232" }, method: "GET", body_length: 0, path_info: :und (truncated) 13:15:00.851 [info] {"source":"oban","duration":154,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:15:12.851 [info] {"source":"oban","duration":18374,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:15:15.174 [info] GET /sources/402/media/4611808 13:15:15.174 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "4611808", "prevent_download" => "true", "source_id" => "402"} Pipelines: [:browser] 13:15:15.174 [debug] QUERY OK source="media_items" db=0.2ms idle=1164.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" = ?) [4611808] 13:15:15.175 [debug] QUERY OK source="tasks" db=0.2ms idle=1165.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" [4611808] 13:15:15.175 [debug] QUERY OK source="sources" db=0.5ms idle=956.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" = ?) [402] 13:15:15.183 [debug] QUERY OK source="oban_jobs" db=7.0ms idle=165.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" = ?) [2098262] 13:15:15.183 [debug] QUERY OK source="settings" db=0.2ms idle=173.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:15:15.184 [debug] QUERY OK source="settings" db=0.1ms idle=9.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:15:15.184 [debug] QUERY OK source="settings" db=0.1ms idle=8.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:15:15.185 [debug] QUERY OK source="media_profiles" db=0.2ms idle=9.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 13:15:15.186 [info] Sent 200 in 12ms 13:15:19.234 [info] {"args":{"id":96},"id":2192046,"meta":{},"system_time":1776258919234776386,"max_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:15:19.235 [debug] QUERY OK source="sources" db=0.3ms idle=224.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" = ?) [96] 13:15:19.236 [debug] QUERY OK source="settings" db=0.2ms idle=225.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:15:19.236 [debug] QUERY OK source="media_profiles" db=0.2ms idle=225.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" = ?) [2] 13:15:19.237 [debug] QUERY OK source="settings" db=0.2ms idle=9.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:15:19.237 [debug] Fetching recent media IDs from YouTube API for playlist: UUKlJwuBeBliMD0OS9AN1LqA 13:15:19.237 [debug] QUERY OK source="settings" db=0.1ms idle=2.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:15:19.237 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 13:15:19.513 [debug] QUERY OK source="media_items" db=1.2ms idle=276.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [96, "lgi0gk0izVw", "iwGrG2LwuUU", "x62omneLjUQ", "7ZLylxGWhc8", "2JYaUJayC7M", "8MhWFLNJLcI", "z6uHcqDrdOU", "Cm-5wl2sGAk", "3mYv9NAhrwI", "_zGarVwlhrI", "UenlD8RnRzw", "k8GdyHR_PKI", "ph3d_UDtJmg", "sk3EIXCnj2Y", "gaPNo4hjpOA", "MfBOjMSaUlQ", "4kFWFkA5tzQ", "v4P3-qv5apE", "6sXolxcGHV8", "L0oqBbEp4Do", "eHOMLS47yRg", "fixM4HJ_t0c", "Z49bpbSmeqo", "lFk09LRAqoE", "UCFgrFMnq-M", "mX-ZHvm0EqQ", "6BeHK2sBAsU", "nVxb_6-i4vo", "5AWb3uGaGnM", "U6_uygrlXLQ", "hH-kmDMUdbM", "bECZSbJSUN4", "4NLmKeucGeQ", "So1_9zobHfI", "Q0dEwIee2QU", "owVM8htcVMY", "KdPcD4V4wwI", "ZiNb8EywGWk", "_sDNcewGKdA", "C1T0dqbQ8wY", "aOJPNjwzVoM", "ZnJE8cWMlek", "bLKHwG-zIBA", "gI5W6288Nqg", "PvlO47XZj74", "Sh9pKvCsBaw", "dGqaASnOllk", "J4aKYDp7efI", "V1hn7k2amaQ", ...] 13:15:19.527 [debug] QUERY OK source="media_items" db=13.2ms 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 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [96] 13:15:19.529 [debug] QUERY OK source="tasks" db=0.3ms idle=291.7ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2192080, 96, ~U[2026-04-15 13:15:19Z], ~U[2026-04-15 13:15:19Z]] 13:15:19.530 [info] {"args":{"id":96},"id":2192046,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":294858,"event":"job:stop","queue_time":473079,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:15:21.237 [info] {"args":{"id":98},"id":2192047,"meta":{},"system_time":1776258921237185019,"max_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:15:21.237 [debug] QUERY OK source="sources" db=0.3ms idle=227.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" = ?) [98] 13:15:21.238 [debug] QUERY OK source="settings" db=0.2ms idle=227.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:15:21.238 [debug] QUERY OK source="media_profiles" db=0.3ms idle=228.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" = ?) [2] 13:15:21.239 [debug] QUERY OK source="settings" db=0.3ms idle=8.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:15:21.239 [debug] Fetching recent media IDs from YouTube API for playlist: UUAZb4c10tPnyyAPhEo-vS1w 13:15:21.239 [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 [] 13:15:21.240 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 13:15:21.565 [debug] QUERY OK source="media_items" db=1.1ms idle=326.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [98, "Ev9FN-nBkho", "G85Ah7FqgJw", "NMWezFTpuyA", "wpwVJMVDreg", "katvUb1-VtA", "j8v0Ci3CyCM", "39M5ZIuq5R0", "aezweDUgIYI", "o7yt-kZE8Ns", "ryQ2XQL7DM8", "yRENM57s7pk", "s1QGX8WMUIA", "JoMya8mFvqw", "Kl9b5jHoi0g", "MPstTZo5ZTI", "ufjD8yVfMyM", "hkPoP9qiNFc", "uJR-FImplgI", "AJMdBafruQQ", "_3YV1GNd8YM", "48-62pf9pVU", "TSCWJLqr7ts", "yXu61yOXpSE", "BEPkOy3AM9A", "-A3XI4Nev-I", "pWqiicpnZbs", "CjnYvDUygjA", "enO_DLOpBXk", "8-cvEj2h9Jw", "BRoLiutnbv0", "rFTGwrEkzcg", "KQaz_l3M1Zk", "zgLl_BLdBUU", "jcLjRB0wu2M", "bZj0l4Omo6Y", "bf-6IUrtFb4", "ICRJYx5e50Q", "AnEHzdsKX1I", "6yAcLo_1ez0", "kVAVTj64ZYI", "C0JE-lBoYig", "PyoZ_hdaI_E", "rHX8xNJAqgs", "CYFSuOfgFCs", "GPgPJrBC2Ss", "Jn7VbYmvfrc", "utK0QZwBRSw", "s6gLJF7hR6o", "9Awsk83VIIY", ...] 13:15:21.566 [debug] QUERY OK source="media_items" db=0.6ms idle=327.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")))) [98] 13:15:21.568 [debug] QUERY OK source="tasks" db=0.3ms idle=328.2ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2192081, 98, ~U[2026-04-15 13:15:21Z], ~U[2026-04-15 13:15:21Z]] 13:15:21.569 [info] {"args":{"id":98},"id":2192047,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":331485,"event":"job:stop","queue_time":541092,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:15:32.250 [info] {"args":{"id":179},"id":2192048,"meta":{},"system_time":1776258932250234243,"max_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:15:32.251 [debug] QUERY OK source="sources" db=0.3ms 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" = ?) [179] 13:15:32.251 [debug] QUERY OK source="settings" db=0.2ms idle=1240.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:15:32.251 [debug] QUERY OK source="media_profiles" db=0.2ms idle=1009.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" = ?) [2] 13:15:32.252 [debug] QUERY OK source="settings" db=0.2ms idle=8.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:15:32.252 [debug] Fetching recent media IDs from YouTube API for playlist: UUqyUIejEzM0o-weuEpnDi3Q 13:15:32.252 [debug] QUERY OK source="settings" db=0.2ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:15:32.253 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 13:15:32.539 [debug] QUERY OK source="media_items" db=1.2ms idle=287.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [179, "pKXdilyXxAI", "GlncALbDrw8", "zf1ggra0IvY", "a6h5d-tGm6c", "uX6xwAMoZZo", "35efgolAJnQ", "6Y7p1LFvufE", "dO5F9yWjbpc", "41s3cMSb7j8", "zGinpJX6IK8", "GpwHRN69eck", "kK2cfv05DUo", "SBnnyouT6Jo", "gUIb3RFsZbM", "v-j7EdHnc2g", "Cs1y_qfIYP8", "uYzepecNaAw", "DgDtCp_z8Q0", "1TEhu1_Tv5U", "ezCec4ndn88", "x9dGduuEFHQ", "YYSe9GnVTF8", "0V6Snvm7WDM", "uml0Z4AZaK0", "5D_o1PuFNBU", "ZNkhOZYGWCo", "HnPtQuRuHjs", "fssPKb80GAk", "uCMuZv0LfQo", "wolCPbqmPKI", "P7hizGN3Qac", "oEjcEbXFr-0", "8ZJwuxwNEVY", "rFQGEqS1Jec", "JG-lowxduWk", "55cfeTeiBrU", "2H6XsOWSSCc", "mALFGAJ4Ank", "AWB5APi4yb8", "QO51is_uUwM", "AVbaqwT6wjA", "dDDhx5UY_bg", "7IGJcXIwM7c", "1286woUnTPg", "i3fhiv7KrnY", "hc5hbCiIt9E", "2nyFunyTN1Q", "9-l8VJK2Ivw", "1g1r_vTXaBE", ...] 13:15:32.543 [debug] QUERY OK source="media_items" db=2.3ms idle=289.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")))) [179] 13:15:32.548 [debug] QUERY OK source="tasks" db=0.3ms idle=3.2ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2192082, 179, ~U[2026-04-15 13:15:32Z], ~U[2026-04-15 13:15:32Z]] 13:15:32.548 [info] {"args":{"id":179},"id":2192048,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":297985,"event":"job:stop","queue_time":462629,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:15:41.263 [info] {"args":{"id":170},"id":2192049,"meta":{},"system_time":1776258941263107480,"max_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:15:41.263 [debug] QUERY OK source="sources" db=0.2ms idle=1253.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" = ?) [170] 13:15:41.264 [debug] QUERY OK source="settings" db=0.2ms idle=1253.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:15:41.264 [debug] QUERY OK source="media_profiles" db=0.2ms idle=1009.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" = ?) [2] 13:15:41.265 [debug] QUERY OK source="settings" db=0.2ms idle=8.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:15:41.265 [debug] Fetching recent media IDs from YouTube API for playlist: UUNdRu8acJfOSM5j3ybyp_8Q 13:15:41.265 [debug] QUERY OK source="settings" db=0.1ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:15:41.265 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 13:15:41.621 [debug] QUERY OK source="media_items" db=1.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 WHERE ((m0."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [170, "2dII7fUtUYg", "B-nIGwHbAVs", "-CEceffxGFA", "KIZWJA513Ao", "QneeftA53KU", "8CWL7ppNA3o", "cOxCyazeCJw", "0cWGCaFuguk", "6QMfibl-SnI", "jC5eSFR8OCs", "FVDqcFTBKVY", "bNp8eoSN4nA", "FNs2bjyYdtY", "wkMVgzvQNJk", "UcAzsfkB5qg", "zlKNqgl80nM", "NOPKBI0xLhs", "gk_TAIbLoiA", "J6xcM7Qz7UQ", "3H4TvwkjcPQ", "JID7hDNO1P0", "nhxhPipgkRA", "4znyT54MUOA", "XZqby1gGpqk", "JKvUsl_2Ow0", "1KtDgc7yWBo", "07JhQX49XVM", "WIL0xXuMeVs", "ZhZ69ws2rkw", "X7qsGLZmBQU", "2kSaPVi5IEI", "SGr5g0G00zc", "XZeXUHAyVRg", "nGe0RBK8UJE", "oU-MArspg04", "-1jFdB-QkLM", "EP0eS5Z6USo", "cZ6gjlY_KjU", "OmoT95T7a9E", "F0-EPZUydzw", "Ar-wbxmesW4", "I9nthd03SOA", "e2TH7alqLJE", "h6JxkZwuIUI", "cDlpEFf5RjY", "tpD9Yz67hBw", "mejuzJnmSMA", "2X--RidFiDg", "-xh8HQlKlog", ...] 13:15:41.624 [debug] QUERY OK source="media_items" db=2.1ms idle=358.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")))) [170] 13:15:41.626 [debug] QUERY OK source="tasks" db=0.2ms idle=360.5ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2192083, 170, ~U[2026-04-15 13:15:41Z], ~U[2026-04-15 13:15:41Z]] 13:15:41.626 [info] {"args":{"id":170},"id":2192049,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":363297,"event":"job:stop","queue_time":411500,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:15:42.265 [info] {"args":{"id":187},"id":2192050,"meta":{},"system_time":1776258942265159875,"max_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:15:42.265 [debug] QUERY OK source="sources" db=0.3ms idle=639.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" = ?) [187] 13:15:42.266 [debug] QUERY OK source="settings" db=0.2ms idle=639.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:15:42.266 [debug] QUERY OK source="media_profiles" db=0.2ms idle=632.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" = ?) [2] 13:15:42.267 [debug] QUERY OK source="settings" db=0.2ms idle=8.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:15:42.267 [debug] Fetching recent media IDs from YouTube API for playlist: UUigbBPzo9jjMgdG_CcnzJhQ 13:15:42.267 [debug] QUERY OK source="settings" db=0.1ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:15:42.267 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 13:15:42.533 [debug] QUERY OK source="media_items" db=1.3ms idle=265.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [187, "GWvaTlVbPNs", "84qfh3sRUAM", "ZlQo0Wg0kXE", "0ItF-y4uWew", "kyLG-9ClFFQ", "9Ci4G3TKIlw", "Ah2q5T91oBg", "G1SE0NM-Tbg", "cXLEVcF0DIU", "b5XQ9YhBNJg", "9_mnZd-1qAU", "yE3KKPh9vAk", "VQHaBfC_nWM", "hySWP5Xgqt0", "JlzRUtS79yc", "4Yup64cv6PU", "KDP--RC8T7c", "OlUBw4nrNvk", "kkTQeftsc1c", "jxsIjZJ3P3s", "CtK09-qlSxs", "pf9Rs02F65k", "rg5D_0SVYFs", "kl5PxYGHuTU", "eK4-7gVRdew", "j3ufeFuHN6Q", "fiVtSvdBv-8", "tN32kgkT0a4", "qkIvBGnVwSo", "UDsmYWUHvUE", "VegutkNwCEc", "H2LypidNEJk", "Rwfrdq2bCMc", "ueJbWMXwBKA", "cgJq4MyGTNY", "FBXo_CjG-5o", "0Xesauk55io", "pkb7MavLwuI", "RR5IHrnvHQE", "zHzrDgTVgmc", "2avyAUueWYE", "0WAVmj-UtIM", "VM5JWhfmf8c", "BGk1eSr6IUE", "T-oT349yB0U", "fB4Ex_Hw0pk", "CV2GjlGSxz4", "zPHZ2dRA7cg", "8Z3929e1YW4", ...] 13:15:42.535 [debug] QUERY OK source="media_items" db=1.2ms idle=268.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")))) [187] 13:15:42.537 [debug] QUERY OK source="tasks" db=0.3ms idle=269.9ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2192084, 187, ~U[2026-04-15 13:15:42Z], ~U[2026-04-15 13:15:42Z]] 13:15:42.538 [info] {"args":{"id":187},"id":2192050,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":272842,"event":"job:stop","queue_time":442413,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:15:42.870 [info] {"source":"oban","duration":17945,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:15:43.267 [info] {"args":{"id":424},"id":2192051,"meta":{},"system_time":1776258943267132474,"max_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:15:43.267 [debug] QUERY OK source="sources" db=0.3ms idle=728.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" = ?) [424] 13:15:43.268 [debug] QUERY OK source="settings" db=0.2ms idle=722.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:15:43.269 [debug] QUERY OK source="media_profiles" db=0.7ms idle=398.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" = ?) [2] 13:15:43.269 [debug] QUERY OK source="settings" db=0.2ms idle=9.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:15:43.269 [debug] Fetching recent media IDs from YouTube API for playlist: UUduD22OSc9f98Fg4NuJHU3Q 13:15:43.270 [debug] QUERY OK source="settings" db=0.1ms idle=2.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:15:43.270 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 13:15:43.935 [debug] QUERY OK source="media_items" db=1.3ms idle=665.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [424, "l-KXAJueeE4", "z6yloe8BVaU", "dZox-F9NY6Y", "Jzdco7kmG84", "PpT5cwX2J2k", "Wizm3xaYchc", "aGi5SNIySXE", "rO9X83U-9bE", "bpQK-NitpVg", "EMyelTKShBo", "c8_G0jFr5NQ", "aJCZzjOOv6g", "X7CxcWOcoUA", "_Urj9iKo5H4", "iXa5pmY_VCg", "gMWyJcoFnVY", "fz2LHk9pSdk", "Rs2ZZgrYK58", "L5Mjxge1yY0", "MpZ-VKedx7A", "zxIif2RJm38", "pf858AX4_U8", "MRMScf-DsO4", "0ftbeL6Y7qU", "qsiKWRrehzQ", "mkjwjTgdMmM", "Fo90Bdg8rNo", "aXG1UPQQofQ", "rTs81amP49Y", "fGSjULrPsx8", "toFpR-wyjfk", "9ElrpAc6_Bw", "l_mOZIne88k", "pHZAnjB8bws", "2m_Uh7xhQGo", "5h5ATFJs09U", "xgVOq6Bfn8A", "2grmoSe0Zrk", "kLWNObhY_tU", "JR2UuHcQH7w", "H_VB0gHAPMo", "tp5TYhBYYCg", "BZF41PXtYmU", "hVKtxCEwPvY", "9_a8vaqhvSY", "V4VJjvZQ_gY", "t4nG1fjFzng", "_ESHmhwSGro", "fhwAZIJtpCM", ...] 13:15:43.943 [debug] QUERY OK source="media_items" db=6.7ms idle=668.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")))) [424] 13:15:43.945 [debug] QUERY OK source="tasks" db=0.3ms idle=674.9ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2192085, 424, ~U[2026-04-15 13:15:43Z], ~U[2026-04-15 13:15:43Z]] 13:15:43.946 [info] {"args":{"id":424},"id":2192051,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":678320,"event":"job:stop","queue_time":360110,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:15:47.272 [info] {"args":{"id":402},"id":2192052,"meta":{},"system_time":1776258947272200028,"max_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:15:47.272 [debug] QUERY OK source="sources" db=0.4ms idle=262.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" = ?) [402] 13:15:47.273 [debug] QUERY OK source="settings" db=0.2ms idle=262.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:15:47.273 [debug] QUERY OK source="media_profiles" db=0.2ms idle=263.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" = ?) [2] 13:15:47.274 [debug] QUERY OK source="settings" db=0.2ms idle=8.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:15:47.274 [debug] Fetching recent media IDs from YouTube API for playlist: UUv9CRhIdmLdRXwyqWLqT-1Q 13:15:47.274 [debug] QUERY OK source="settings" db=0.1ms idle=2.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:15:47.274 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 13:15:47.661 [debug] QUERY OK source="media_items" db=1.2ms idle=386.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [402, "3j4xjklMoo4", "gZqaauRhZhs", "JZsQt_4QXgI", "5loSCFTOEb4", "zaih20lw4bs", "SgGtBFbw1kI", "mcgcu1JuGao", "d2GSwD0Il-k", "LxOugY_w3q0", "QGf453DDz1g", "rdmAe2CIRcc", "cxorSoldV_k", "GYTHnZR2Id8", "rowYQBlqD-Y", "U7m925r48Jk", "Iz_79p_yVE0", "dVpdpoG9xZ8", "EW-EpQnW2rM", "Gu8aUxdMI18", "2kOrlz4Nw60", "KrLslSzReHE", "HCjDOBHpbuU", "yBoY59dq0o0", "l57SqLe4IjQ", "TtoNGT10GMQ", "CurEIX5egYY", "epLEnwmvneE", "wZmAnXwbbkM", "V4mfjEXo2jQ", "kvTUlZ4EtlM", "4DWJDctae_w", "bFIKDKTUjyU", "XXE0whBrOe8", "hb64fr-vXyM", "kBfJu4Lr9-g", "ahzLQawdLYU", "7Pw6MSgHz5A", "wZYqqWU3DoU", "E-ZcRNdvjoM", "JV_dskh0-ws", "koGDw3vHTKY", "JC3sGWRDdbs", "e5dO2XUalWY", "aDlVWlAjbV8", "Hq7-l88KNzY", "_GY3Or8ZgYY", "W354MKgc8AM", "X9MULCFLPyg", "psW2wmVYvDk", ...] 13:15:47.665 [debug] QUERY OK source="media_items" db=2.3ms idle=389.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")))) [402] 13:15:47.667 [debug] QUERY OK source="tasks" db=0.3ms idle=391.9ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2192086, 402, ~U[2026-04-15 13:15:47Z], ~U[2026-04-15 13:15:47Z]] 13:15:47.667 [info] {"args":{"id":402},"id":2192052,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":394997,"event":"job:stop","queue_time":270432,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:16:00.852 [info] {"source":"oban","duration":139,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:16:07.299 [info] {"args":{"id":163},"id":2192053,"meta":{},"system_time":1776258967299118218,"max_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:16:07.299 [debug] QUERY OK source="sources" db=0.3ms idle=289.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" = ?) [163] 13:16:07.300 [debug] QUERY OK source="settings" db=0.2ms idle=289.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:16:07.300 [debug] QUERY OK source="media_profiles" db=0.2ms idle=290.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" = ?) [2] 13:16:07.301 [debug] QUERY OK source="settings" db=0.2ms idle=8.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:16:07.301 [debug] Fetching recent media IDs from YouTube API for playlist: UU8vdjzu_0QMQlG9qNT5D_AQ 13:16:07.301 [debug] QUERY OK source="settings" db=0.1ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:16:07.301 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 13:16:07.582 [debug] QUERY OK source="media_items" db=1.2ms idle=281.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [163, "AK_QSHnLvjQ", "qALXsYRF_cA", "smnHpsqBLms", "yqdOCd-jdeo", "jyUJuJhWHrs", "ZNHoFwAGFrc", "1srAVSvVOOw", "uk2FISKK7QQ", "2z-ztPJXjEU", "7L1pepENKXA", "Sv6q_F6r4DE", "mFS_V5zGaxs", "1PGqhUa4Bfg", "wbvPGTnY4Z0", "yBBSNz1Ymyo", "E6dquEKdz_M", "zD4_JqiQ7jw", "O_ynHoWd-ys", "ZkugEqFIqY4", "CfTmDWiVEqM", "iPb2DidxP48", "RFemTGJfb3Y", "_Tr7gM3Hzno", "UuvWpHA9eJ0", "0iDqCo9U78I", "b9HbLgu65cw", "2nwaI54hM2A", "2nFeIrPbzvo", "U3JjHuSfiog", "HRl29tSwTSI", "dNiviYe_iGc", "JLn7iuFdKL8", "zZRg322MXkE", "rvNKslgk6yQ", "lxVw40xOmNE", "Xw_9uYceyWo", "bD9_5xiDj8w", "jpfUutCaORQ", "nmxVTzLORDg", "7O9V1yRt15g", "n0oX65icbt4", "ry8AAFQwO-U", "1KPAD3URrFA", "ii1XRwxo04M", "jg0TYRxxYzQ", "8zv1MiJNXIk", "Z2jE4A-T2BU", "Zo9g-Mr4UXo", "qs7A7WPpjVU", ...] 13:16:07.592 [debug] QUERY OK source="media_items" db=7.9ms idle=284.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")))) [163] 13:16:07.594 [debug] QUERY OK source="tasks" db=0.3ms idle=11.7ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2192087, 163, ~U[2026-04-15 13:16:07Z], ~U[2026-04-15 13:16:07Z]] 13:16:07.596 [info] {"args":{"id":163},"id":2192053,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":295848,"event":"job:stop","queue_time":490250,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:16:12.889 [info] {"source":"oban","duration":18027,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:16:16.719 [info] GET /sources/558/media/4401934 13:16:16.719 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "4401934", "prevent_download" => "true", "source_id" => "558"} Pipelines: [:browser] 13:16:16.720 [debug] QUERY OK source="media_items" db=0.3ms idle=1709.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" = ?) [4401934] 13:16:16.721 [debug] QUERY OK source="tasks" db=0.2ms idle=1710.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" [4401934] 13:16:16.721 [debug] QUERY OK source="sources" db=0.4ms idle=1418.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" = ?) [558] 13:16:16.721 [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 [] 13:16:16.722 [debug] QUERY OK source="settings" db=0.1ms idle=418.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:16:16.722 [debug] QUERY OK source="settings" db=0.1ms idle=2.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:16:16.724 [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] 13:16:16.726 [info] Sent 200 in 7ms 13:16:24.319 [info] {"args":{"id":391},"id":2192054,"meta":{},"system_time":1776258984319259572,"max_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:16:24.320 [debug] QUERY OK source="sources" db=0.9ms idle=309.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" = ?) [391] 13:16:24.321 [debug] QUERY OK source="settings" db=0.3ms idle=310.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:16:24.321 [debug] QUERY OK source="media_profiles" db=0.2ms idle=310.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" = ?) [2] 13:16:24.322 [debug] QUERY OK source="settings" db=0.2ms idle=9.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:16:24.322 [debug] Fetching recent media IDs from YouTube API for playlist: UUqeCtPANEJ9yBQlEDmls7-g 13:16:24.322 [debug] QUERY OK source="settings" db=0.1ms idle=3.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:16:24.322 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 13:16:24.675 [debug] QUERY OK source="media_items" db=1.1ms idle=353.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [391, "fFGYg9Gv-PI", "Nz-IM8VFixQ", "CqBny6zVHgo", "gq4b-6y6fjg", "msNdXd-oH0g", "lKxykq3G-A0", "VUAkGy6N4AE", "YqObusJsgS8", "zm6eC_ly39Y", "9yEs_PiP91Y", "4FXTLipWWwo", "oS5oki_lq9U", "bFoaCNYCRJc", "_aMlBzxNdjs", "2ixudzh0OLs", "ABE_3uUXV5g", "PmdbLY-aHHQ", "2Nf3W31ARvI", "UzMQ9VNE9X4", "2BzFKxLtM5g", "k0BcDAp202Y", "AS8ZpSFzevg", "2lmcFhQukbI", "LBgXoEFhEZU", "ampWD1a4UJ8", "GwW4gaxsZ30", "Nt2W_LcRvHY", "A3owMXjvxow", "3mc8IV3hQcc", "5cFgzLZrLAQ", "p1NjYE-fBlI", "jvehHAuvLxw", "OyQUOPxRn38", "5uv3uK7cGgY", "jPQSSVZM7Rg", "rNu1K9oLo34", "0W-Y07_EURc", "L86F24V6J4Y", "0Mw6vu_ccZo", "mvnx10KZs2U", "KwtY240O9FE", "LihDSBkbZmQ", "2NSTkXZrUrU", "TQQqCfeebXs", "7l1F7EUEjiM", "_2vatrsVUxw", "c2wPUyxwoV4", "s_XgXgOzizM", "czocgai2km4", ...] 13:16:24.678 [debug] QUERY OK source="media_items" db=2.8ms idle=354.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")))) [391] 13:16:24.680 [debug] QUERY OK source="tasks" db=0.3ms idle=357.8ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2192088, 391, ~U[2026-04-15 13:16:24Z], ~U[2026-04-15 13:16:24Z]] 13:16:24.681 [info] {"args":{"id":391},"id":2192054,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":361573,"event":"job:stop","queue_time":368227,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:16:27.323 [info] {"args":{"id":372},"id":2187216,"meta":{},"system_time":1776258987322996921,"max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 13:16:27.323 [debug] QUERY OK source="sources" db=0.2ms idle=1312.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" = ?) [372] 13:16:27.324 [debug] QUERY OK source="settings" db=0.4ms idle=1313.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:16:27.325 [debug] QUERY OK source="media_items" db=0.6ms idle=1009.7ms SELECT count(*) FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [372] 13:16:27.325 [debug] QUERY OK source="media_items" db=0.2ms idle=9.1ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [372] 13:16:27.326 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 13:16:27.326 [debug] QUERY OK source="settings" db=0.1ms idle=2.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:16:27.327 [debug] QUERY OK source="settings" db=0.1ms idle=2.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:16:27.335 [debug] QUERY OK source="media_items" db=0.9ms 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 WHERE (m0."source_id" = ?) ORDER BY m0."uploaded_at" DESC LIMIT 50 OFFSET 20 [372] 13:16:27.336 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 13:16:27.336 [debug] Current batch of media processed. Will check again in 1000ms 13:16:27.337 [debug] QUERY OK source="settings" db=0.1ms idle=11.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:16:27.337 [debug] QUERY OK source="settings" db=0.1ms idle=10.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:16:27.337 [debug] QUERY OK source="settings" db=0.1ms idle=10.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:16:27.337 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@alahrarpodcast/shorts --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/shorts/بودكاست الأحرار/بودكاست الأحرار - %(upload_date>%Y-%m-%d)S - [%(id)S].%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --break-on-existing --download-archive /tmp/pinchflat/data/c2/28/c228736278c02762bbad57c3ac4fa5979d8a8d14a76059714fbf62300dea0c25.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/5b/4f/5b4fdf6b0a1c501b85475219f2e1e28009892c8276e09b985742381e3b089f4e.json --sleep-requests 5 --sleep-interval 5 --sleep-subtitles 5 --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:16:28.337 [debug] Current batch of media processed. Will check again in 1000ms 13:16:29.338 [debug] Current batch of media processed. Will check again in 1000ms 13:16:30.339 [debug] Current batch of media processed. Will check again in 1000ms 13:16:31.340 [debug] Current batch of media processed. Will check again in 1000ms 13:16:32.341 [debug] Current batch of media processed. Will check again in 1000ms 13:16:33.342 [debug] Current batch of media processed. Will check again in 1000ms 13:16:34.343 [debug] Current batch of media processed. Will check again in 1000ms 13:16:35.344 [debug] Current batch of media processed. Will check again in 1000ms 13:16:36.345 [debug] Current batch of media processed. Will check again in 1000ms 13:16:37.346 [debug] Current batch of media processed. Will check again in 1000ms 13:16:38.347 [debug] Current batch of media processed. Will check again in 1000ms 13:16:39.348 [debug] Current batch of media processed. Will check again in 1000ms 13:16:40.349 [debug] Current batch of media processed. Will check again in 1000ms 13:16:41.350 [debug] Current batch of media processed. Will check again in 1000ms 13:16:42.351 [debug] Current batch of media processed. Will check again in 1000ms 13:16:42.908 [info] {"source":"oban","duration":17943,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:16:43.352 [debug] Current batch of media processed. Will check again in 1000ms 13:16:44.353 [debug] Current batch of media processed. Will check again in 1000ms 13:16:45.354 [debug] Current batch of media processed. Will check again in 1000ms 13:16:46.355 [debug] Current batch of media processed. Will check again in 1000ms 13:16:47.356 [debug] Current batch of media processed. Will check again in 1000ms 13:16:48.357 [debug] Current batch of media processed. Will check again in 1000ms 13:16:49.358 [debug] Current batch of media processed. Will check again in 1000ms 13:16:50.359 [debug] Current batch of media processed. Will check again in 1000ms 13:16:51.360 [debug] Current batch of media processed. Will check again in 1000ms 13:16:52.361 [debug] Current batch of media processed. Will check again in 1000ms 13:16:53.362 [debug] Current batch of media processed. Will check again in 1000ms 13:16:54.363 [debug] Current batch of media processed. Will check again in 1000ms 13:16:55.364 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "", "duration" => 86, "filename" => "/downloads/shorts/بودكاست الأحرار/بودكاست الأحرار - 2025-08-06 - [cd2g3bGTH8s].mp4", "id" => "cd2g3bGTH8s", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/cd2g3bGTH8s", "playlist_index" => 1, "timestamp" => 1754477323, "title" => "الخطوط الحمراء أيام القذافي معروفة.. توا لا!!", "upload_date" => "20250806"} 13:16:55.365 [debug] QUERY OK source="sources" db=0.2ms idle=1016.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" IN (?)) [372] 13:16:55.365 [debug] QUERY OK source="sources" db=0.2ms idle=355.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" = ?) [372] 13:16:55.366 [debug] QUERY OK source="media_items" db=0.3ms idle=355.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-08-06 10:48:43Z], 372] 13:16:55.382 [debug] QUERY OK source="media_items" db=16.0ms idle=356.3ms INSERT INTO "media_items" AS m0 ("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) 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" ["الخطوط الحمراء أيام القذافي معروفة.. توا لا!!", "c79f807e-5b55-4408-b4f4-a228d8a74033", 86, false, "cd2g3bGTH8s", "https://www.youtube.com/shorts/cd2g3bGTH8s", 1, "/downloads/shorts/بودكاست الأحرار/بودكاست الأحرار - 2025-08-06 - [cd2g3bGTH8s].mp4", false, false, true, 372, [], 98, ~U[2025-08-06 10:48:43Z], ~U[2026-04-15 13:16:55Z], ~U[2026-04-15 13:16:55Z], "", "الخطوط الحمراء أيام القذافي معروفة.. توا لا!!", 86, false, "cd2g3bGTH8s", "https://www.youtube.com/shorts/cd2g3bGTH8s", "/downloads/shorts/بودكاست الأحرار/بودكاست الأحرار - 2025-08-06 - [cd2g3bGTH8s].mp4", true, 372, ~U[2025-08-06 10:48:43Z]] 13:16:55.383 [debug] QUERY OK source="sources" db=0.9ms idle=32.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [372] 13:16:55.384 [debug] QUERY OK source="media_profiles" db=0.3ms idle=19.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 13:16:55.385 [debug] QUERY OK source="media_items" db=0.4ms idle=19.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4631060] 13:16:55.385 [debug] Current batch of media processed. Will check again in 1000ms 13:16:56.386 [debug] Current batch of media processed. Will check again in 1000ms 13:16:57.387 [debug] Current batch of media processed. Will check again in 1000ms 13:16:58.388 [debug] Current batch of media processed. Will check again in 1000ms 13:16:59.389 [debug] Current batch of media processed. Will check again in 1000ms 13:17:00.390 [debug] Current batch of media processed. Will check again in 1000ms 13:17:00.853 [info] {"source":"oban","duration":191,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:17:01.391 [debug] Current batch of media processed. Will check again in 1000ms 13:17:02.392 [debug] Current batch of media processed. Will check again in 1000ms 13:17:03.393 [debug] Current batch of media processed. Will check again in 1000ms 13:17:04.373 [info] {"args":{"id":443},"id":2192055,"meta":{},"system_time":1776259024373241623,"max_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:17:04.373 [debug] QUERY OK source="sources" db=0.3ms idle=1363.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" = ?) [443] 13:17:04.374 [debug] QUERY OK source="settings" db=0.2ms idle=1012.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:17:04.374 [debug] QUERY OK source="media_profiles" db=0.2ms idle=364.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" = ?) [2] 13:17:04.375 [debug] QUERY OK source="settings" db=0.2ms idle=8.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:17:04.375 [debug] Fetching recent media IDs from YouTube API for playlist: UUokgtRLAWKNPdfFMaSfLLbA 13:17:04.375 [debug] QUERY OK source="settings" db=0.1ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:17:04.375 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 13:17:04.394 [debug] Current batch of media processed. Will check again in 1000ms 13:17:05.375 [info] {"args":{"id":546},"id":2192056,"meta":{},"system_time":1776259025375049936,"max_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:17:05.375 [debug] QUERY OK source="sources" db=0.2ms idle=1000.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" = ?) [546] 13:17:05.376 [debug] QUERY OK source="settings" db=0.1ms idle=1000.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:17:05.376 [debug] QUERY OK source="media_profiles" db=0.2ms idle=1000.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" = ?) [2] 13:17:05.377 [debug] QUERY OK source="settings" db=0.3ms idle=8.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:17:05.377 [debug] Fetching recent media IDs from YouTube API for playlist: UU452L96EaYLzAYTPAiRxKdA 13:17:05.377 [debug] QUERY OK source="settings" db=0.1ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:17:05.377 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 13:17:05.395 [debug] Current batch of media processed. Will check again in 1000ms 13:17:06.396 [debug] Current batch of media processed. Will check again in 1000ms 13:17:07.397 [debug] Current batch of media processed. Will check again in 1000ms 13:17:07.581 [debug] QUERY OK source="media_items" db=1.2ms idle=570.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [443, "oD-QZSfOI5A", "2soSOj0KGN0", "nAbiXWcpC5k", "J6kw_Nka17Y", "e2IoGqWTX8s", "dtlPPLkCuG8", "ccc4EZfwyqg", "ZmemsVJRu3Q", "gVuzK2MUOy4", "jhtGF0DU-Us", "tdPeRTfPFug", "mYofjcnyeZM", "0tqpzvckxgU", "wp_lVw_Oemk", "_MQ322eFiM0", "PmpzFSPZmcU", "AZayZGnlOoc", "BDtCrgf6F6g", "e_3gcTBQa78", "TG58k-2U2wg", "Yf_zge2tHiw", "F7NHQ1rTVBw", "AZdFVvLhnbM", "1FJr-Rvlzfo", "-Uwz227DOXg", "xxBXGpIGDaU", "hZ4RSjsanf4", "CWuLASH1Hhg", "kxgmWGaaTSE", "p1mr39aRY1Q", "pFt6iqIug-E", "9n541lBjlso", "H8K-OVUzBP8", "UXtrfCEOPH0", "Tq6kuWhxY3k", "4sprHamH6sc", "wFO9Uo-aJJg", "M2goEYlN7wk", "6BH-hprkaBQ", "ZaVNjCXFcaQ", "__hPb3e-FK4", "Jxlr2hKwrys", "A6eWc8_bZtg", "ttgiRMWbm_s", "ENWcWveBkno", "8SU8mWL61Ek", "tcRaHb7HmAA", "o0aTw6Mv7lQ", "bbiAmRgZS1I", ...] 13:17:07.585 [debug] QUERY OK source="media_items" db=2.8ms idle=572.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")))) [443] 13:17:07.587 [debug] QUERY OK source="tasks" db=0.2ms idle=215.2ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2192089, 443, ~U[2026-04-15 13:17:07Z], ~U[2026-04-15 13:17:07Z]] 13:17:07.588 [info] {"args":{"id":443},"id":2192055,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":3214482,"event":"job:stop","queue_time":104139,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:17:07.595 [info] {"args":{"id":408},"id":2192057,"meta":{},"system_time":1776259027594980508,"max_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:17:07.595 [debug] QUERY OK source="sources" db=0.2ms 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" FROM "sources" AS s0 WHERE (s0."id" = ?) [408] 13:17:07.596 [debug] QUERY OK source="settings" db=0.2ms idle=8.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:17:07.596 [debug] QUERY OK source="media_profiles" db=0.2ms idle=8.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 13:17:07.596 [debug] QUERY OK source="settings" db=0.2ms idle=8.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:17:07.596 [debug] Fetching recent media IDs from YouTube API for playlist: UUN1b55nEWSpUH4dkJDbu24A 13:17:07.597 [debug] QUERY OK source="settings" db=0.1ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:17:07.597 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 13:17:08.090 [debug] QUERY OK source="media_items" db=1.2ms idle=493.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [546, "0d-Eo3MZIdo", "BH4YCJqDYlA", "_w6Dd9BP0C0", "euW7khacvEo", "WgBJZ1Ubsg0", "oE0vCmcN28s", "_mzQ8upmuMY", "1ypIFJz3jJw", "4ru4RjSiB98", "uMOtAsS4J3s", "Lt2M-jITUTg", "VVPOeq8vXtE", "U3zq72vSJog", "a947nJ7-Lvo", "U33HbFNz36o", "-wREg8baf4o", "f3AaiD26a6E", "cqxY60ckd9A", "o2kjrw3-kw8", "ekvQ83S0DAw", "D_Aw3z4ylsQ", "t7PTzeBUNeQ", "SeoEbrN765M", "lylZY9I_56U", "SH8Lz4NVxTc", "xX64EASCs8M", "PKrKsVzBbII", "wqU5gyoow7M", "eretrY5pnxQ", "SA0-0otEkfc", "pYj3D7t1QFk", "e8sKRE9Yt9U", "1ctTT71N7Ns", "19xtndufa6A", "WNLkyQFf4pM", "rqxHc4SgmUk", "21K3bNCgS-U", "-ybA8ZTcqcU", "gxZJ9yJjg_4", "CBk6n38J9bg", "oh5f3m8vsrs", "hMemXKyyX1o", "0sLgTRmSxII", "QDiGH9BiMwQ", "iAD8eVw6fSw", "VMCnDLDWz3A", "qivkxMSnNZc", "teq8bduREw8", "WC_DtGlrP-A", ...] 13:17:08.095 [debug] QUERY OK source="media_items" db=4.3ms 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 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [546] 13:17:08.097 [debug] QUERY OK source="tasks" db=0.3ms idle=500.0ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2192090, 546, ~U[2026-04-15 13:17:08Z], ~U[2026-04-15 13:17:08Z]] 13:17:08.098 [info] {"args":{"id":546},"id":2192056,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":2722580,"event":"job:stop","queue_time":599545,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:17:08.105 [info] {"args":{"id":256},"id":2192058,"meta":{},"system_time":1776259028105253282,"max_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:17:08.105 [debug] QUERY OK source="sources" db=0.2ms idle=8.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [256] 13:17:08.106 [debug] QUERY OK source="settings" db=0.2ms idle=8.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:17:08.106 [debug] QUERY OK source="media_profiles" db=0.2ms idle=8.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 13:17:08.107 [debug] QUERY OK source="settings" db=0.2ms idle=8.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:17:08.107 [debug] Fetching recent media IDs from YouTube API for playlist: UUKjuhDegX8XdpWCr6nvNHzA 13:17:08.107 [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 [] 13:17:08.107 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 13:17:08.325 [debug] QUERY OK source="media_items" db=1.2ms idle=218.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [408, "60snLY1vA0E", "8pAhbBu7gEQ", "HdrrxdODQAA", "xKT3ecAfmFA", "YZO95dUHz3c", "Mp74vJFHTXM", "kJHttBFZxF0", "DmR_cT-8-hc", "SF2w4WoIFiM", "q_i5Q_JuqV8", "Ndx_mqpAlLE", "Ig5moNWc6Vg", "Kk40lncizgI", "ZcCyOkXZVjM", "c5LyWHDR8T8", "hMlhSujkKkk", "HSjwF2XIJdw", "_G5Eiyr8Qlo", "v7-lX7mNJ68", "HudMuosHMlo", "GKFSWYSGAoc", "svWkISzIjE4", "GrL4eRQxzcY", "1k3BfSt7mFI", "iyQOowSy4A8", "_wBp4fwp64E", "UcnxU-Nvp5o", "IKICkr0QDOg", "UKwdbZm6vWI", "95n7T6LSGTY", "x44wBLwVhQM", "NFTaRxu7pug", "a7SCBCJ4XIs", "BRFviE90sMY", "MgkuBaYfHLs", "KlJXxAtvjK0", "Wn-63J_jbSA", "dXXm7I0L8Dg", "kPnJgT8MklY", "vxA2Q_mrji4", "m-5OapnOgFM", "akPHdyMUl5M", "Zt6xVHfqseQ", "mk6FncB9cAA", "sbdzFS0t1zg", "BbTzZQTIwwg", "SZrqUGh_TbQ", "TXZpfFC90NQ", "SKo3F9Mr8ac", ...] 13:17:08.327 [debug] QUERY OK source="media_items" db=0.5ms idle=220.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")))) [408] 13:17:08.329 [debug] QUERY OK source="tasks" db=0.3ms idle=221.2ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2192091, 408, ~U[2026-04-15 13:17:08Z], ~U[2026-04-15 13:17:08Z]] 13:17:08.329 [info] {"args":{"id":408},"id":2192057,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":734145,"event":"job:stop","queue_time":2573885,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:17:08.336 [info] {"args":{"id":176},"id":2192059,"meta":{},"system_time":1776259028336046179,"max_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:17:08.336 [debug] QUERY OK source="sources" db=0.3ms idle=7.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [176] 13:17:08.337 [debug] QUERY OK source="settings" db=0.2ms idle=8.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:17:08.337 [debug] QUERY OK source="media_profiles" db=0.2ms idle=8.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 13:17:08.338 [debug] QUERY OK source="settings" db=0.2ms idle=8.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:17:08.338 [debug] Fetching recent media IDs from YouTube API for playlist: UU6F-j9LyXIK_zXY0gbYRjog 13:17:08.338 [debug] QUERY OK source="settings" db=0.1ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:17:08.338 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 13:17:08.398 [debug] Current batch of media processed. Will check again in 1000ms 13:17:08.627 [debug] QUERY OK source="media_items" db=1.1ms 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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [256, "DWUkU2XDaoQ", "bVd27otzkEo", "F401cxKw1uU", "V87j3RfYskI", "RTSIfcIPHZ4", "r-6bh8Odx3k", "iEMNXXVqx7k", "2oeIvbhGdss", "sqk9bSoEIi0", "tw7_JSncn18", "Wyve63135Fk", "xOlkugUCHIQ", "ZOg-UTcOWUI", "tEwCDo5sX-g", "fJMNv2rp3Ws", "_TsErXjEPo0", "aRzn7h73ScM", "foX-0CXMqzc", "OrIJDRZ5yck", "vIY1jM73Wv8", "wk0VqC_Dp3U", "6CT5F2T1kuk", "WHEKWr_ikX0", "Nku_tw_1kfE", "x0x_PkTgmTY", "yd3ttzfK_d8", "qrLjOFq4CXQ", "TQOZbpfSpxY", "2KcmeqRBAe0", "RZ7eKXOcDZA", "fyLOfjJj4cU", "-tkxtoUZNb0", "0dLV8wNyw-k", "59Gjb5NFDVQ", "Txw1JLPYcmY", "H5BLR4XliT0", "g43xxBSEsWk", "ZBSrSI_ZUgc", "PI6qDflxIQg", "wHPDU9EoILs", "3QbyJoTM7VY", "PFckr4gh1BA", "qvU1PKff_sM", "sJzJsaWL88U", "gY9uPzofHhk", "uRXFS29DGLM", "RvxT0XEbgAg", "N3SukH8PqzM", "9hfJK_HQqho", ...] 13:17:08.630 [debug] QUERY OK source="media_items" db=1.1ms idle=291.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")))) [256] 13:17:08.632 [debug] QUERY OK source="tasks" db=0.3ms idle=4.7ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2192092, 256, ~U[2026-04-15 13:17:08Z], ~U[2026-04-15 13:17:08Z]] 13:17:08.632 [info] {"args":{"id":256},"id":2192058,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":527312,"event":"job:stop","queue_time":2731115,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:17:08.640 [info] {"args":{"id":548},"id":2192060,"meta":{},"system_time":1776259028639955360,"max_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:17:08.640 [debug] QUERY OK source="sources" db=0.2ms idle=8.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [548] 13:17:08.640 [debug] QUERY OK source="settings" db=0.2ms idle=8.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:17:08.641 [debug] QUERY OK source="media_profiles" db=0.2ms idle=8.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 13:17:08.641 [debug] QUERY OK source="settings" db=0.2ms idle=8.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:17:08.641 [debug] Fetching recent media IDs from YouTube API for playlist: UUKIe0D8roD7OIY6GUZey4kA 13:17:08.642 [debug] QUERY OK source="settings" db=0.1ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:17:08.642 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 13:17:08.906 [debug] QUERY OK source="media_items" db=1.1ms 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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [176, "VrP9i5gRFmM", "WEoJyqjOLDs", "V3MNyEwmqr8", "qhNxSY35WZU", "rkb-6qjO3YM", "r_NzVN4OmIs", "YTpf0mOXNrI", "oNyFz82BVzY", "rK_Mp0leQUk", "rOIPOkqFo4o", "s-yFsryoeeA", "vHIVeqvO4aQ", "knyKlUZIwYQ", "irSIienUQd4", "eM9SB2Ny8lc", "vqZ6zySlGOU", "UdkGF_z3Aks", "ZPeBeS87EeI", "s7Ajz6YL2ZE", "rWmx74av4x4", "tNXj29ZS0VY", "oISdxagKMBI", "RVo_ar7OSDk", "dFcdYCKkc3Q", "jJmOjPGDdHQ", "uNFmnch6DkU", "agDEZAVDYAU", "I-sJTe9u0j4", "v8e_tW3NX0Y", "qGe25_jFNQ0", "0pMIwYMKE9w", "5ZYWspIqYLw", "vHH0LheJQFs", "VFlYnIQiIUo", "xQtI8cE7Igc", "cDH4cPa7XJM", "6F93shePog0", "Vn0A4aUTSbY", "yU0CccqqaX0", "tEEfMkbYfUY", "8DRBW9BERJM", "Mo6Z427HkdA", "C_hN-U1qgUo", "ACz-TF_Ln-w", "EvO9y5iGN-U", "tqH-9fmPdI0", "DnW4gL41yQc", "VDVDUOJgS9s", "0_mxyqK3sDk", ...] 13:17:08.908 [debug] QUERY OK source="media_items" db=0.6ms 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")))) [176] 13:17:08.909 [debug] QUERY OK source="tasks" db=0.2ms idle=267.3ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2192093, 176, ~U[2026-04-15 13:17:08Z], ~U[2026-04-15 13:17:08Z]] 13:17:08.910 [info] {"args":{"id":176},"id":2192059,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":573881,"event":"job:stop","queue_time":2733619,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:17:08.917 [info] {"args":{"id":116},"id":2192061,"meta":{},"system_time":1776259028917090594,"max_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:17:08.917 [debug] QUERY OK source="sources" db=0.2ms 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" FROM "sources" AS s0 WHERE (s0."id" = ?) [116] 13:17:08.918 [debug] QUERY OK source="settings" db=0.2ms idle=8.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:17:08.918 [debug] QUERY OK source="media_profiles" db=0.2ms idle=8.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 13:17:08.918 [debug] QUERY OK source="settings" db=0.2ms idle=8.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:17:08.919 [debug] Fetching recent media IDs from YouTube API for playlist: UU4vo6vxydWDmBa84KMKhiXw 13:17:08.919 [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 [] 13:17:08.919 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 13:17:09.152 [debug] QUERY OK source="media_items" db=1.1ms idle=233.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [548, "PfYHk-vjB_A", "2BuBWoUgyqk", "AAe4lJr8LMM", "f6a1cd0qIxk", "8CazQzCY3t4", "k_P0qA3sX5U", "sXQ4VA_qjEY", "Dp250ZKHJvk", "mPyaYSsntuQ", "fTqrxHYDV5I", "3sQXejmW6wI", "XJMyqh9XYjY", "lU_i_QnA1S4", "P2CObeRek_k", "UwhNyYKx5X0", "428okyYmv44", "6fqMb-oK-Xg", "mHjmfW7C5Uo", "bat3ptnzuc8", "ELACjXyUUtw", "IRUYXKvvbXU", "U8eH_biTWGw", "S5ontcrzHhU", "zybPVOUlIqM", "YjgY6OmtJLs", "dmyIkdPaWP8", "zlieCi6Tfsg", "5IgGWjGjOZc", "JR2faI1-OQU", "kpdNGZo3xQs", "L5VHg61PP5c", "HqM_WjUA12o", "bJgA5PhNu8M", "u4HpsaGxe_A", "wdJNBZvvtmA", "6nDTPvnPiy0", "LWpibL8P5B8", "F4eYz8hOg2g", "Vga4Xk3lkn0", "IWOLQphzwqA", "nKeMdr6iVts", "O29G6yd4URM", "m5qGxBjn1KM", "IYYcLFicyM8", "PfB9Sc92vYA", "ofLrgtXQLq4", "2cpOCFmVcvw", "KSbDk4A_DWc", "g2MNyRTZXIc", ...] 13:17:09.154 [debug] QUERY OK source="media_items" db=1.3ms idle=235.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")))) [548] 13:17:09.156 [debug] QUERY OK source="tasks" db=0.3ms idle=237.1ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2192094, 548, ~U[2026-04-15 13:17:09Z], ~U[2026-04-15 13:17:09Z]] 13:17:09.157 [info] {"args":{"id":548},"id":2192060,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":516974,"event":"job:stop","queue_time":2742886,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:17:09.164 [info] {"args":{"id":191},"id":2192062,"meta":{},"system_time":1776259029164072628,"max_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:17:09.164 [debug] QUERY OK source="sources" db=0.3ms idle=8.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [191] 13:17:09.165 [debug] QUERY OK source="settings" db=0.2ms idle=8.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:17:09.165 [debug] QUERY OK source="media_profiles" db=0.2ms idle=8.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 13:17:09.166 [debug] QUERY OK source="settings" db=0.2ms idle=8.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:17:09.166 [debug] Fetching recent media IDs from YouTube API for playlist: UUaA8WJj7rZtNb41Bb34tnTA 13:17:09.166 [debug] QUERY OK source="settings" db=0.1ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:17:09.166 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 13:17:09.399 [debug] Current batch of media processed. Will check again in 1000ms 13:17:09.630 [debug] QUERY OK source="media_items" db=1.2ms idle=464.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [116, "nytXL_VEGmw", "678MQRWDzLE", "kfMP1FlsZ-Y", "IB-kOvrzKX8", "TdtuOizJSew", "AQUU0tZDwfI", "Wn3MRd9Wuro", "S7DdtEy9Jgg", "CV5yz6G2Z9w", "q36ovsRziNo", "odjn_S9EIdQ", "FSsKyw-iEzY", "wjMtWMa1A80", "ABWJtxsG3eU", "k4XabFYYE7Q", "5pfiBaTNIsQ", "zRDynSEI6Fk", "iD1AGYL4bR0", "t-8_25lfMJM", "Oe_TXmyWqJ8", "0NzC4S1dgM0", "9cULliuD6nE", "EDO5ReEwdio", "XdeqVSzgy2U", "TTAXcbQpEaE", "ECAr_67wdPM", "LLacJ65FK6Y", "muI5rDkVn3A", "EbMCcAmbOOo", "IkKAj4Ki2sc", "SSGgoLGe4tY", "BT7x8jDjP_0", "duHnTnv43l8", "qWRjcOH3A38", "sZeBxpZHl_8", "269E9Qg_TJ8", "K5TDrxiDhmg", "phQpyBEcPbM", "y20UfhdVbKY", "ProjJh_PVb4", "U35NNywKWkw", "HvjbSZ1jNpQ", "ab3H7nqA4iQ", "8Fg9GartJlE", "52y4kIvGb5s", "Q8yBHGBwAnc", "rFtQq4npWC4", "5LTTw4DBUwQ", "IhN1EwbuSJE", ...] 13:17:09.632 [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 [] 13:17:09.632 [debug] QUERY OK source="settings" db=0.1ms idle=466.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:17:09.632 [debug] Running yt-dlp command for action: get_media_attributes 13:17:09.639 [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 [] 13:17:09.640 [debug] QUERY OK source="settings" db=0.1ms idle=265.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:17:09.640 [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 [] 13:17:09.640 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=nytXL_VEGmw --simulate --skip-download --output /downloads/shorts/بسط بودكاست/بسط بودكاست - %(upload_date>%Y-%m-%d)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/46/e9/46e9145723aee9338f3fc871c8aa3454064b763e3a91d7e338746ef6d88284bb.json --sleep-requests 5 --sleep-interval 5 --sleep-subtitles 4 --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:17:09.974 [debug] QUERY OK source="media_items" db=0.8ms idle=341.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [191, "jZPBvl0cOVg", "JAPsrunU5Lg", "9Vx5IKgj6FE", "ISsGIXK0DAo", "Id20bd5X2iU", "x6VkSJy4HNw", "2IR8K7NYkNo", "_DKN9NK3Vg4", "gG7-BfNX30Q", "liy01fr1yBE", "Jlh8uBe7RFY", "9cXfBEwntzA", "qacVmM42e_o", "O4wwG8qBqXs", "1fBaNL_3JHs", "BzxEZMf3Rjc", "AvL2XPACjik", "tuWjvViGp4o", "hzy4lCK6rM8", "H0KL7u9cC1M", "8XEOshhKUPU", "rTXEC3VFqVo", "SNRZzKVH754", "eZEP7qSvMWQ", "DsbsadX-7Rw", "oNX2TzH926Q", "ClJpxV5rPkE", "5GGq9OhxbeY", "bZMwkPXAI-0", "aGAwKq2voMw", "A7Z9XghbCsE", "jBEX06n7cWQ", "UPbV21bn7Mg", "1UgURk7PuQg", "_vndBPsf0vQ", "0UJZmJzzLVI", "EUGuC62oYgg", "ABAOXlx_WuY", "4siwTxHoj5k", "IJthhi9-Ex4", "EL8VyinqjXI", "ElgT-WHpxvk", "XigqTb7Y5OQ", "RIT7GX_bO1Y", "3wQqHyMG3yo", "X6JeIE1t1pQ", "swJSgogb9ys", "DRZ6y0qceR4", "CS-oesi4GLs", ...] 13:17:09.977 [debug] QUERY OK source="media_items" db=1.4ms idle=343.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")))) [191] 13:17:09.978 [debug] QUERY OK source="tasks" db=0.1ms idle=337.5ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2192095, 191, ~U[2026-04-15 13:17:09Z], ~U[2026-04-15 13:17:09Z]] 13:17:09.978 [info] {"args":{"id":191},"id":2192062,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":814131,"event":"job:stop","queue_time":1122915,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:17:10.400 [debug] Current batch of media processed. Will check again in 1000ms 13:17:11.401 [debug] Current batch of media processed. Will check again in 1000ms 13:17:12.402 [debug] Current batch of media processed. Will check again in 1000ms 13:17:12.927 [info] {"source":"oban","duration":18018,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:17:13.403 [debug] Current batch of media processed. Will check again in 1000ms 13:17:14.404 [debug] Current batch of media processed. Will check again in 1000ms 13:17:15.405 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "", "duration" => 80, "filename" => "/downloads/shorts/بودكاست الأحرار/بودكاست الأحرار - 2025-08-05 - [7RaXXMXIKdE].mp4", "id" => "7RaXXMXIKdE", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/7RaXXMXIKdE", "playlist_index" => 2, "timestamp" => 1754410172, "title" => "\"حويتة وخميسة وقرين\" رموز ليبية قديمة.. من أين جاءت؟", "upload_date" => "20250805"} 13:17:15.405 [debug] QUERY OK source="sources" db=0.2ms idle=1024.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" IN (?)) [372] 13:17:15.406 [debug] QUERY OK source="sources" db=0.2ms idle=395.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" = ?) [372] 13:17:15.406 [debug] QUERY OK source="media_items" db=0.3ms idle=396.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-08-05 16:09:32Z], 372] 13:17:15.407 [debug] QUERY OK source="media_items" db=0.6ms idle=396.9ms INSERT INTO "media_items" AS m0 ("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) 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" ["\"حويتة وخميسة وقرين\" رموز ليبية قديمة.. من أين جاءت؟", "b96b6193-e620-4c5e-a1e5-afbb611f02b1", 80, false, "7RaXXMXIKdE", "https://www.youtube.com/shorts/7RaXXMXIKdE", 2, "/downloads/shorts/بودكاست الأحرار/بودكاست الأحرار - 2025-08-05 - [7RaXXMXIKdE].mp4", false, false, true, 372, [], 98, ~U[2025-08-05 16:09:32Z], ~U[2026-04-15 13:17:15Z], ~U[2026-04-15 13:17:15Z], "", "\"حويتة وخميسة وقرين\" رموز ليبية قديمة.. من أين جاءت؟", 80, false, "7RaXXMXIKdE", "https://www.youtube.com/shorts/7RaXXMXIKdE", "/downloads/shorts/بودكاست الأحرار/بودكاست الأحرار - 2025-08-05 - [7RaXXMXIKdE].mp4", true, 372, ~U[2025-08-05 16:09:32Z]] 13:17:15.408 [debug] QUERY OK source="sources" db=0.8ms idle=26.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" = ?) [372] 13:17:15.409 [debug] QUERY OK source="media_profiles" db=0.4ms idle=3.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 13:17:15.410 [debug] QUERY OK source="media_items" db=0.4ms 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 [4631061] 13:17:15.410 [debug] Current batch of media processed. Will check again in 1000ms 13:17:15.678 [info] GET /sources/529/media/4353516 13:17:15.678 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "4353516", "prevent_download" => "true", "source_id" => "529"} Pipelines: [:browser] 13:17:15.679 [debug] QUERY OK source="media_items" db=0.3ms idle=272.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" = ?) [4353516] 13:17:15.679 [debug] QUERY OK source="tasks" db=0.1ms idle=271.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" [4353516] 13:17:15.680 [debug] QUERY OK source="sources" db=0.4ms idle=270.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" = ?) [529] 13:17:15.680 [debug] QUERY OK source="settings" db=0.1ms idle=270.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:17:15.680 [debug] QUERY OK source="settings" db=0.1ms idle=270.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:17:15.681 [debug] QUERY OK source="settings" db=0.1ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:17:15.682 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:17:15.683 [info] Sent 200 in 5ms 13:17:16.411 [debug] Current batch of media processed. Will check again in 1000ms 13:17:17.412 [debug] Current batch of media processed. Will check again in 1000ms 13:17:18.413 [debug] Current batch of media processed. Will check again in 1000ms 13:17:19.414 [debug] Current batch of media processed. Will check again in 1000ms 13:17:20.415 [debug] Current batch of media processed. Will check again in 1000ms 13:17:21.416 [debug] Current batch of media processed. Will check again in 1000ms 13:17:22.417 [debug] Current batch of media processed. Will check again in 1000ms 13:17:23.418 [debug] Current batch of media processed. Will check again in 1000ms 13:17:24.419 [debug] Current batch of media processed. Will check again in 1000ms 13:17:25.420 [debug] Current batch of media processed. Will check again in 1000ms 13:17:26.421 [debug] Current batch of media processed. Will check again in 1000ms 13:17:27.422 [debug] Current batch of media processed. Will check again in 1000ms 13:17:28.423 [debug] Current batch of media processed. Will check again in 1000ms 13:17:29.424 [debug] Current batch of media processed. Will check again in 1000ms 13:17:30.425 [debug] Current batch of media processed. Will check again in 1000ms 13:17:30.650 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=nytXL_VEGmw --simulate --skip-download --output /downloads/shorts/بسط بودكاست/بسط بودكاست - %(upload_date>%Y-%m-%d)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/46/e9/46e9145723aee9338f3fc871c8aa3454064b763e3a91d7e338746ef6d88284bb.json --sleep-requests 5 --sleep-interval 5 --sleep-subtitles 4 --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 13:17:30.651 [debug] QUERY OK source="sources" db=0.2ms idle=1640.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" = ?) [116] 13:17:30.657 [debug] QUERY OK source="media_items" db=5.8ms idle=1641.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-15 13:15:06Z], 116] 13:17:30.660 [debug] QUERY OK source="media_items" db=1.7ms idle=1647.7ms 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" ["نعيش اليوم زمنًا تتكدس فيه المصنفات والمؤلفات الإسلامية، مما يعكس وعيًا فكريًا كبيرًا. ولكن، لماذا لا نرى هذا الكم الهائل من المعرفة ينعكس نهضة وتقدمًا حقيقيًا في واقع المسلمين؟ يتناول أستاذ مقاصد الشريعة الإسلامية في هذه الحلقة من بسط بودكاست أسباب هذه الفجوة، مشددًا على أن التعامل الفردي والنفسي مع القرآن الكريم هو المفتاح، مشيرًا إلى أن القرآن الكريم هو كتاب هداية ونور. فكيف نضمن أن قراءتنا وتدبرنا له لا يقتصر على مجرد التلاوة وحفظ الحروف، بل يتجاوز ذلك ليلامس أرواحنا ويوجه خطواتنا نحو بناء نهضة أمتنا؟\n\nكيف يتحقق مقصد الهداية من القرآن الكريم في واقعنا اليوم؟ #بسط #بودكاست\n\n\nهل نقرأ القرآن عكس مقاصده؟ | بسط بودكاست\n\nهل يمكن أن نفهم القرآن بوصفه منهج حياة شاملًا، أم أننا اكتفينا بتلاوته من دون تدبر أثرِه في الواقع؟ ومتى يكون التجديد في التفسير إحياءً لمعاني القرآن، ومتى يتحول إلى تحريف له؟\nفي هذه الحلقة من بسط بودكاست، يناقش أستاذ مقاصد الشريعة الإسلامية الدكتور وصفي عاشور أبو زيد هذه الإشكالات العميقة المتعلقة بعلاقتنا بالقرآن وبالتفسير، ويوضح أن القرآن كتاب هداية متكامل يوجّه الإنسان في العقيدة والسلوك، ويسهم في بناء الوعي الحضاري للأمة.\nكما تتناول الحلقة التفسير المقاصدي بوصفه منهجًا لفهم الغايات الكبرى للنص من خلال استقراء آياته في الموضوع الواحد. ويبين أن التفسير يرتبط بسياق المفسر وواقعه الفكري والاجتماعي، من غير أن يعني ذلك إخضاع النص للواقع أو تذويبه فيه.\nويتطرق الدكتور وصفي كذلك إلى ضوابط التجديد في التفسير، وحدود العلاقة بين النص والواقع، ومنهج استكشاف مقاصد القرآن من داخله. وفي ختام الحلقة، يخلص إلى أن فهم القرآن فهمًا مقاصديًا يسهم في إعادة بناء وعي المسلم، ويجعله أكثر التصاقًا بالهداية والعمل والتغيير.", "كيف يتحقق مقصد الهداية من القرآن الكريم في واقعنا اليوم؟ #بسط #بودكاست", "46919b43-7d29-449d-aceb-5dc2bf6d113b", 109, false, "nytXL_VEGmw", "https://www.youtube.com/watch?v=nytXL_VEGmw", 0, "/downloads/shorts/بسط بودكاست/بسط بودكاست - 2026-04-15 - [nytXL_VEGmw].mp4", false, false, true, 116, [], 99, ~U[2026-04-15 13:15:06Z], ~U[2026-04-15 13:17:30Z], ~U[2026-04-15 13:17:30Z], "نعيش اليوم زمنًا تتكدس فيه المصنفات والمؤلفات الإسلامية، مما يعكس وعيًا فكريًا كبيرًا. ولكن، لماذا لا نرى هذا الكم الهائل من المعرفة ينعكس نهضة وتقدمًا حقيقيًا في واقع المسلمين؟ يتناول أستاذ مقاصد الشريعة الإسلامية في هذه الحلقة من بسط بودكاست أسباب هذه الفجوة، مشددًا على أن التعامل الفردي والنفسي مع القرآن الكريم هو المفتاح، مشيرًا إلى أن القرآن الكريم هو كتاب هداية ونور. فكيف نضمن أن قراءتنا وتدبرنا له لا يقتصر على مجرد التلاوة وحفظ الحروف، بل يتجاوز ذلك ليلامس أرواحنا ويوجه خطواتنا نحو بناء نهضة أمتنا؟\n\nكيف يتحقق مقصد الهداية من القرآن الكريم في واقعنا اليوم؟ #بسط #بودكاست\n\n\nهل نقرأ القرآن عكس مقاصده؟ | بسط بودكاست\n\nهل يمكن أن نفهم القرآن بوصفه منهج حياة شاملًا، أم أننا اكتفينا بتلاوته من دون تدبر أثرِه في الواقع؟ ومتى يكون التجديد في التفسير إحياءً لمعاني القرآن، ومتى يتحول إلى تحريف له؟\nفي هذه الحلقة من بسط بودكاست، يناقش أستاذ مقاصد الشريعة الإسلامية الدكتور وصفي عاشور أبو زيد هذه الإشكالات العميقة المتعلقة بعلاقتنا بالقرآن وبالتفسير، ويوضح أن القرآن كتاب هداية متكامل يوجّه الإنسان في العقيدة والسلوك، ويسهم في بناء الوعي الحضاري للأمة.\nكما تتناول الحلقة التفسير المقاصدي بوصفه منهجًا لفهم الغايات الكبرى للنص من خلال استقراء آياته في الموضوع الواحد. ويبين أن التفسير يرتبط بسياق المفسر وواقعه الفكري والاجتماعي، من غير أن يعني ذلك إخضاع النص للواقع أو تذويبه فيه.\nويتطرق الدكتور وصفي كذلك إلى ضوابط التجديد في التفسير، وحدود العلاقة بين النص والواقع، ومنهج استكشاف مقاصد القرآن من داخله. وفي ختام الحلقة، يخلص إلى أن فهم القرآن فهمًا مقاصديًا يسهم في إعادة بناء وعي المسلم، ويجعله أكثر التصاقًا بالهداية والعمل والتغيير.", "كيف يتحقق مقصد الهداية من القرآن الكريم في واقعنا اليوم؟ #بسط #بودكاست", 109, false, "nytXL_VEGmw", "https://www.youtube.com/watch?v=nytXL_VEGmw", "/downloads/shorts/بسط بودكاست/بسط بودكاست - 2026-04-15 - [nytXL_VEGmw].mp4", true, 116, ~U[2026-04-15 13:15:06Z]] 13:17:30.661 [debug] QUERY OK source="sources" db=0.3ms idle=1261.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" = ?) [116] 13:17:30.661 [debug] QUERY OK source="media_profiles" db=0.3ms idle=261.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" = ?) [2] 13:17:30.662 [debug] QUERY OK source="media_items" db=0.4ms idle=10.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 [4703673] 13:17:30.668 [debug] QUERY OK source="media_items" db=6.0ms idle=5.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [116] 13:17:30.669 [debug] QUERY OK source="sources" db=0.1ms idle=9.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [116] 13:17:30.669 [debug] QUERY OK source="media_profiles" db=0.1ms idle=8.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 13:17:30.670 [debug] QUERY OK source="media_items" db=0.2ms idle=8.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4703673] 13:17:30.671 [debug] QUERY OK source="tasks" db=0.3ms idle=2.0ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2192096, 116, ~U[2026-04-15 13:17:30Z], ~U[2026-04-15 13:17:30Z]] 13:17:30.672 [info] {"args":{"id":116},"id":2192061,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":21754593,"event":"job:stop","queue_time":2527694,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:17:31.426 [debug] Current batch of media processed. Will check again in 1000ms 13:17:32.427 [debug] Current batch of media processed. Will check again in 1000ms 13:17:33.428 [debug] Current batch of media processed. Will check again in 1000ms 13:17:34.429 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "", "duration" => 80, "filename" => "/downloads/shorts/بودكاست الأحرار/بودكاست الأحرار - 2025-08-04 - [49XxxmhEHHo].mp4", "id" => "49XxxmhEHHo", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/49XxxmhEHHo", "playlist_index" => 3, "timestamp" => 1754319044, "title" => "ليبيا القديمة.. حكايات منسية من التّاريخ", "upload_date" => "20250804"} 13:17:34.430 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=419.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" IN (?)) [372] 13:17:34.430 [debug] QUERY OK source="sources" db=0.1ms idle=420.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" = ?) [372] 13:17:34.431 [debug] QUERY OK source="media_items" db=0.3ms idle=420.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-08-04 14:50:44Z], 372] 13:17:34.432 [debug] QUERY OK source="media_items" db=0.7ms idle=421.3ms INSERT INTO "media_items" AS m0 ("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) 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" ["ليبيا القديمة.. حكايات منسية من التّاريخ", "b19bbee2-a644-459e-a2a0-d845b223bb43", 80, false, "49XxxmhEHHo", "https://www.youtube.com/shorts/49XxxmhEHHo", 3, "/downloads/shorts/بودكاست الأحرار/بودكاست الأحرار - 2025-08-04 - [49XxxmhEHHo].mp4", false, false, true, 372, [], 98, ~U[2025-08-04 14:50:44Z], ~U[2026-04-15 13:17:34Z], ~U[2026-04-15 13:17:34Z], "", "ليبيا القديمة.. حكايات منسية من التّاريخ", 80, false, "49XxxmhEHHo", "https://www.youtube.com/shorts/49XxxmhEHHo", "/downloads/shorts/بودكاست الأحرار/بودكاست الأحرار - 2025-08-04 - [49XxxmhEHHo].mp4", true, 372, ~U[2025-08-04 14:50:44Z]] 13:17:34.433 [debug] QUERY OK source="sources" db=0.3ms 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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [372] 13:17:34.433 [debug] QUERY OK source="media_profiles" db=0.2ms idle=3.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 13:17:34.434 [debug] QUERY OK source="media_items" db=0.3ms idle=3.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 [4631063] 13:17:34.434 [debug] Current batch of media processed. Will check again in 1000ms 13:17:35.435 [debug] Current batch of media processed. Will check again in 1000ms 13:17:36.436 [debug] Current batch of media processed. Will check again in 1000ms 13:17:37.437 [debug] Current batch of media processed. Will check again in 1000ms 13:17:38.438 [debug] Current batch of media processed. Will check again in 1000ms 13:17:39.439 [debug] Current batch of media processed. Will check again in 1000ms 13:17:40.440 [debug] Current batch of media processed. Will check again in 1000ms 13:17:41.441 [debug] Current batch of media processed. Will check again in 1000ms 13:17:42.442 [debug] Current batch of media processed. Will check again in 1000ms 13:17:42.946 [info] {"source":"oban","duration":17885,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:17:43.443 [debug] Current batch of media processed. Will check again in 1000ms 13:17:44.444 [debug] Current batch of media processed. Will check again in 1000ms 13:17:45.445 [debug] Current batch of media processed. Will check again in 1000ms 13:17:46.446 [debug] Current batch of media processed. Will check again in 1000ms 13:17:47.447 [debug] Current batch of media processed. Will check again in 1000ms 13:17:48.448 [debug] Current batch of media processed. Will check again in 1000ms 13:17:49.449 [debug] Current batch of media processed. Will check again in 1000ms 13:17:50.450 [debug] Current batch of media processed. Will check again in 1000ms 13:17:51.451 [debug] Current batch of media processed. Will check again in 1000ms 13:17:52.452 [debug] Current batch of media processed. Will check again in 1000ms 13:17:53.453 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "الأمم المتّحدة لم تصنع تاريخنا وثقافتنا، ولكنّها صنعت السلطة السياسية فقط!!", "duration" => 86, "filename" => "/downloads/shorts/بودكاست الأحرار/بودكاست الأحرار - 2025-08-03 - [djPkr600_BI].mp4", "id" => "djPkr600_BI", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/djPkr600_BI", "playlist_index" => 4, "timestamp" => 1754231984, "title" => "ليبيا أقدم من الأمم المتحدة", "upload_date" => "20250803"} 13:17:53.453 [debug] QUERY OK source="sources" db=0.1ms idle=1443.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" IN (?)) [372] 13:17:53.454 [debug] QUERY OK source="sources" db=0.2ms idle=1443.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" = ?) [372] 13:17:53.454 [debug] QUERY OK source="media_items" db=0.3ms idle=1444.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-08-03 14:39:44Z], 372] 13:17:53.455 [debug] QUERY OK source="media_items" db=0.7ms idle=1029.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" ["الأمم المتّحدة لم تصنع تاريخنا وثقافتنا، ولكنّها صنعت السلطة السياسية فقط!!", "ليبيا أقدم من الأمم المتحدة", "9c9bf2a5-e4b7-483c-be3b-c408314d3fa1", 86, false, "djPkr600_BI", "https://www.youtube.com/shorts/djPkr600_BI", 4, "/downloads/shorts/بودكاست الأحرار/بودكاست الأحرار - 2025-08-03 - [djPkr600_BI].mp4", false, false, true, 372, [], 98, ~U[2025-08-03 14:39:44Z], ~U[2026-04-15 13:17:53Z], ~U[2026-04-15 13:17:53Z], "الأمم المتّحدة لم تصنع تاريخنا وثقافتنا، ولكنّها صنعت السلطة السياسية فقط!!", "ليبيا أقدم من الأمم المتحدة", 86, false, "djPkr600_BI", "https://www.youtube.com/shorts/djPkr600_BI", "/downloads/shorts/بودكاست الأحرار/بودكاست الأحرار - 2025-08-03 - [djPkr600_BI].mp4", true, 372, ~U[2025-08-03 14:39:44Z]] 13:17:53.456 [debug] QUERY OK source="sources" db=0.2ms idle=29.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" = ?) [372] 13:17:53.456 [debug] QUERY OK source="media_profiles" db=0.3ms 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" = ?) [2] 13:17:53.458 [debug] QUERY OK source="media_items" db=0.9ms 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 [4631065] 13:17:53.458 [debug] Current batch of media processed. Will check again in 1000ms 13:17:54.459 [debug] Current batch of media processed. Will check again in 1000ms 13:17:55.460 [debug] Current batch of media processed. Will check again in 1000ms 13:17:56.461 [debug] Current batch of media processed. Will check again in 1000ms 13:17:57.462 [debug] Current batch of media processed. Will check again in 1000ms 13:17:58.463 [debug] Current batch of media processed. Will check again in 1000ms 13:17:59.464 [debug] Current batch of media processed. Will check again in 1000ms 13:18:00.465 [debug] Current batch of media processed. Will check again in 1000ms 13:18:00.854 [info] {"source":"oban","duration":186,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:18:01.466 [debug] Current batch of media processed. Will check again in 1000ms 13:18:02.467 [debug] Current batch of media processed. Will check again in 1000ms 13:18:03.468 [debug] Current batch of media processed. Will check again in 1000ms 13:18:04.447 [info] {"args":{"id":398},"id":2192063,"meta":{},"system_time":1776259084447145413,"max_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:18:04.447 [debug] QUERY OK source="sources" db=0.3ms idle=1437.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" = ?) [398] 13:18:04.448 [debug] QUERY OK source="settings" db=0.2ms idle=1009.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:18:04.448 [debug] QUERY OK source="media_profiles" db=0.3ms idle=438.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" = ?) [2] 13:18:04.449 [debug] QUERY OK source="settings" db=0.2ms idle=8.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:18:04.449 [debug] Fetching recent media IDs from YouTube API for playlist: UUCbIqqUYqlvskcT4UJKgp0A 13:18:04.449 [debug] QUERY OK source="settings" db=0.1ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:18:04.449 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 13:18:04.469 [debug] Current batch of media processed. Will check again in 1000ms 13:18:04.793 [debug] QUERY OK source="media_items" db=1.2ms idle=344.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [398, "TMMZYc9IgDA", "17sWgRsYQqY", "ZpjrNISTUh0", "NEeBdV2GB8U", "6UEKxr0CjGg", "NWCVD7myp4o", "MhK3gfLvTNw", "eEHajx5JzSs", "I4XkUPlVuNA", "BBHjfuE8uYc", "oaummeIbyiE", "IAYtkgRgV1o", "4zhXB40pfuQ", "O0-9r7OeVjg", "BR1SZVInqnw", "7wBlas-p7zU", "xEHgIoiu8WU", "2zWSjk5Vqn8", "7xtXhYC1oLM", "8bg5pYHU1rU", "StfQN_0vmWs", "kSuw_nrQou0", "--cc1UnTZOM", "v02AjJzWA5c", "gTuMrWqxe7s", "p-v9j1CbD5s", "3YFqKJeDWQk", "X5EsXmOGxkQ", "zkCjl4vhiVI", "QBLbqY5Ea-U", "p1Ca3rBtM_0", "80PF1Vatv4o", "cof4ynZjXTg", "aNEFg5WCC_s", "1l8S9eDgjms", "fQG9_ZWhmps", "mG6ZDr2-_0E", "SGZJHTfLUFY", "sIbaqt6JzeU", "YTFHrYqpmDA", "EggNQNf4-xg", "SDmB0xlDdw0", "d55qkSwiDEo", "75tg3p5h8K8", "NN-DFa3l_xs", "ICTzn9oQJjQ", "lGi0YQw2FHw", "uo6mStUoJjc", "fYOGrcWS7vk", ...] 13:18:04.796 [debug] QUERY OK source="media_items" db=1.7ms idle=346.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")))) [398] 13:18:04.798 [debug] QUERY OK source="tasks" db=0.3ms idle=348.4ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2192097, 398, ~U[2026-04-15 13:18:04Z], ~U[2026-04-15 13:18:04Z]] 13:18:04.799 [info] {"args":{"id":398},"id":2192063,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":351496,"event":"job:stop","queue_time":402660,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:18:05.470 [debug] Current batch of media processed. Will check again in 1000ms 13:18:06.471 [debug] Current batch of media processed. Will check again in 1000ms 13:18:07.430 [info] GET /sources/519/media/4635319/force_download 13:18:07.430 [debug] QUERY OK source="settings" db=0.2ms idle=1420.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:18:07.431 [debug] QUERY OK source="settings" db=0.2ms idle=1420.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:18:07.431 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 13:18:07.431 [error] #PID<0.5963.0> running PinchflatWeb.Endpoint (connection #PID<0.5962.0>, stream id 1) terminated Server: jak.hibeex.com:80 (http) Request: GET /sources/519/media/4635319/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/519/media/4635319/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5962.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/519/media/4635319/force_download", host: "jak.hibeex.com", peer: {{172, 22, 0, 1}, 51974}, bindings: %{}, sock: {{172, 22, 0, 4}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYdWVPdldudjdrc0dFQlVOSzZ2UXA4WVZa.MGXbM8tG2KHKOztAj_Vc-ia_nbpetCNN1dZJOSf8iWk", "from" => "gptbot(at)openai.com", "host" => "jak.hibeex.com", "referer" => "https://jak.hibeex.com/sources/519/media/4635319?prevent_download=true", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.232", "x-forwarded-proto" => "https", "x-openai-host-hash" => "41517590", "x-real-ip" => "74.7.243.232" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYdWVPdldudjdrc0dFQlVOSzZ2UXA4WVZa.MGXbM8tG2KHKOztAj_Vc-ia_nbpetCNN1dZJOSf8iWk" }, halted: false, host: "jak.hibeex.com", method: "GET", owner: #PID<0.5963.0>, params: %{}, path_info: ["sources", "519", "media", "4635319", "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://jak.hibeex.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 22, 0, 1}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYdWVPdldudjdrc0dFQlVOSzZ2UXA4WVZa.MGXbM8tG2KHKOztAj_Vc-ia_nbpetCNN1dZJOSf8iWk" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"connection", "close"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYdWVPdldudjdrc0dFQlVOSzZ2UXA4WVZa.MGXbM8tG2KHKOztAj_Vc-ia_nbpetCNN1dZJOSf8iWk"}, {"from", "gptbot(at)openai.com"}, {"host", "jak.hibeex.com"}, {"referer", "https://jak.hibeex.com/sources/519/media/4635319?prevent_download=true"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)"}, {"x-forwarded-for", "74.7.243.232"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "41517590"}, {"x-real-ip", "74.7.243.232"} ], request_path: "/sources/519/media/4635319/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKaKOp9SnUEGVioAA8aB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5962.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/519/media/4635319/force_download", host: "jak.hibeex.com", peer: {{172, 22, 0, 1}, 51974}, bindings: %{}, sock: {{172, 22, 0, 4}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYdWVPdldudjdrc0dFQlVOSzZ2UXA4WVZa.MGXbM8tG2KHKOztAj_Vc-ia_nbpetCNN1dZJOSf8iWk", "from" => "gptbot(at)openai.com", "host" => "jak.hibeex.com", "referer" => "https://jak.hibeex.com/sources/519/media/4635319?prevent_download=true", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.232", "x-forwarded-proto" => "https", "x-openai-host-hash" => "41517590", "x-real-ip" => "74.7.243.232" }, method: "GET", body_length: 0, path_info: :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/519/media/4635319/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5962.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/519/media/4635319/force_download", host: "jak.hibeex.com", peer: {{172, 22, 0, 1}, 51974}, bindings: %{}, sock: {{172, 22, 0, 4}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYdWVPdldudjdrc0dFQlVOSzZ2UXA4WVZa.MGXbM8tG2KHKOztAj_Vc-ia_nbpetCNN1dZJOSf8iWk", "from" => "gptbot(at)openai.com", "host" => "jak.hibeex.com", "referer" => "https://jak.hibeex.com/sources/519/media/4635319?prevent_download=true", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.232", "x-forwarded-proto" => "https", "x-openai-host-hash" => "41517590", "x-real-ip" => "74.7.243.232" }, method: "GET", body_length: 0, path_info: :und (truncated) 13:18:07.472 [debug] Current batch of media processed. Will check again in 1000ms 13:18:08.473 [debug] Current batch of media processed. Will check again in 1000ms 13:18:09.474 [debug] Current batch of media processed. Will check again in 1000ms 13:18:10.475 [debug] Current batch of media processed. Will check again in 1000ms 13:18:11.476 [debug] Current batch of media processed. Will check again in 1000ms 13:18:12.477 [debug] Current batch of media processed. Will check again in 1000ms 13:18:12.965 [info] {"source":"oban","duration":18031,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:18:13.478 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "\"ليبيا ممر للحضارات وليست بوابة عبور\".. بوشناف يُصحّح الرواية التاريخية حول ليبيا", "duration" => 88, "filename" => "/downloads/shorts/بودكاست الأحرار/بودكاست الأحرار - 2025-08-02 - [zFl6TXil8ro].mp4", "id" => "zFl6TXil8ro", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/zFl6TXil8ro", "playlist_index" => 5, "timestamp" => 1754143301, "title" => "أقدم حضارات \"الترانزيت\" في التاريخ", "upload_date" => "20250802"} 13:18:13.478 [debug] QUERY OK source="sources" db=0.2ms idle=1468.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" IN (?)) [372] 13:18:13.479 [debug] QUERY OK source="sources" db=0.2ms idle=1027.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" = ?) [372] 13:18:13.480 [debug] QUERY OK source="media_items" db=0.3ms idle=514.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-08-02 14:01:41Z], 372] 13:18:13.481 [debug] QUERY OK source="media_items" db=0.7ms idle=470.1ms 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" ["\"ليبيا ممر للحضارات وليست بوابة عبور\".. بوشناف يُصحّح الرواية التاريخية حول ليبيا", "أقدم حضارات \"الترانزيت\" في التاريخ", "06c1c149-cd84-45ed-b468-f85a68d9873e", 88, false, "zFl6TXil8ro", "https://www.youtube.com/shorts/zFl6TXil8ro", 5, "/downloads/shorts/بودكاست الأحرار/بودكاست الأحرار - 2025-08-02 - [zFl6TXil8ro].mp4", false, false, true, 372, [], 98, ~U[2025-08-02 14:01:41Z], ~U[2026-04-15 13:18:13Z], ~U[2026-04-15 13:18:13Z], "\"ليبيا ممر للحضارات وليست بوابة عبور\".. بوشناف يُصحّح الرواية التاريخية حول ليبيا", "أقدم حضارات \"الترانزيت\" في التاريخ", 88, false, "zFl6TXil8ro", "https://www.youtube.com/shorts/zFl6TXil8ro", "/downloads/shorts/بودكاست الأحرار/بودكاست الأحرار - 2025-08-02 - [zFl6TXil8ro].mp4", true, 372, ~U[2025-08-02 14:01:41Z]] 13:18:13.481 [debug] QUERY OK source="sources" db=0.3ms idle=28.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [372] 13:18:13.482 [debug] QUERY OK source="media_profiles" db=0.3ms idle=3.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 13:18:13.483 [debug] QUERY OK source="media_items" db=0.4ms idle=3.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 [4631067] 13:18:13.483 [debug] Current batch of media processed. Will check again in 1000ms 13:18:14.484 [debug] Current batch of media processed. Will check again in 1000ms 13:18:15.485 [debug] Current batch of media processed. Will check again in 1000ms 13:18:16.486 [debug] Current batch of media processed. Will check again in 1000ms 13:18:17.466 [info] {"args":{"id":411},"id":2192064,"meta":{},"system_time":1776259097465981116,"max_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:18:17.466 [debug] QUERY OK source="sources" db=0.1ms idle=456.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" = ?) [411] 13:18:17.467 [debug] QUERY OK source="settings" db=0.2ms idle=456.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:18:17.467 [debug] QUERY OK source="media_profiles" db=0.2ms idle=456.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" = ?) [2] 13:18:17.467 [debug] QUERY OK source="settings" db=0.2ms idle=8.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:18:17.468 [debug] Fetching recent media IDs from YouTube API for playlist: UUDItXi7_EXg4AEviycQNaLQ 13:18:17.468 [debug] QUERY OK source="settings" db=0.1ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:18:17.468 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 13:18:17.487 [debug] Current batch of media processed. Will check again in 1000ms 13:18:17.849 [debug] QUERY OK source="media_items" db=1.3ms idle=381.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [411, "JuDij37WcMQ", "rfg7AvtzW-w", "9D2z-swZk04", "z8Yxq-sXAEY", "M9BoVFGH0RY", "t8d0ZZmhz0U", "-yt8Js4ud6A", "4dW9FV5t4Yo", "ATPqDugamkY", "AXV7sIoRgkM", "TMmET7MMEYk", "fAXX1Gaj5XA", "s-1LQGqIeyM", "Td5Sf4q51bk", "QRrz7bLpg5Q", "iKP4LnL6Iy0", "EO4McLmPyJQ", "Ir9G5100kN0", "gA_5V8GkswQ", "Bq2dgjvq74I", "u7Q0hVQPYkE", "VH2u9XmsStE", "WC5MwjCb-m4", "UDCNa698Jrk", "hba6Wln8hFY", "ap2i_nGoQ4c", "UWGhRXAqpAA", "XeMCi0Np7cI", "4z4pMvSEcb0", "GvXJejZfMdY", "E0XS1NX_tcQ", "0q7aRwmrbtg", "CUmm-3krENA", "2rZzuysCjmg", "sbN8KmyhtQk", "d6rZg1_QO_M", "4PSn3m7r7O8", "W_yHf301OD0", "88HufGqVfCU", "FAbVG6RVX-M", "5oMDMqp8aNg", "7trWvdh3-xM", "EmvBf7NJPDo", "AfD6sytM9e8", "rckwoxIA8zI", "DC9ihJ9j8tg", "i8M4cmPln74", "aY6KSMYwGhA", "FITQe52CL6k", ...] 13:18:17.856 [debug] QUERY OK source="media_items" db=5.2ms idle=383.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")))) [411] 13:18:17.858 [debug] QUERY OK source="tasks" db=0.3ms idle=389.5ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2192098, 411, ~U[2026-04-15 13:18:17Z], ~U[2026-04-15 13:18:17Z]] 13:18:17.858 [info] {"args":{"id":411},"id":2192064,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":392314,"event":"job:stop","queue_time":353771,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:18:18.488 [debug] Current batch of media processed. Will check again in 1000ms 13:18:19.469 [info] {"args":{"id":174},"id":2192065,"meta":{},"system_time":1776259099469163253,"max_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:18:19.469 [debug] QUERY OK source="sources" db=0.4ms idle=459.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" = ?) [174] 13:18:19.470 [debug] QUERY OK source="settings" db=0.2ms idle=459.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:18:19.470 [debug] QUERY OK source="media_profiles" db=0.3ms idle=460.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" = ?) [2] 13:18:19.471 [debug] QUERY OK source="settings" db=0.2ms idle=8.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:18:19.471 [debug] Fetching recent media IDs from YouTube API for playlist: UUgh7hDxRUy44n2C0fpuweuA 13:18:19.471 [debug] QUERY OK source="settings" db=0.1ms idle=2.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:18:19.471 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 13:18:19.489 [debug] Current batch of media processed. Will check again in 1000ms 13:18:19.942 [debug] QUERY OK source="media_items" db=1.3ms idle=471.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [174, "mnC32YQtLaM", "jFCnvX91Mf4", "ZBliwo9EBTQ", "ZtWxlUBlUeo", "O_YT14LOkV8", "vYkXCwBxaWk", "GQMcWcp7iII", "PM2hH6k6FAI", "OnPyArQdyqU", "yTmwiByqRB4", "2R_i6g6M1mU", "h6D3xHSmiN0", "LinnkM4bD5s", "mdTPRWg-mDY", "TNWDyRo9sgE", "jHQ67V9Qb_Y", "6KE_NGb5aQY", "9rxm1nOYr8U", "ALNHb-rmLqA", "5LZmm3G4abs", "hdGp9pZRWkE", "1-1VVVYCDxY", "PGgqj8Oc8qc", "BrRSe7jghBo", "ByP2G4j7jWE", "5bz0UaSzhe8", "OeUKShLLZoo", "PW3wFLy8tTM", "nY_bmBNlXO4", "nHoIck64yfU", "Ua1t9a59osg", "4Ipt1YC6Rsk", "Z0BjSmk8gCY", "Dz55V0-TnsE", "YXP5BmHMuJ8", "TSCLkDgFNis", "uwCW0TMNShU", "tBg3xMaUV7I", "Bj43Cq2_Wds", "361tk2e_sQc", "2W-0YlJUzHE", "YmvxFHR1Upg", "_ERvQbE6Qcg", "JKKOKWe6WUY", "h9ZvZQR8S6Q", "fw5S0jLGyw0", "Q9K5nuhZXso", "sOfyTqif9yg", "_4saIvJyiZY", ...] 13:18:19.947 [debug] QUERY OK source="media_items" db=3.2ms idle=473.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")))) [174] 13:18:19.949 [debug] QUERY OK source="tasks" db=0.3ms idle=476.8ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2192099, 174, ~U[2026-04-15 13:18:19Z], ~U[2026-04-15 13:18:19Z]] 13:18:19.949 [info] {"args":{"id":174},"id":2192065,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":480060,"event":"job:stop","queue_time":248925,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:18:20.490 [debug] Current batch of media processed. Will check again in 1000ms 13:18:21.491 [debug] Current batch of media processed. Will check again in 1000ms 13:18:22.492 [debug] Current batch of media processed. Will check again in 1000ms 13:18:23.493 [debug] Current batch of media processed. Will check again in 1000ms 13:18:24.494 [debug] Current batch of media processed. Will check again in 1000ms 13:18:25.495 [debug] Current batch of media processed. Will check again in 1000ms 13:18:26.496 [debug] Current batch of media processed. Will check again in 1000ms 13:18:27.497 [debug] Current batch of media processed. Will check again in 1000ms 13:18:28.498 [debug] Current batch of media processed. Will check again in 1000ms 13:18:29.499 [debug] Current batch of media processed. Will check again in 1000ms 13:18:30.500 [debug] Current batch of media processed. Will check again in 1000ms 13:18:31.501 [debug] Current batch of media processed. Will check again in 1000ms 13:18:32.502 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "هل ليبيا أقدم من مصر؟ وكيف تنبّأ ابن خلدون بتكوين الدولة الليبية؟\n بودكاست الأحرار مع الكاتب والمسرحي منصور بوشناف.", "duration" => 64, "filename" => "/downloads/shorts/بودكاست الأحرار/بودكاست الأحرار - 2025-08-01 - [Btd-4di3XKs].mp4", "id" => "Btd-4di3XKs", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/Btd-4di3XKs", "playlist_index" => 6, "timestamp" => 1754054189, "title" => "هل ليبيا أقدم من مصر؟ بودكاست الأحرار مع الكاتب والمسرحي منصور بوشناف.", "upload_date" => "20250801"} 13:18:32.503 [debug] QUERY OK source="sources" db=0.2ms idle=1492.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" IN (?)) [372] 13:18:32.503 [debug] QUERY OK source="sources" db=0.1ms idle=1493.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" = ?) [372] 13:18:32.504 [debug] QUERY OK source="media_items" db=0.3ms idle=1493.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-08-01 13:16:29Z], 372] 13:18:32.505 [debug] QUERY OK source="media_items" db=0.9ms idle=1025.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" ["هل ليبيا أقدم من مصر؟ وكيف تنبّأ ابن خلدون بتكوين الدولة الليبية؟\n بودكاست الأحرار مع الكاتب والمسرحي منصور بوشناف.", "هل ليبيا أقدم من مصر؟ بودكاست الأحرار مع الكاتب والمسرحي منصور بوشناف.", "538489f9-7023-4264-a69c-275d4bf0887a", 64, false, "Btd-4di3XKs", "https://www.youtube.com/shorts/Btd-4di3XKs", 6, "/downloads/shorts/بودكاست الأحرار/بودكاست الأحرار - 2025-08-01 - [Btd-4di3XKs].mp4", false, false, true, 372, [], 98, ~U[2025-08-01 13:16:29Z], ~U[2026-04-15 13:18:32Z], ~U[2026-04-15 13:18:32Z], "هل ليبيا أقدم من مصر؟ وكيف تنبّأ ابن خلدون بتكوين الدولة الليبية؟\n بودكاست الأحرار مع الكاتب والمسرحي منصور بوشناف.", "هل ليبيا أقدم من مصر؟ بودكاست الأحرار مع الكاتب والمسرحي منصور بوشناف.", 64, false, "Btd-4di3XKs", "https://www.youtube.com/shorts/Btd-4di3XKs", "/downloads/shorts/بودكاست الأحرار/بودكاست الأحرار - 2025-08-01 - [Btd-4di3XKs].mp4", true, 372, ~U[2025-08-01 13:16:29Z]] 13:18:32.506 [debug] QUERY OK source="sources" db=0.3ms idle=25.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" = ?) [372] 13:18:32.506 [debug] QUERY OK source="media_profiles" db=0.2ms idle=3.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 13:18:32.507 [debug] QUERY OK source="media_items" db=0.3ms idle=3.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4631069] 13:18:32.507 [debug] Current batch of media processed. Will check again in 1000ms 13:18:33.508 [debug] Current batch of media processed. Will check again in 1000ms 13:18:34.509 [debug] Current batch of media processed. Will check again in 1000ms 13:18:35.510 [debug] Current batch of media processed. Will check again in 1000ms 13:18:36.511 [debug] Current batch of media processed. Will check again in 1000ms 13:18:37.512 [debug] Current batch of media processed. Will check again in 1000ms 13:18:38.513 [debug] Current batch of media processed. Will check again in 1000ms 13:18:39.514 [debug] Current batch of media processed. Will check again in 1000ms 13:18:40.515 [debug] Current batch of media processed. Will check again in 1000ms 13:18:41.516 [debug] Current batch of media processed. Will check again in 1000ms 13:18:42.517 [debug] Current batch of media processed. Will check again in 1000ms 13:18:42.984 [info] {"source":"oban","duration":17818,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:18:43.518 [debug] Current batch of media processed. Will check again in 1000ms 13:18:44.519 [debug] Current batch of media processed. Will check again in 1000ms 13:18:45.520 [debug] Current batch of media processed. Will check again in 1000ms 13:18:46.521 [debug] Current batch of media processed. Will check again in 1000ms 13:18:47.522 [debug] Current batch of media processed. Will check again in 1000ms 13:18:48.523 [debug] Current batch of media processed. Will check again in 1000ms 13:18:49.524 [debug] Current batch of media processed. Will check again in 1000ms 13:18:50.525 [debug] Current batch of media processed. Will check again in 1000ms 13:18:51.526 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "", "duration" => 87, "filename" => "/downloads/shorts/بودكاست الأحرار/بودكاست الأحرار - 2025-07-28 - [QrRmVc-Geq4].mp4", "id" => "QrRmVc-Geq4", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/QrRmVc-Geq4", "playlist_index" => 7, "timestamp" => 1753715067, "title" => "المهندسة إيمان العروي: البنت الليبية نويزكة..", "upload_date" => "20250728"} 13:18:51.526 [debug] QUERY OK source="sources" db=0.2ms idle=1516.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" IN (?)) [372] 13:18:51.527 [debug] QUERY OK source="sources" db=0.2ms idle=1516.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" = ?) [372] 13:18:51.527 [debug] QUERY OK source="media_items" db=0.3ms idle=1517.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-07-28 15:04:27Z], 372] 13:18:51.528 [debug] QUERY OK source="media_items" db=0.7ms idle=1024.3ms INSERT INTO "media_items" AS m0 ("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) 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" ["المهندسة إيمان العروي: البنت الليبية نويزكة..", "3e39e47b-ae06-4977-8586-1f952a8600a5", 87, false, "QrRmVc-Geq4", "https://www.youtube.com/shorts/QrRmVc-Geq4", 7, "/downloads/shorts/بودكاست الأحرار/بودكاست الأحرار - 2025-07-28 - [QrRmVc-Geq4].mp4", false, false, true, 372, [], 98, ~U[2025-07-28 15:04:27Z], ~U[2026-04-15 13:18:51Z], ~U[2026-04-15 13:18:51Z], "", "المهندسة إيمان العروي: البنت الليبية نويزكة..", 87, false, "QrRmVc-Geq4", "https://www.youtube.com/shorts/QrRmVc-Geq4", "/downloads/shorts/بودكاست الأحرار/بودكاست الأحرار - 2025-07-28 - [QrRmVc-Geq4].mp4", true, 372, ~U[2025-07-28 15:04:27Z]] 13:18:51.529 [debug] QUERY OK source="sources" db=0.8ms idle=24.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" = ?) [372] 13:18:51.530 [debug] QUERY OK source="media_profiles" db=0.3ms idle=3.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 13:18:51.531 [debug] QUERY OK source="media_items" db=0.3ms idle=3.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4631071] 13:18:51.531 [debug] Current batch of media processed. Will check again in 1000ms 13:18:52.532 [debug] Current batch of media processed. Will check again in 1000ms 13:18:53.070 [info] GET /sources/125/media/4642823/force_download 13:18:53.070 [debug] QUERY OK source="settings" db=0.2ms idle=564.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:18:53.071 [debug] QUERY OK source="settings" db=0.1ms idle=60.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:18:53.071 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 13:18:53.071 [error] #PID<0.5971.0> running PinchflatWeb.Endpoint (connection #PID<0.5970.0>, stream id 1) terminated Server: jak.hibeex.com:80 (http) Request: GET /sources/125/media/4642823/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/125/media/4642823/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5970.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/125/media/4642823/force_download", host: "jak.hibeex.com", peer: {{172, 22, 0, 1}, 41432}, bindings: %{}, sock: {{172, 22, 0, 4}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYdWVPdldudjdrc0dFQlVOSzZ2UXA4WVZa.MGXbM8tG2KHKOztAj_Vc-ia_nbpetCNN1dZJOSf8iWk", "from" => "gptbot(at)openai.com", "host" => "jak.hibeex.com", "referer" => "https://jak.hibeex.com/sources/125/media/4642823?prevent_download=true", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.232", "x-forwarded-proto" => "https", "x-openai-host-hash" => "41517590", "x-real-ip" => "74.7.243.232" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYdWVPdldudjdrc0dFQlVOSzZ2UXA4WVZa.MGXbM8tG2KHKOztAj_Vc-ia_nbpetCNN1dZJOSf8iWk" }, halted: false, host: "jak.hibeex.com", method: "GET", owner: #PID<0.5971.0>, params: %{}, path_info: ["sources", "125", "media", "4642823", "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://jak.hibeex.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 22, 0, 1}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYdWVPdldudjdrc0dFQlVOSzZ2UXA4WVZa.MGXbM8tG2KHKOztAj_Vc-ia_nbpetCNN1dZJOSf8iWk" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"connection", "close"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYdWVPdldudjdrc0dFQlVOSzZ2UXA4WVZa.MGXbM8tG2KHKOztAj_Vc-ia_nbpetCNN1dZJOSf8iWk"}, {"from", "gptbot(at)openai.com"}, {"host", "jak.hibeex.com"}, {"referer", "https://jak.hibeex.com/sources/125/media/4642823?prevent_download=true"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)"}, {"x-forwarded-for", "74.7.243.232"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "41517590"}, {"x-real-ip", "74.7.243.232"} ], request_path: "/sources/125/media/4642823/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKaKRT-wmMzu840AA8mB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5970.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/125/media/4642823/force_download", host: "jak.hibeex.com", peer: {{172, 22, 0, 1}, 41432}, bindings: %{}, sock: {{172, 22, 0, 4}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYdWVPdldudjdrc0dFQlVOSzZ2UXA4WVZa.MGXbM8tG2KHKOztAj_Vc-ia_nbpetCNN1dZJOSf8iWk", "from" => "gptbot(at)openai.com", "host" => "jak.hibeex.com", "referer" => "https://jak.hibeex.com/sources/125/media/4642823?prevent_download=true", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.232", "x-forwarded-proto" => "https", "x-openai-host-hash" => "41517590", "x-real-ip" => "74.7.243.232" }, method: "GET", body_length: 0, path_info: :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/125/media/4642823/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5970.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/125/media/4642823/force_download", host: "jak.hibeex.com", peer: {{172, 22, 0, 1}, 41432}, bindings: %{}, sock: {{172, 22, 0, 4}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYdWVPdldudjdrc0dFQlVOSzZ2UXA4WVZa.MGXbM8tG2KHKOztAj_Vc-ia_nbpetCNN1dZJOSf8iWk", "from" => "gptbot(at)openai.com", "host" => "jak.hibeex.com", "referer" => "https://jak.hibeex.com/sources/125/media/4642823?prevent_download=true", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.232", "x-forwarded-proto" => "https", "x-openai-host-hash" => "41517590", "x-real-ip" => "74.7.243.232" }, method: "GET", body_length: 0, path_info: :und (truncated) 13:18:53.533 [debug] Current batch of media processed. Will check again in 1000ms 13:18:54.534 [debug] Current batch of media processed. Will check again in 1000ms 13:18:55.535 [debug] Current batch of media processed. Will check again in 1000ms 13:18:56.536 [debug] Current batch of media processed. Will check again in 1000ms 13:18:57.537 [debug] Current batch of media processed. Will check again in 1000ms 13:18:58.538 [debug] Current batch of media processed. Will check again in 1000ms 13:18:59.539 [debug] Current batch of media processed. Will check again in 1000ms 13:19:00.540 [debug] Current batch of media processed. Will check again in 1000ms 13:19:00.855 [info] {"source":"oban","duration":136,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:19:01.541 [debug] Current batch of media processed. Will check again in 1000ms 13:19:02.542 [debug] Current batch of media processed. Will check again in 1000ms 13:19:03.543 [debug] Current batch of media processed. Will check again in 1000ms 13:19:04.544 [debug] Current batch of media processed. Will check again in 1000ms 13:19:05.545 [debug] Current batch of media processed. Will check again in 1000ms 13:19:06.546 [debug] Current batch of media processed. Will check again in 1000ms 13:19:07.547 [debug] Current batch of media processed. Will check again in 1000ms 13:19:08.548 [debug] Current batch of media processed. Will check again in 1000ms 13:19:09.549 [debug] Current batch of media processed. Will check again in 1000ms 13:19:10.534 [info] {"args":{"id":100},"id":2192066,"meta":{},"system_time":1776259150533883429,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:19:10.534 [debug] QUERY OK source="sources" db=0.2ms idle=1523.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" = ?) [100] 13:19:10.534 [debug] QUERY OK source="settings" db=0.2ms 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 [] 13:19:10.535 [debug] QUERY OK source="media_profiles" db=0.1ms idle=524.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" = ?) [2] 13:19:10.535 [debug] QUERY OK source="settings" db=0.1ms idle=8.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:19:10.535 [debug] Fetching recent media IDs from YouTube API for playlist: UUe5eYsugVJLzIF_JALMiXzQ 13:19:10.536 [debug] QUERY OK source="settings" db=0.1ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:19:10.536 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 13:19:10.550 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "", "duration" => 88, "filename" => "/downloads/shorts/بودكاست الأحرار/بودكاست الأحرار - 2025-07-16 - [GLMpZLhNR4I].mp4", "id" => "GLMpZLhNR4I", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/GLMpZLhNR4I", "playlist_index" => 8, "timestamp" => 1752673798, "title" => "معلّم عربي.. وتلميذ أمازيغي!! معاناة يوميّة في مدرسة أمازيغية", "upload_date" => "20250716"} 13:19:10.550 [debug] QUERY OK source="sources" db=0.1ms idle=16.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [372] 13:19:10.551 [debug] QUERY OK source="sources" db=0.1ms idle=15.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [372] 13:19:10.551 [debug] QUERY OK source="media_items" db=0.3ms idle=16.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-07-16 13:49:58Z], 372] 13:19:10.552 [debug] QUERY OK source="media_items" db=0.5ms idle=16.2ms INSERT INTO "media_items" AS m0 ("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) 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" ["معلّم عربي.. وتلميذ أمازيغي!! معاناة يوميّة في مدرسة أمازيغية", "63a33937-f5ce-494c-9eb6-fa6450b6d0e6", 88, false, "GLMpZLhNR4I", "https://www.youtube.com/shorts/GLMpZLhNR4I", 8, "/downloads/shorts/بودكاست الأحرار/بودكاست الأحرار - 2025-07-16 - [GLMpZLhNR4I].mp4", false, false, true, 372, [], 98, ~U[2025-07-16 13:49:58Z], ~U[2026-04-15 13:19:10Z], ~U[2026-04-15 13:19:10Z], "", "معلّم عربي.. وتلميذ أمازيغي!! معاناة يوميّة في مدرسة أمازيغية", 88, false, "GLMpZLhNR4I", "https://www.youtube.com/shorts/GLMpZLhNR4I", "/downloads/shorts/بودكاست الأحرار/بودكاست الأحرار - 2025-07-16 - [GLMpZLhNR4I].mp4", true, 372, ~U[2025-07-16 13:49:58Z]] 13:19:10.553 [debug] QUERY OK source="sources" db=0.2ms idle=16.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [372] 13:19:10.553 [debug] QUERY OK source="media_profiles" db=0.2ms 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" = ?) [2] 13:19:10.554 [debug] QUERY OK source="media_items" db=0.3ms idle=2.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4631073] 13:19:10.554 [debug] Current batch of media processed. Will check again in 1000ms 13:19:10.833 [debug] QUERY OK source="media_items" db=1.3ms idle=279.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [100, "251xUyoUFwg", "N2ipy5JDalQ", "kwb-PhsCYBs", "MsrYWuItd7M", "E_sH2dN0kLg", "e0KZ0IHrG38", "dqX4Wzvq6sE", "izbcjE3AhD8", "cSdsZhAlfJI", "hvvYmjS_A90", "eicfPUdBAuo", "d_L6gomAhAg", "IiDMkKhe71A", "NkjKnpUUYmU", "NzW9fg2vgpA", "egrx1u5F1V4", "fmBdaL3VqEY", "_lN_Qri648M", "97Q6zfv-jk4", "3FL4GzxXxOc", "cQyXgxGMkcc", "rBdx1qmknhU", "61v3sPjKngk", "dyQ2TD5i6LQ", "iC1_GDcfYM8", "1i-bNe1xx14", "ZB9QJ_bJO2Y", "-ddV4twx7dE", "19GEQhlOxzE", "6GsO5ByqFkE", "47qCdYJCmKo", "d6nWvWpnwP8", "8uApOUjCOe4", "9eJgR2PLrGo", "UVShufL4rRA", "ypbB3IZvnLs", "0Dkjqs3zg6A", "szU5BDthN00", "zHNFzLaRD74", "3osfwVYvr9Q", "6MQOSazKIBM", "65YPmUwlpOg", "1kxUvL8EOXM", "EZbTesfSMkw", "d9mbd0b-7YM", "Jd2q_DsdbmQ", "yPzBBP5JzxI", "8aig78KaZiA", "7gEvgXFd1Vg", ...] 13:19:10.835 [debug] QUERY OK source="media_items" db=1.5ms idle=281.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")))) [100] 13:19:10.837 [debug] QUERY OK source="tasks" db=0.3ms idle=283.3ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2192100, 100, ~U[2026-04-15 13:19:10Z], ~U[2026-04-15 13:19:10Z]] 13:19:10.838 [info] {"args":{"id":100},"id":2192066,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":304158,"event":"job:stop","queue_time":427387,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:19:11.555 [debug] Current batch of media processed. Will check again in 1000ms 13:19:12.556 [debug] Current batch of media processed. Will check again in 1000ms 13:19:13.003 [info] {"source":"oban","duration":18233,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:19:13.557 [debug] Current batch of media processed. Will check again in 1000ms 13:19:14.558 [debug] Current batch of media processed. Will check again in 1000ms 13:19:15.559 [debug] Current batch of media processed. Will check again in 1000ms 13:19:16.560 [debug] Current batch of media processed. Will check again in 1000ms 13:19:17.561 [debug] Current batch of media processed. Will check again in 1000ms 13:19:18.562 [debug] Current batch of media processed. Will check again in 1000ms 13:19:19.563 [debug] Current batch of media processed. Will check again in 1000ms 13:19:20.564 [debug] Current batch of media processed. Will check again in 1000ms 13:19:21.565 [debug] Current batch of media processed. Will check again in 1000ms 13:19:22.566 [debug] Current batch of media processed. Will check again in 1000ms 13:19:23.567 [debug] Current batch of media processed. Will check again in 1000ms 13:19:24.568 [debug] Current batch of media processed. Will check again in 1000ms 13:19:25.569 [debug] Current batch of media processed. Will check again in 1000ms 13:19:26.555 [info] {"args":{"id":48},"id":2192067,"meta":{},"system_time":1776259166554970213,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:19:26.555 [debug] QUERY OK source="sources" db=0.2ms idle=544.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" = ?) [48] 13:19:26.555 [debug] QUERY OK source="settings" db=0.1ms idle=545.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:19:26.556 [debug] QUERY OK source="media_profiles" db=0.1ms idle=545.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" = ?) [2] 13:19:26.556 [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 [] 13:19:26.556 [debug] Fetching recent media IDs from YouTube API for playlist: UUMelszsqkhcGFC4vfLkGVOQ 13:19:26.556 [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 [] 13:19:26.556 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 13:19:26.570 [debug] Current batch of media processed. Will check again in 1000ms 13:19:26.839 [debug] QUERY OK source="media_items" db=1.2ms idle=282.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [48, "PmG3oybHKdY", "_au26pq8dGI", "eItpUPME364", "sdXyr_GtpB8", "AViGvZhRZWQ", "rRsanBnxj8Y", "xIRRFVLdHWw", "nFpks9azxFw", "p1dN7GOS8lk", "5MIUwZCfYtE", "EbwfvogGFZI", "iCBSuwWnudY", "1_r0Q-v4isU", "c_MmMRfb9gs", "qj2F5CI116o", "yggPzlFyVxs", "hV5N4uTcwsM", "7CUt9DeECmM", "T4tn4URrQvY", "uNlSwNbXHSo", "HCk5v3zY5Nk", "jgGc7tsZX3Q", "j_GiVJ_DPuo", "42v1XziVgaQ", "RZc4HW07UR8", "058OTXSVAjI", "q6yvVULNEqE", "ZtoPi5lgdH4", "ArW4C-L3E58", "0ytb1nxp6pY", "x1bU7OyY1Qo", "_ceRQgRGZOA", "Ki8vlLEIAPg", "IXLO15CzwYE", "zq5XJNfiSB8", "NFLfR5DkC0E", "qW6QqvULhAo", "nVAN5M-acTo", "ItwW3qI-ISY", "AFytYHMjSVE", "Tqm0F4kwXe4", "8dY1jaKiYzk", "PWNCBzXAY8k", "ChBJS2NSuOo", "ujlSTgsjcco", "hyjshuuA1XA", "A1sIH6inhbk", "ma0MiXa6YXE", "1TXgsjGeo3A", ...] 13:19:26.841 [debug] QUERY OK source="media_items" db=0.9ms idle=284.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [48] 13:19:26.843 [debug] QUERY OK source="tasks" db=0.2ms idle=286.6ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2192101, 48, ~U[2026-04-15 13:19:26Z], ~U[2026-04-15 13:19:26Z]] 13:19:26.843 [info] {"args":{"id":48},"id":2192067,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":288567,"event":"job:stop","queue_time":478438,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:19:27.571 [debug] Current batch of media processed. Will check again in 1000ms 13:19:28.572 [debug] Current batch of media processed. Will check again in 1000ms 13:19:29.573 [debug] Current batch of media processed. Will check again in 1000ms 13:19:29.589 [info] GET /sources/304/media/4630728/edit 13:19:29.589 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "4630728", "source_id" => "304"} Pipelines: [:browser] 13:19:29.589 [debug] QUERY OK source="media_items" db=0.3ms idle=1579.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" = ?) [4630728] 13:19:29.590 [debug] QUERY OK source="settings" db=0.1ms idle=1579.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:19:29.590 [debug] QUERY OK source="settings" db=0.1ms idle=1580.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:19:29.591 [debug] QUERY OK source="settings" db=0.1ms idle=1040.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:19:29.592 [info] Sent 200 in 3ms 13:19:30.089 [info] GET /sources/346/media/4702249/edit 13:19:30.089 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "4702249", "source_id" => "346"} Pipelines: [:browser] 13:19:30.090 [debug] QUERY OK source="media_items" db=0.2ms idle=537.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" = ?) [4702249] 13:19:30.090 [debug] QUERY OK source="settings" db=0.1ms idle=500.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:19:30.090 [debug] QUERY OK source="settings" db=0.1ms idle=500.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:19:30.091 [debug] QUERY OK source="settings" db=0.0ms idle=500.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:19:30.092 [info] Sent 200 in 2ms 13:19:30.574 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "", "duration" => 89, "filename" => "/downloads/shorts/بودكاست الأحرار/بودكاست الأحرار - 2025-07-15 - [hL10Qssjo-k].mp4", "id" => "hL10Qssjo-k", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/hL10Qssjo-k", "playlist_index" => 9, "timestamp" => 1752588185, "title" => "أنت ليبي أم أمازيغي؟!", "upload_date" => "20250715"} 13:19:30.574 [debug] QUERY OK source="sources" db=0.2ms idle=484.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" IN (?)) [372] 13:19:30.575 [debug] QUERY OK source="sources" db=0.2ms idle=484.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" = ?) [372] 13:19:30.575 [debug] QUERY OK source="media_items" db=0.3ms idle=484.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-07-15 14:03:05Z], 372] 13:19:30.577 [debug] QUERY OK source="media_items" db=0.7ms idle=484.7ms INSERT INTO "media_items" AS m0 ("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) 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" ["أنت ليبي أم أمازيغي؟!", "4aa7f45b-3f5a-457c-b255-36fe535ae6b4", 89, false, "hL10Qssjo-k", "https://www.youtube.com/shorts/hL10Qssjo-k", 9, "/downloads/shorts/بودكاست الأحرار/بودكاست الأحرار - 2025-07-15 - [hL10Qssjo-k].mp4", false, false, true, 372, [], 98, ~U[2025-07-15 14:03:05Z], ~U[2026-04-15 13:19:30Z], ~U[2026-04-15 13:19:30Z], "", "أنت ليبي أم أمازيغي؟!", 89, false, "hL10Qssjo-k", "https://www.youtube.com/shorts/hL10Qssjo-k", "/downloads/shorts/بودكاست الأحرار/بودكاست الأحرار - 2025-07-15 - [hL10Qssjo-k].mp4", true, 372, ~U[2025-07-15 14:03:05Z]] 13:19:30.577 [debug] QUERY OK source="sources" db=0.3ms idle=23.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" = ?) [372] 13:19:30.578 [debug] QUERY OK source="media_profiles" db=0.3ms idle=3.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 13:19:30.578 [debug] QUERY OK source="media_items" db=0.4ms idle=3.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4631074] 13:19:30.579 [debug] Current batch of media processed. Will check again in 1000ms 13:19:31.580 [debug] Current batch of media processed. Will check again in 1000ms 13:19:32.581 [debug] Current batch of media processed. Will check again in 1000ms 13:19:33.582 [debug] Current batch of media processed. Will check again in 1000ms 13:19:34.583 [debug] Current batch of media processed. Will check again in 1000ms 13:19:35.584 [debug] Current batch of media processed. Will check again in 1000ms 13:19:36.585 [debug] Current batch of media processed. Will check again in 1000ms 13:19:37.586 [debug] Current batch of media processed. Will check again in 1000ms 13:19:38.587 [debug] Current batch of media processed. Will check again in 1000ms 13:19:39.588 [debug] Current batch of media processed. Will check again in 1000ms 13:19:40.589 [debug] Current batch of media processed. Will check again in 1000ms 13:19:41.590 [debug] Current batch of media processed. Will check again in 1000ms 13:19:42.591 [debug] Current batch of media processed. Will check again in 1000ms 13:19:43.021 [info] {"source":"oban","duration":17462,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:19:43.592 [debug] Current batch of media processed. Will check again in 1000ms 13:19:44.593 [debug] Current batch of media processed. Will check again in 1000ms 13:19:45.594 [debug] Current batch of media processed. Will check again in 1000ms 13:19:46.595 [debug] Current batch of media processed. Will check again in 1000ms 13:19:47.596 [debug] Current batch of media processed. Will check again in 1000ms 13:19:48.597 [debug] Current batch of media processed. Will check again in 1000ms 13:19:49.598 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "", "duration" => 88, "filename" => "/downloads/shorts/بودكاست الأحرار/بودكاست الأحرار - 2025-07-14 - [dwUu_uqo9-k].mp4", "id" => "dwUu_uqo9-k", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/dwUu_uqo9-k", "playlist_index" => 10, "timestamp" => 1752506336, "title" => "الجبل الغربي أم جبل نفوسة!! هل يتحسّس الأمازيغ من الاسم؟", "upload_date" => "20250714"} 13:19:49.598 [debug] QUERY OK source="sources" db=0.2ms idle=1588.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" IN (?)) [372] 13:19:49.599 [debug] QUERY OK source="sources" db=0.2ms idle=1588.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" = ?) [372] 13:19:49.599 [debug] QUERY OK source="media_items" db=0.3ms idle=1019.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-07-14 15:18:56Z], 372] 13:19:49.602 [debug] QUERY OK source="media_items" db=1.7ms idle=590.0ms INSERT INTO "media_items" AS m0 ("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) 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" ["الجبل الغربي أم جبل نفوسة!! هل يتحسّس الأمازيغ من الاسم؟", "9c8f94f0-51a4-476c-83a2-8a98611c6639", 88, false, "dwUu_uqo9-k", "https://www.youtube.com/shorts/dwUu_uqo9-k", 10, "/downloads/shorts/بودكاست الأحرار/بودكاست الأحرار - 2025-07-14 - [dwUu_uqo9-k].mp4", false, false, true, 372, [], 98, ~U[2025-07-14 15:18:56Z], ~U[2026-04-15 13:19:49Z], ~U[2026-04-15 13:19:49Z], "", "الجبل الغربي أم جبل نفوسة!! هل يتحسّس الأمازيغ من الاسم؟", 88, false, "dwUu_uqo9-k", "https://www.youtube.com/shorts/dwUu_uqo9-k", "/downloads/shorts/بودكاست الأحرار/بودكاست الأحرار - 2025-07-14 - [dwUu_uqo9-k].mp4", true, 372, ~U[2025-07-14 15:18:56Z]] 13:19:49.603 [debug] QUERY OK source="sources" db=0.9ms idle=21.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [372] 13:19:49.603 [debug] QUERY OK source="media_profiles" db=0.3ms idle=4.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 13:19:49.604 [debug] QUERY OK source="media_items" db=0.5ms idle=4.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4631076] 13:19:49.604 [debug] Current batch of media processed. Will check again in 1000ms 13:19:50.605 [debug] Current batch of media processed. Will check again in 1000ms 13:19:51.606 [debug] Current batch of media processed. Will check again in 1000ms 13:19:52.607 [debug] Current batch of media processed. Will check again in 1000ms 13:19:53.358 [info] GET /sources/239/media/4208041 13:19:53.358 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "4208041", "prevent_download" => "true", "source_id" => "239"} Pipelines: [:browser] 13:19:53.358 [debug] QUERY OK source="media_items" db=0.2ms idle=774.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" = ?) [4208041] 13:19:53.359 [debug] QUERY OK source="tasks" db=0.1ms idle=348.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" [4208041] 13:19:53.359 [debug] QUERY OK source="sources" db=0.2ms idle=348.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" = ?) [239] 13:19:53.360 [debug] QUERY OK source="settings" db=0.1ms idle=349.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:19:53.360 [debug] QUERY OK source="settings" db=0.1ms idle=349.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:19:53.361 [debug] QUERY OK source="settings" db=0.1ms queue=0.1ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:19:53.361 [debug] QUERY OK source="media_profiles" db=0.2ms 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" = ?) [2] 13:19:53.363 [info] Sent 200 in 5ms 13:19:53.608 [debug] Current batch of media processed. Will check again in 1000ms 13:19:54.609 [debug] Current batch of media processed. Will check again in 1000ms 13:19:55.610 [debug] Current batch of media processed. Will check again in 1000ms 13:19:56.611 [debug] Current batch of media processed. Will check again in 1000ms 13:19:57.612 [debug] Current batch of media processed. Will check again in 1000ms 13:19:58.613 [debug] Current batch of media processed. Will check again in 1000ms 13:19:59.614 [debug] Current batch of media processed. Will check again in 1000ms 13:20:00.615 [debug] Current batch of media processed. Will check again in 1000ms 13:20:00.856 [info] {"source":"oban","duration":138,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:20:01.616 [debug] Current batch of media processed. Will check again in 1000ms 13:20:02.617 [debug] Current batch of media processed. Will check again in 1000ms 13:20:03.618 [debug] Current batch of media processed. Will check again in 1000ms 13:20:04.619 [debug] Current batch of media processed. Will check again in 1000ms 13:20:05.266 [info] GET /sources/149/media/4638846/edit 13:20:05.266 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "4638846", "source_id" => "149"} Pipelines: [:browser] 13:20:05.266 [debug] QUERY OK source="media_items" db=0.2ms idle=1256.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" = ?) [4638846] 13:20:05.267 [debug] QUERY OK source="settings" db=0.1ms idle=670.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:05.267 [debug] QUERY OK source="settings" db=0.1ms idle=257.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:05.268 [debug] QUERY OK source="settings" db=0.2ms idle=257.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:05.269 [info] Sent 200 in 3ms 13:20:05.388 [info] GET /sources/304/media/4630732/edit 13:20:05.388 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "4630732", "source_id" => "304"} Pipelines: [:browser] 13:20:05.389 [debug] QUERY OK source="media_items" db=0.2ms idle=378.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" = ?) [4630732] 13:20:05.389 [debug] QUERY OK source="settings" db=0.2ms 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 [] 13:20:05.390 [debug] QUERY OK source="settings" db=0.1ms idle=122.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:05.390 [debug] QUERY OK source="settings" db=0.1ms 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 [] 13:20:05.391 [info] Sent 200 in 3ms 13:20:05.620 [debug] Current batch of media processed. Will check again in 1000ms 13:20:06.621 [debug] Current batch of media processed. Will check again in 1000ms 13:20:07.622 [debug] Current batch of media processed. Will check again in 1000ms 13:20:08.623 [debug] Current batch of media processed. Will check again in 1000ms 13:20:09.624 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "", "duration" => 78, "filename" => "/downloads/shorts/بودكاست الأحرار/بودكاست الأحرار - 2025-07-13 - [Xprm_Ai_hkQ].mp4", "id" => "Xprm_Ai_hkQ", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/Xprm_Ai_hkQ", "playlist_index" => 11, "timestamp" => 1752421012, "title" => "لماذا يُرفع علم الأمازيغ في ليبيا؟", "upload_date" => "20250713"} 13:20:09.624 [debug] QUERY OK source="sources" db=0.2ms idle=614.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" IN (?)) [372] 13:20:09.625 [debug] QUERY OK source="sources" db=0.2ms 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" = ?) [372] 13:20:09.625 [debug] QUERY OK source="media_items" db=0.3ms idle=615.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-07-13 15:36:52Z], 372] 13:20:09.627 [debug] QUERY OK source="media_items" db=0.8ms idle=616.0ms INSERT INTO "media_items" AS m0 ("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) 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" ["لماذا يُرفع علم الأمازيغ في ليبيا؟", "5743dd00-fd5b-422b-b17c-1a00868af330", 78, false, "Xprm_Ai_hkQ", "https://www.youtube.com/shorts/Xprm_Ai_hkQ", 11, "/downloads/shorts/بودكاست الأحرار/بودكاست الأحرار - 2025-07-13 - [Xprm_Ai_hkQ].mp4", false, false, true, 372, [], 98, ~U[2025-07-13 15:36:52Z], ~U[2026-04-15 13:20:09Z], ~U[2026-04-15 13:20:09Z], "", "لماذا يُرفع علم الأمازيغ في ليبيا؟", 78, false, "Xprm_Ai_hkQ", "https://www.youtube.com/shorts/Xprm_Ai_hkQ", "/downloads/shorts/بودكاست الأحرار/بودكاست الأحرار - 2025-07-13 - [Xprm_Ai_hkQ].mp4", true, 372, ~U[2025-07-13 15:36:52Z]] 13:20:09.627 [debug] QUERY OK source="sources" db=0.3ms idle=25.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" = ?) [372] 13:20:09.628 [debug] QUERY OK source="media_profiles" db=0.3ms idle=3.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 13:20:09.629 [debug] QUERY OK source="media_items" db=0.4ms idle=3.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4631078] 13:20:09.629 [debug] Current batch of media processed. Will check again in 1000ms 13:20:10.630 [debug] Current batch of media processed. Will check again in 1000ms 13:20:11.631 [debug] Current batch of media processed. Will check again in 1000ms 13:20:12.632 [debug] Current batch of media processed. Will check again in 1000ms 13:20:13.040 [info] {"source":"oban","duration":18217,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:20:13.633 [debug] Current batch of media processed. Will check again in 1000ms 13:20:14.634 [debug] Current batch of media processed. Will check again in 1000ms 13:20:15.635 [debug] Current batch of media processed. Will check again in 1000ms 13:20:16.636 [debug] Current batch of media processed. Will check again in 1000ms 13:20:17.622 [info] {"args":{"id":369},"id":2192068,"meta":{},"system_time":1776259217622143382,"max_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:17.622 [debug] QUERY OK source="sources" db=0.3ms idle=612.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" = ?) [369] 13:20:17.623 [debug] QUERY OK source="settings" db=0.2ms idle=612.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:20:17.624 [debug] QUERY OK source="media_profiles" db=0.9ms 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" = ?) [2] 13:20:17.625 [debug] QUERY OK source="settings" db=0.2ms idle=9.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:20:17.625 [debug] Fetching recent media IDs from YouTube API for playlist: UUFip-ErYXshRD3JDzriXN8A 13:20:17.625 [debug] QUERY OK source="settings" db=0.1ms idle=3.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:20:17.625 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 13:20:17.637 [debug] Current batch of media processed. Will check again in 1000ms 13:20:17.885 [debug] QUERY OK source="media_items" db=1.1ms idle=261.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [369, "DQv6aNQGC7U", "bRWEUhphHPE", "VvVu3U8zWOk", "ymIGDQ_lFic", "sn5er6zKTOM", "l9SYxo3_WYA", "osD94bZvUNI", "x8k0cka3Jrs", "7DViK_gisxQ", "1kUHccnNCBE", "AT_LfjiIfBs", "z7VTLIQIyXU", "Gdhcgro17Jw", "OD4Qw7uHCDY", "yLhAyK4fueE", "S1Rqu2jZ3UQ", "EMT89YeL3_g", "8vYZG1ZQo8Y", "jz0YVdItrbE", "aKVtJOvfKzo", "tghPmSQT2Wk", "jdyjuGoXtDM", "StnfONNEX2I", "WN2lzujwn_E", "rginTPQL0Cg", "FTjStFQp_t8", "raC19wUTKFg", "mSuYy69iqzc", "iGQa4KKLsZs", "yDL4zfreZoA", "qQ3Pu_-jSV0", "jaWsFdp-IOY", "sCmYYToePnc", "B516P24Ybv8", "VZdGUFgS_4c", "rwWM2fmlaAs", "nynfq_Mkh-g", "qVK33N5Bub8", "uf23M5FpLuI", "dJwsQ1VZN30", "ZYqB8-5sm1U", "-NFujChdR2Y", "0GdSItbC5Zo", "YW2nunQNtoc", "7bZxSj5IWrw", "TVgZaGPrRQc", "edD3Xrrqb-w", "xZrmgMBcPlI", "sTSgoM5zlHI", ...] 13:20:17.887 [debug] QUERY OK source="media_items" db=0.7ms idle=263.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")))) [369] 13:20:17.889 [debug] QUERY OK source="tasks" db=0.3ms idle=263.1ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2192102, 369, ~U[2026-04-15 13:20:17Z], ~U[2026-04-15 13:20:17Z]] 13:20:17.889 [info] {"args":{"id":369},"id":2192068,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":266947,"event":"job:stop","queue_time":469967,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:20:18.638 [debug] Current batch of media processed. Will check again in 1000ms 13:20:19.624 [info] {"args":{"id":115},"id":2187224,"meta":{},"system_time":1776259219624646557,"max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 13:20:19.625 [debug] QUERY OK source="sources" db=0.1ms idle=614.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" = ?) [115] 13:20:19.625 [debug] QUERY OK source="settings" db=0.1ms idle=614.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:19.626 [debug] QUERY OK source="media_items" db=1.2ms idle=615.1ms SELECT count(*) FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [115] 13:20:19.627 [debug] QUERY OK source="media_items" db=0.2ms idle=8.7ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [115] 13:20:19.627 [debug] QUERY OK source="media_profiles" db=0.0ms idle=2.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" = ?) [2] 13:20:19.627 [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:20:19.627 [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:20:19.629 [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 WHERE (m0."source_id" = ?) ORDER BY m0."uploaded_at" DESC LIMIT 50 OFFSET 20 [115] 13:20:19.631 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 13:20:19.631 [debug] Current batch of media processed. Will check again in 1000ms 13:20:19.631 [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 [] 13:20:19.631 [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 [] 13:20:19.631 [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 [] 13:20:19.631 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@Businessbelarabi/shorts --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/shorts/بزنس بالعربي (Business بالعربى )/بزنس بالعربي (Business بالعربى ) - %(upload_date>%Y-%m-%d)S - [%(id)S].%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --break-on-existing --download-archive /tmp/pinchflat/data/f4/aa/f4aa7c16d7380d3268c761a0ff18ab6d2ebc8b054dfa2f6710f5616a888f1adb.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/b3/ba/b3baef1804f8762d895e2abbefe023dcc0e0eaa2467817183152dff149cb86a2.json --sleep-requests 4 --sleep-interval 4 --sleep-subtitles 4 --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:20:19.639 [debug] Current batch of media processed. Will check again in 1000ms 13:20:20.632 [debug] Current batch of media processed. Will check again in 1000ms 13:20:20.640 [debug] Current batch of media processed. Will check again in 1000ms 13:20:21.633 [debug] Current batch of media processed. Will check again in 1000ms 13:20:21.641 [debug] Current batch of media processed. Will check again in 1000ms 13:20:22.634 [debug] Current batch of media processed. Will check again in 1000ms 13:20:22.642 [debug] Current batch of media processed. Will check again in 1000ms 13:20:23.635 [debug] Current batch of media processed. Will check again in 1000ms 13:20:23.643 [debug] Current batch of media processed. Will check again in 1000ms 13:20:24.636 [debug] Current batch of media processed. Will check again in 1000ms 13:20:24.644 [debug] Current batch of media processed. Will check again in 1000ms 13:20:25.637 [debug] Current batch of media processed. Will check again in 1000ms 13:20:25.645 [debug] Current batch of media processed. Will check again in 1000ms 13:20:26.638 [debug] Current batch of media processed. Will check again in 1000ms 13:20:26.646 [debug] Current batch of media processed. Will check again in 1000ms 13:20:27.639 [debug] Current batch of media processed. Will check again in 1000ms 13:20:27.647 [debug] Current batch of media processed. Will check again in 1000ms 13:20:28.640 [debug] Current batch of media processed. Will check again in 1000ms 13:20:28.648 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "", "duration" => 88, "filename" => "/downloads/shorts/بودكاست الأحرار/بودكاست الأحرار - 2025-07-12 - [XuvWacQdazA].mp4", "id" => "XuvWacQdazA", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/XuvWacQdazA", "playlist_index" => 12, "timestamp" => 1752330300, "title" => "لماذا انتشر المذهب الإباضيّ بين الأمازيغ؟", "upload_date" => "20250712"} 13:20:28.648 [debug] QUERY OK source="sources" db=0.1ms idle=1638.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" IN (?)) [372] 13:20:28.649 [debug] QUERY OK source="sources" db=0.1ms idle=1638.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" = ?) [372] 13:20:28.649 [debug] QUERY OK source="media_items" db=0.2ms idle=1639.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-07-12 14:25:00Z], 372] 13:20:28.650 [debug] QUERY OK source="media_items" db=0.6ms idle=1020.1ms INSERT INTO "media_items" AS m0 ("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) 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" ["لماذا انتشر المذهب الإباضيّ بين الأمازيغ؟", "75537e57-6bdc-4047-87db-f3bfb3a8790f", 88, false, "XuvWacQdazA", "https://www.youtube.com/shorts/XuvWacQdazA", 12, "/downloads/shorts/بودكاست الأحرار/بودكاست الأحرار - 2025-07-12 - [XuvWacQdazA].mp4", false, false, true, 372, [], 98, ~U[2025-07-12 14:25:00Z], ~U[2026-04-15 13:20:28Z], ~U[2026-04-15 13:20:28Z], "", "لماذا انتشر المذهب الإباضيّ بين الأمازيغ؟", 88, false, "XuvWacQdazA", "https://www.youtube.com/shorts/XuvWacQdazA", "/downloads/shorts/بودكاست الأحرار/بودكاست الأحرار - 2025-07-12 - [XuvWacQdazA].mp4", true, 372, ~U[2025-07-12 14:25:00Z]] 13:20:28.651 [debug] QUERY OK source="sources" db=0.3ms idle=20.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [372] 13:20:28.652 [debug] QUERY OK source="media_profiles" db=0.4ms 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" = ?) [2] 13:20:28.652 [debug] QUERY OK source="media_items" db=0.3ms idle=3.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 [4631080] 13:20:28.652 [debug] Current batch of media processed. Will check again in 1000ms 13:20:29.641 [debug] Current batch of media processed. Will check again in 1000ms 13:20:29.653 [debug] Current batch of media processed. Will check again in 1000ms 13:20:30.642 [debug] Current batch of media processed. Will check again in 1000ms 13:20:30.654 [debug] Current batch of media processed. Will check again in 1000ms 13:20:31.643 [debug] Current batch of media processed. Will check again in 1000ms 13:20:31.655 [debug] Current batch of media processed. Will check again in 1000ms 13:20:32.644 [debug] Current batch of media processed. Will check again in 1000ms 13:20:32.656 [debug] Current batch of media processed. Will check again in 1000ms 13:20:33.645 [debug] Current batch of media processed. Will check again in 1000ms 13:20:33.657 [debug] Current batch of media processed. Will check again in 1000ms 13:20:34.646 [debug] Current batch of media processed. Will check again in 1000ms 13:20:34.658 [debug] Current batch of media processed. Will check again in 1000ms 13:20:35.647 [debug] Current batch of media processed. Will check again in 1000ms 13:20:35.659 [debug] Current batch of media processed. Will check again in 1000ms 13:20:36.648 [debug] Current batch of media processed. Will check again in 1000ms 13:20:36.660 [debug] Current batch of media processed. Will check again in 1000ms 13:20:37.649 [debug] Current batch of media processed. Will check again in 1000ms 13:20:37.661 [debug] Current batch of media processed. Will check again in 1000ms 13:20:38.650 [debug] Current batch of media processed. Will check again in 1000ms 13:20:38.662 [debug] Current batch of media processed. Will check again in 1000ms 13:20:39.651 [debug] Current batch of media processed. Will check again in 1000ms 13:20:39.663 [debug] Current batch of media processed. Will check again in 1000ms 13:20:40.652 [debug] Current batch of media processed. Will check again in 1000ms 13:20:40.664 [debug] Current batch of media processed. Will check again in 1000ms 13:20:41.653 [debug] Current batch of media processed. Will check again in 1000ms 13:20:41.665 [debug] Current batch of media processed. Will check again in 1000ms 13:20:42.654 [debug] Current batch of media processed. Will check again in 1000ms 13:20:42.666 [debug] Current batch of media processed. Will check again in 1000ms 13:20:43.058 [info] {"source":"oban","duration":17633,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:20:43.655 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "\"تجربة العميل تبنى بالتواصل الواضح وقدرة على التعامل مع العميل في كل نقطة احتكاك\nهذا الرييل يناقش كيف يكون حُسن الخلق هو الأساس، وتعلّم مهارات التواصل هو ما يحوّله إلى تجربة عميل ناجحة ومستدامة\nجزء من سلسلة تجربة العميل تابع السلسلة، وانضم إلى مجتمع تجربة العميل لتفهم كيف تُصنع التجربة على أرض الواقع.\n\nهذا المحتوى مُقدَّم من Tactful AI لمشاهدة الحلقة كاملة: رابط الحلقة هنا : https://youtu.be/vZrRbiI1e5w?si=RatAxoGAEWvpGNCz\n تاكتفُل هي نظام ذكي لإدارة التواصل مع العملاء لفرق المبيعات وخدمة العملاء. للإنضمام لمجتمع تجربة العميل من تاكتفُل، استخدم الرابط: https://tactful.ai/cx?src\"", "duration" => 60, "filename" => "/downloads/shorts/بزنس بالعربي (Business بالعربى )/بزنس بالعربي (Business بالعربى ) - 2026-04-15 - [eyRDYDPCQII].mp4", "id" => "eyRDYDPCQII", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/eyRDYDPCQII", "playlist_index" => 1, "timestamp" => 1776258076, "title" => "\"تجربة العميل تبنى بالتواصل الواضح وقدرة على التعامل مع العميل في كل نقطة احتكاك", "upload_date" => "20260415"} 13:20:43.656 [debug] QUERY OK source="sources" db=0.2ms idle=1645.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" IN (?)) [115] 13:20:43.656 [debug] QUERY OK source="sources" db=0.1ms idle=1646.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" = ?) [115] 13:20:43.658 [debug] QUERY OK source="media_items" db=2.0ms idle=1007.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-15 13:01:16Z], 115] 13:20:43.667 [debug] Current batch of media processed. Will check again in 1000ms 13:20:43.667 [debug] QUERY OK source="media_items" db=8.0ms idle=600.4ms 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" ["\"تجربة العميل تبنى بالتواصل الواضح وقدرة على التعامل مع العميل في كل نقطة احتكاك\nهذا الرييل يناقش كيف يكون حُسن الخلق هو الأساس، وتعلّم مهارات التواصل هو ما يحوّله إلى تجربة عميل ناجحة ومستدامة\nجزء من سلسلة تجربة العميل تابع السلسلة، وانضم إلى مجتمع تجربة العميل لتفهم كيف تُصنع التجربة على أرض الواقع.\n\nهذا المحتوى مُقدَّم من Tactful AI لمشاهدة الحلقة كاملة: رابط الحلقة هنا : https://youtu.be/vZrRbiI1e5w?si=RatAxoGAEWvpGNCz\n تاكتفُل هي نظام ذكي لإدارة التواصل مع العملاء لفرق المبيعات وخدمة العملاء. للإنضمام لمجتمع تجربة العميل من تاكتفُل، استخدم الرابط: https://tactful.ai/cx?src\"", "\"تجربة العميل تبنى بالتواصل الواضح وقدرة على التعامل مع العميل في كل نقطة احتكاك", "fa9c95fe-fc35-43ac-a073-5fcf80a4389f", 60, false, "eyRDYDPCQII", "https://www.youtube.com/shorts/eyRDYDPCQII", 1, "/downloads/shorts/بزنس بالعربي (Business بالعربى )/بزنس بالعربي (Business بالعربى ) - 2026-04-15 - [eyRDYDPCQII].mp4", false, false, true, 115, [], 99, ~U[2026-04-15 13:01:16Z], ~U[2026-04-15 13:20:43Z], ~U[2026-04-15 13:20:43Z], "\"تجربة العميل تبنى بالتواصل الواضح وقدرة على التعامل مع العميل في كل نقطة احتكاك\nهذا الرييل يناقش كيف يكون حُسن الخلق هو الأساس، وتعلّم مهارات التواصل هو ما يحوّله إلى تجربة عميل ناجحة ومستدامة\nجزء من سلسلة تجربة العميل تابع السلسلة، وانضم إلى مجتمع تجربة العميل لتفهم كيف تُصنع التجربة على أرض الواقع.\n\nهذا المحتوى مُقدَّم من Tactful AI لمشاهدة الحلقة كاملة: رابط الحلقة هنا : https://youtu.be/vZrRbiI1e5w?si=RatAxoGAEWvpGNCz\n تاكتفُل هي نظام ذكي لإدارة التواصل مع العملاء لفرق المبيعات وخدمة العملاء. للإنضمام لمجتمع تجربة العميل من تاكتفُل، استخدم الرابط: https://tactful.ai/cx?src\"", "\"تجربة العميل تبنى بالتواصل الواضح وقدرة على التعامل مع العميل في كل نقطة احتكاك", 60, false, "eyRDYDPCQII", "https://www.youtube.com/shorts/eyRDYDPCQII", "/downloads/shorts/بزنس بالعربي (Business بالعربى )/بزنس بالعربي (Business بالعربى ) - 2026-04-15 - [eyRDYDPCQII].mp4", true, 115, ~U[2026-04-15 13:01:16Z]] 13:20:43.668 [debug] QUERY OK source="sources" db=0.3ms idle=16.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [115] 13:20:43.668 [debug] QUERY OK source="media_profiles" db=0.3ms idle=12.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 13:20:43.669 [debug] QUERY OK source="media_items" db=0.4ms idle=12.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4703684] 13:20:43.669 [info] Kicking off download for media item #4703684 (eyRDYDPCQII) 13:20:43.671 [debug] QUERY OK source="tasks" db=0.3ms idle=3.1ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2192103, 4703684, ~U[2026-04-15 13:20:43Z], ~U[2026-04-15 13:20:43Z]] 13:20:43.671 [debug] Current batch of media processed. Will check again in 1000ms 13:20:43.677 [info] {"args":{"id":4703684},"id":2192103,"meta":{},"system_time":1776259243677830092,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:20:43.678 [debug] QUERY OK source="media_items" db=0.2ms 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 WHERE (m0."id" = ?) [4703684] 13:20:43.679 [debug] QUERY OK source="sources" db=0.3ms idle=8.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [115] 13:20:43.680 [debug] QUERY OK source="media_profiles" db=0.8ms idle=8.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 13:20:43.680 [info] [command_wrapper]: /config/extras/user-scripts/lifecycle called with: [suppressed] 13:20:44.082 [debug] [command_wrapper]: /config/extras/user-scripts/lifecycle called with: [suppressed] exited: 0 with: [lifecycle] Installing yt-dlp Python package and PO token plugin... [lifecycle] PO token plugin setup complete 13:20:44.082 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=410.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" = ?) [115] 13:20:44.083 [debug] QUERY OK source="media_profiles" db=0.1ms idle=405.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" = ?) [2] 13:20:44.083 [debug] QUERY OK source="media_items" db=0.1ms idle=405.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 [4703684] 13:20:44.084 [debug] QUERY OK source="media_metadata" db=0.0ms idle=405.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" = ?) [4703684] 13:20:44.084 [debug] QUERY OK source="media_profiles" db=0.1ms idle=404.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" = ?) [2] 13:20:44.084 [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 [] 13:20:44.085 [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 [] 13:20:44.085 [debug] Running yt-dlp command for action: get_downloadable_status 13:20:44.085 [debug] QUERY OK source="settings" db=0.1ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:20:44.086 [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 [] 13:20:44.086 [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 [] 13:20:44.086 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/shorts/eyRDYDPCQII --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/8d/1b/8d1baaa3bfb45ea8ed6d39115f0e820d2df47337b0e587cfb2aad4486fb2267d.json --sleep-requests 5 --sleep-interval 5 --sleep-subtitles 4 --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:20:44.668 [debug] Current batch of media processed. Will check again in 1000ms 13:20:44.672 [debug] Current batch of media processed. Will check again in 1000ms 13:20:45.669 [debug] Current batch of media processed. Will check again in 1000ms 13:20:45.673 [debug] Current batch of media processed. Will check again in 1000ms 13:20:46.670 [debug] Current batch of media processed. Will check again in 1000ms 13:20:46.674 [debug] Current batch of media processed. Will check again in 1000ms 13:20:47.671 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "", "duration" => 85, "filename" => "/downloads/shorts/بودكاست الأحرار/بودكاست الأحرار - 2025-07-11 - [FmVY1ZdoZlo].mp4", "id" => "FmVY1ZdoZlo", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/FmVY1ZdoZlo", "playlist_index" => 13, "timestamp" => 1752243301, "title" => "أرفض تجربة \"المدراس الدوليّة\" في ليبيا!!", "upload_date" => "20250711"} 13:20:47.671 [debug] QUERY OK source="sources" db=0.1ms idle=1661.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" IN (?)) [372] 13:20:47.672 [debug] QUERY OK source="sources" db=0.1ms idle=1661.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" = ?) [372] 13:20:47.672 [debug] QUERY OK source="media_items" db=0.2ms idle=1661.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-07-11 14:15:01Z], 372] 13:20:47.673 [debug] QUERY OK source="media_items" db=0.4ms idle=1017.9ms INSERT INTO "media_items" AS m0 ("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) 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" ["أرفض تجربة \"المدراس الدوليّة\" في ليبيا!!", "71241e0a-c6b4-4113-a57b-82ea49bcf002", 85, false, "FmVY1ZdoZlo", "https://www.youtube.com/shorts/FmVY1ZdoZlo", 13, "/downloads/shorts/بودكاست الأحرار/بودكاست الأحرار - 2025-07-11 - [FmVY1ZdoZlo].mp4", false, false, true, 372, [], 98, ~U[2025-07-11 14:15:01Z], ~U[2026-04-15 13:20:47Z], ~U[2026-04-15 13:20:47Z], "", "أرفض تجربة \"المدراس الدوليّة\" في ليبيا!!", 85, false, "FmVY1ZdoZlo", "https://www.youtube.com/shorts/FmVY1ZdoZlo", "/downloads/shorts/بودكاست الأحرار/بودكاست الأحرار - 2025-07-11 - [FmVY1ZdoZlo].mp4", true, 372, ~U[2025-07-11 14:15:01Z]] 13:20:47.673 [debug] QUERY OK source="sources" db=0.2ms idle=17.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [372] 13:20:47.674 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 13:20:47.674 [debug] QUERY OK source="media_items" db=0.2ms idle=2.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4631082] 13:20:47.674 [debug] Current batch of media processed. Will check again in 1000ms 13:20:47.675 [debug] Current batch of media processed. Will check again in 1000ms 13:20:48.675 [debug] Current batch of media processed. Will check again in 1000ms 13:20:48.676 [debug] Current batch of media processed. Will check again in 1000ms 13:20:49.676 [debug] Current batch of media processed. Will check again in 1000ms 13:20:49.677 [debug] Current batch of media processed. Will check again in 1000ms 13:20:50.677 [debug] Current batch of media processed. Will check again in 1000ms 13:20:50.678 [debug] Current batch of media processed. Will check again in 1000ms 13:20:51.678 [debug] Current batch of media processed. Will check again in 1000ms 13:20:51.679 [debug] Current batch of media processed. Will check again in 1000ms 13:20:52.679 [debug] Current batch of media processed. Will check again in 1000ms 13:20:52.680 [debug] Current batch of media processed. Will check again in 1000ms 13:20:53.461 [info] GET /sources/346/media/4702252/edit 13:20:53.461 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "4702252", "source_id" => "346"} Pipelines: [:browser] 13:20:53.461 [debug] QUERY OK source="media_items" db=0.2ms idle=800.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" = ?) [4702252] 13:20:53.462 [debug] QUERY OK source="settings" db=0.1ms idle=451.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:53.462 [debug] QUERY OK source="settings" db=0.1ms idle=452.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:53.463 [debug] QUERY OK source="settings" db=0.1ms idle=452.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:20:53.464 [info] Sent 200 in 3ms 13:20:53.579 [info] GET /sources/45/media/4702300/edit 13:20:53.579 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "4702300", "source_id" => "45"} Pipelines: [:browser] 13:20:53.580 [debug] QUERY OK source="media_items" db=0.2ms idle=569.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [4702300] 13:20:53.580 [debug] QUERY OK source="settings" db=0.1ms idle=118.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:53.580 [debug] QUERY OK source="settings" db=0.1ms idle=118.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:53.581 [debug] QUERY OK source="settings" db=0.1ms 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 [] 13:20:53.582 [info] Sent 200 in 3ms 13:20:53.680 [debug] Current batch of media processed. Will check again in 1000ms 13:20:53.681 [debug] Current batch of media processed. Will check again in 1000ms 13:20:54.681 [debug] Current batch of media processed. Will check again in 1000ms 13:20:54.682 [debug] Current batch of media processed. Will check again in 1000ms 13:20:55.682 [debug] Current batch of media processed. Will check again in 1000ms 13:20:55.683 [debug] Current batch of media processed. Will check again in 1000ms 13:20:56.683 [debug] Current batch of media processed. Will check again in 1000ms 13:20:56.684 [debug] Current batch of media processed. Will check again in 1000ms 13:20:57.684 [debug] Current batch of media processed. Will check again in 1000ms 13:20:57.685 [debug] Current batch of media processed. Will check again in 1000ms 13:20:58.685 [debug] Current batch of media processed. Will check again in 1000ms 13:20:58.686 [debug] Current batch of media processed. Will check again in 1000ms 13:20:59.053 [info] GET /sources/305/media/3298852 13:20:59.053 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "3298852", "prevent_download" => "true", "source_id" => "305"} Pipelines: [:browser] 13:20:59.054 [debug] QUERY OK source="media_items" db=0.2ms idle=386.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" = ?) [3298852] 13:20:59.055 [debug] QUERY OK source="tasks" db=0.1ms idle=44.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" [3298852] 13:20:59.055 [debug] QUERY OK source="sources" db=0.2ms idle=44.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" = ?) [305] 13:20:59.055 [debug] QUERY OK source="settings" db=0.1ms idle=45.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:20:59.056 [debug] QUERY OK source="settings" db=0.1ms idle=45.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:20:59.056 [debug] QUERY OK source="settings" db=0.1ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:20:59.057 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:20:59.058 [info] Sent 200 in 4ms 13:20:59.686 [debug] Current batch of media processed. Will check again in 1000ms 13:20:59.687 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "\"أهم مهارة ممكن أي حد يشتغل عليها سواء مدير أو صاحب بزنس هي الوعي الذاتي، لأن فهمك لنفسك بيأثر بشكل مباشر على قراراتك وطريقة إدارتك وتعاملاتك مع الناس، لما تبقى عارف نقاط قوتك وضعفك وطريقة تفكيرك وردود أفعالك، بتبقى أهدى في قراراتك وأوضح في رؤيتك، وبتعرف إمتى تاخد خطوة وإمتى تراجع نفسك، المشكلة إن ناس كتير بتركز على تطوير المهارات الخارجية وتنسى الأساس اللي بيحرك كل ده، وهو وعيك بنفسك، لأن أي تطوير حقيقي بيبدأ من جواك مش من بره. \n\n🟧 ضيف الحلقة هو: حنان ناجي الرئيس التنفيذي لشركة HNI \n🔸شاهد الحلقة على يوتيوب: https://youtu.be/zc1bbX25FMY\n🔶خليك ديماً متابع الجديد في مكان واحد وحمل تطبيق بزنس بالعربي👇\nhttps://m.mtrbio.com/BBA-Application\n\nهذه الحلقـــة برعايــــة: \n📌 Hydepark Developments\nإحدى أبرز شركات التطوير العقاري في مصر، بخبرة تمتد لـ15 عامًا، ومحفظة مشروعات متنوعة تضم 8 تطويرات بحضور قوي في شمال وشرق وغرب القاهرة، زُر موقع Hydepark Developments من خلال https://www.hydeparkdevelopments.com/ar/who-we-are\n\n📌 CIB \nكونك عميل CIB Business Banking يعني أنك تستفيد من أفضل المنتجات والحلول المالية وغير المالية، بالإضافة إلى خدمات مخصصة تلبي احتياجات شركتك، مع دعم مستمر يضمن لك راحة البال لتتمكن من التركيز على نمو أعمالك. وللتعرف على المزيد، أرسل كلمة \"\"بيزنس\"\" في رسالة نصية إلى الرقم 4435.\n \nhttps://share.google/gdK9EUdVpgkNRVd28\"", "duration" => 58, "filename" => "/downloads/shorts/بزنس بالعربي (Business بالعربى )/بزنس بالعربي (Business بالعربى ) - 2026-04-15 - [kSnig4AsIg4].mp4", "id" => "kSnig4AsIg4", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/kSnig4AsIg4", "playlist_index" => 2, "timestamp" => 1776236442, "title" => "راحة الـ AI لها ثمن - حنان ناجي", "upload_date" => "20260415"} 13:20:59.688 [debug] QUERY OK source="sources" db=0.2ms idle=632.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" IN (?)) [115] 13:20:59.688 [debug] QUERY OK source="sources" db=0.1ms idle=632.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" = ?) [115] 13:20:59.690 [debug] QUERY OK source="media_items" db=1.9ms idle=632.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-15 07:00:42Z], 115] 13:20:59.693 [debug] QUERY OK source="media_items" db=1.5ms idle=634.1ms 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" ["\"أهم مهارة ممكن أي حد يشتغل عليها سواء مدير أو صاحب بزنس هي الوعي الذاتي، لأن فهمك لنفسك بيأثر بشكل مباشر على قراراتك وطريقة إدارتك وتعاملاتك مع الناس، لما تبقى عارف نقاط قوتك وضعفك وطريقة تفكيرك وردود أفعالك، بتبقى أهدى في قراراتك وأوضح في رؤيتك، وبتعرف إمتى تاخد خطوة وإمتى تراجع نفسك، المشكلة إن ناس كتير بتركز على تطوير المهارات الخارجية وتنسى الأساس اللي بيحرك كل ده، وهو وعيك بنفسك، لأن أي تطوير حقيقي بيبدأ من جواك مش من بره. \n\n🟧 ضيف الحلقة هو: حنان ناجي الرئيس التنفيذي لشركة HNI \n🔸شاهد الحلقة على يوتيوب: https://youtu.be/zc1bbX25FMY\n🔶خليك ديماً متابع الجديد في مكان واحد وحمل تطبيق بزنس بالعربي👇\nhttps://m.mtrbio.com/BBA-Application\n\nهذه الحلقـــة برعايــــة: \n📌 Hydepark Developments\nإحدى أبرز شركات التطوير العقاري في مصر، بخبرة تمتد لـ15 عامًا، ومحفظة مشروعات متنوعة تضم 8 تطويرات بحضور قوي في شمال وشرق وغرب القاهرة، زُر موقع Hydepark Developments من خلال https://www.hydeparkdevelopments.com/ar/who-we-are\n\n📌 CIB \nكونك عميل CIB Business Banking يعني أنك تستفيد من أفضل المنتجات والحلول المالية وغير المالية، بالإضافة إلى خدمات مخصصة تلبي احتياجات شركتك، مع دعم مستمر يضمن لك راحة البال لتتمكن من التركيز على نمو أعمالك. وللتعرف على المزيد، أرسل كلمة \"\"بيزنس\"\" في رسالة نصية إلى الرقم 4435.\n \nhttps://share.google/gdK9EUdVpgkNRVd28\"", "راحة الـ AI لها ثمن - حنان ناجي", "4bd2d481-7881-4c2c-9810-35ff75938256", 58, false, "kSnig4AsIg4", "https://www.youtube.com/shorts/kSnig4AsIg4", 2, "/downloads/shorts/بزنس بالعربي (Business بالعربى )/بزنس بالعربي (Business بالعربى ) - 2026-04-15 - [kSnig4AsIg4].mp4", false, false, true, 115, [], 98, ~U[2026-04-15 07:00:42Z], ~U[2026-04-15 13:20:59Z], ~U[2026-04-15 13:20:59Z], "\"أهم مهارة ممكن أي حد يشتغل عليها سواء مدير أو صاحب بزنس هي الوعي الذاتي، لأن فهمك لنفسك بيأثر بشكل مباشر على قراراتك وطريقة إدارتك وتعاملاتك مع الناس، لما تبقى عارف نقاط قوتك وضعفك وطريقة تفكيرك وردود أفعالك، بتبقى أهدى في قراراتك وأوضح في رؤيتك، وبتعرف إمتى تاخد خطوة وإمتى تراجع نفسك، المشكلة إن ناس كتير بتركز على تطوير المهارات الخارجية وتنسى الأساس اللي بيحرك كل ده، وهو وعيك بنفسك، لأن أي تطوير حقيقي بيبدأ من جواك مش من بره. \n\n🟧 ضيف الحلقة هو: حنان ناجي الرئيس التنفيذي لشركة HNI \n🔸شاهد الحلقة على يوتيوب: https://youtu.be/zc1bbX25FMY\n🔶خليك ديماً متابع الجديد في مكان واحد وحمل تطبيق بزنس بالعربي👇\nhttps://m.mtrbio.com/BBA-Application\n\nهذه الحلقـــة برعايــــة: \n📌 Hydepark Developments\nإحدى أبرز شركات التطوير العقاري في مصر، بخبرة تمتد لـ15 عامًا، ومحفظة مشروعات متنوعة تضم 8 تطويرات بحضور قوي في شمال وشرق وغرب القاهرة، زُر موقع Hydepark Developments من خلال https://www.hydeparkdevelopments.com/ar/who-we-are\n\n📌 CIB \nكونك عميل CIB Business Banking يعني أنك تستفيد من أفضل المنتجات والحلول المالية وغير المالية، بالإضافة إلى خدمات مخصصة تلبي احتياجات شركتك، مع دعم مستمر يضمن لك راحة البال لتتمكن من التركيز على نمو أعمالك. وللتعرف على المزيد، أرسل كلمة \"\"بيزنس\"\" في رسالة نصية إلى الرقم 4435.\n \nhttps://share.google/gdK9EUdVpgkNRVd28\"", "راحة الـ AI لها ثمن - حنان ناجي", 58, false, "kSnig4AsIg4", "https://www.youtube.com/shorts/kSnig4AsIg4", "/downloads/shorts/بزنس بالعربي (Business بالعربى )/بزنس بالعربي (Business بالعربى ) - 2026-04-15 - [kSnig4AsIg4].mp4", true, 115, ~U[2026-04-15 07:00:42Z]] 13:20:59.693 [debug] QUERY OK source="sources" db=0.3ms idle=24.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" = ?) [115] 13:20:59.694 [debug] QUERY OK source="media_profiles" db=0.3ms idle=5.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 13:20:59.695 [debug] QUERY OK source="media_items" db=0.4ms idle=6.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4703686] 13:20:59.695 [info] Kicking off download for media item #4703686 (kSnig4AsIg4) 13:20:59.697 [debug] QUERY OK source="tasks" db=0.3ms idle=3.2ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2192104, 4703686, ~U[2026-04-15 13:20:59Z], ~U[2026-04-15 13:20:59Z]] 13:20:59.697 [debug] Current batch of media processed. Will check again in 1000ms 13:20:59.703 [info] {"args":{"id":4703686},"id":2192104,"meta":{},"system_time":1776259259703841198,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:20:59.704 [debug] QUERY OK source="media_items" db=0.2ms idle=8.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [4703686] 13:20:59.705 [debug] QUERY OK source="sources" db=0.2ms 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" = ?) [115] 13:20:59.705 [debug] QUERY OK source="media_profiles" db=0.2ms idle=8.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 13:20:59.706 [info] [command_wrapper]: /config/extras/user-scripts/lifecycle called with: [suppressed] 13:21:00.134 [debug] [command_wrapper]: /config/extras/user-scripts/lifecycle called with: [suppressed] exited: 0 with: [lifecycle] Installing yt-dlp Python package and PO token plugin... [lifecycle] PO token plugin setup complete 13:21:00.135 [debug] QUERY OK source="sources" db=0.4ms idle=437.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" = ?) [115] 13:21:00.135 [debug] QUERY OK source="media_profiles" db=0.1ms idle=431.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" = ?) [2] 13:21:00.136 [debug] QUERY OK source="media_items" db=0.2ms idle=431.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4703686] 13:21:00.140 [debug] QUERY OK source="media_metadata" db=0.1ms idle=434.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" = ?) [4703686] 13:21:00.140 [debug] QUERY OK source="media_profiles" db=0.1ms idle=434.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" = ?) [2] 13:21:00.140 [debug] QUERY OK source="settings" db=0.1ms idle=5.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:21:00.141 [debug] QUERY OK source="settings" db=0.1ms idle=5.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:21:00.141 [debug] Running yt-dlp command for action: get_downloadable_status 13:21:00.142 [debug] QUERY OK source="settings" db=0.1ms idle=5.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:21:00.142 [debug] QUERY OK source="settings" db=0.1ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:21:00.142 [debug] QUERY OK source="settings" db=0.1ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:21:00.143 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/shorts/kSnig4AsIg4 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/ec/57/ec5720ebdb9119e2e8aa1cd6842d62fd44aa605baba5a11c51625779c7b12535.json --sleep-requests 4 --sleep-interval 5 --sleep-subtitles 5 --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:21:00.687 [debug] Current batch of media processed. Will check again in 1000ms 13:21:00.698 [debug] Current batch of media processed. Will check again in 1000ms 13:21:00.857 [info] {"source":"oban","duration":146,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:21:01.688 [debug] Current batch of media processed. Will check again in 1000ms 13:21:01.699 [debug] Current batch of media processed. Will check again in 1000ms 13:21:02.689 [debug] Current batch of media processed. Will check again in 1000ms 13:21:02.700 [debug] Current batch of media processed. Will check again in 1000ms 13:21:03.690 [debug] Current batch of media processed. Will check again in 1000ms 13:21:03.701 [debug] Current batch of media processed. Will check again in 1000ms 13:21:04.691 [debug] Current batch of media processed. Will check again in 1000ms 13:21:04.702 [debug] Current batch of media processed. Will check again in 1000ms 13:21:05.232 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/shorts/eyRDYDPCQII --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/8d/1b/8d1baaa3bfb45ea8ed6d39115f0e820d2df47337b0e587cfb2aad4486fb2267d.json --sleep-requests 5 --sleep-interval 5 --sleep-subtitles 4 --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 13:21:05.233 [debug] Running yt-dlp command for action: download 13:21:05.233 [debug] QUERY OK source="settings" db=0.2ms idle=1223.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:05.233 [debug] QUERY OK source="settings" db=0.1ms idle=1223.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:05.234 [debug] QUERY OK source="settings" db=0.1ms idle=1223.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:05.234 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/shorts/eyRDYDPCQII --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --sub-langs ar --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shorts/بزنس بالعربي (Business بالعربى )/بزنس بالعربي (Business بالعربى ) - %(upload_date>%Y-%m-%d)S - [%(id)S].%(ext)S --config-locations /config/extras/yt-dlp-configs/base-config.txt --print-to-file after_move:%()j /tmp/pinchflat/data/46/5e/465e691323d7b227c7c28d4cad92b464f70cfab2c9f468ff15e14e52b9facc63.json --sleep-requests 5 --sleep-interval 5 --sleep-subtitles 5 --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:21:05.692 [debug] Current batch of media processed. Will check again in 1000ms 13:21:05.703 [debug] Current batch of media processed. Will check again in 1000ms 13:21:06.693 [debug] Current batch of media processed. Will check again in 1000ms 13:21:06.704 [debug] Current batch of media processed. Will check again in 1000ms 13:21:07.694 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "", "duration" => 88, "filename" => "/downloads/shorts/بودكاست الأحرار/بودكاست الأحرار - 2025-07-09 - [btO-I0VgbRY].mp4", "id" => "btO-I0VgbRY", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/btO-I0VgbRY", "playlist_index" => 14, "timestamp" => 1752079011, "title" => "صراع الأمازيغ والقذافي.. انتظرونا يوم الخميس", "upload_date" => "20250709"} 13:21:07.695 [debug] QUERY OK source="sources" db=0.2ms 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" IN (?)) [372] 13:21:07.695 [debug] QUERY OK source="sources" db=0.2ms idle=685.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" = ?) [372] 13:21:07.696 [debug] QUERY OK source="media_items" db=0.2ms idle=685.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-07-09 16:36:51Z], 372] 13:21:07.697 [debug] QUERY OK source="media_items" db=0.8ms idle=686.1ms INSERT INTO "media_items" AS m0 ("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) 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" ["صراع الأمازيغ والقذافي.. انتظرونا يوم الخميس", "4525c302-252d-4867-bb62-e24e241ce819", 88, false, "btO-I0VgbRY", "https://www.youtube.com/shorts/btO-I0VgbRY", 14, "/downloads/shorts/بودكاست الأحرار/بودكاست الأحرار - 2025-07-09 - [btO-I0VgbRY].mp4", false, false, true, 372, [], 98, ~U[2025-07-09 16:36:51Z], ~U[2026-04-15 13:21:07Z], ~U[2026-04-15 13:21:07Z], "", "صراع الأمازيغ والقذافي.. انتظرونا يوم الخميس", 88, false, "btO-I0VgbRY", "https://www.youtube.com/shorts/btO-I0VgbRY", "/downloads/shorts/بودكاست الأحرار/بودكاست الأحرار - 2025-07-09 - [btO-I0VgbRY].mp4", true, 372, ~U[2025-07-09 16:36:51Z]] 13:21:07.697 [debug] QUERY OK source="sources" db=0.3ms idle=17.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [372] 13:21:07.698 [debug] QUERY OK source="media_profiles" db=0.3ms idle=3.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 13:21:07.699 [debug] QUERY OK source="media_items" db=0.4ms idle=3.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 [4631084] 13:21:07.699 [debug] Current batch of media processed. Will check again in 1000ms 13:21:07.705 [debug] Current batch of media processed. Will check again in 1000ms 13:21:08.689 [info] {"args":{"id":46},"id":2192069,"meta":{},"system_time":1776259268689222069,"max_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:08.689 [debug] QUERY OK source="sources" db=0.2ms idle=991.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" = ?) [46] 13:21:08.690 [debug] QUERY OK source="settings" db=0.1ms idle=991.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:08.690 [debug] QUERY OK source="media_profiles" db=0.2ms idle=991.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" = ?) [2] 13:21:08.691 [debug] QUERY OK source="settings" db=0.2ms idle=8.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:21:08.691 [debug] Fetching recent media IDs from YouTube API for playlist: UU6A5Hm2n4ua3gYOHAXxbwbg 13:21:08.691 [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 [] 13:21:08.691 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 13:21:08.700 [debug] Current batch of media processed. Will check again in 1000ms 13:21:08.706 [debug] Current batch of media processed. Will check again in 1000ms 13:21:08.990 [debug] QUERY OK source="media_items" db=1.3ms idle=299.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [46, "91FeGvZJScY", "CYBhH_JYrao", "bZT12EHs9Yg", "kbyoiRxn4PI", "SOBkcZSh9II", "zxgDhss5Exw", "amWmTGGET0E", "lHSr_TCLAhk", "fAvcbWRtbyY", "sSD4o9fv_Ew", "krEyWTE0BnQ", "Kz54TXV2ZA4", "PtuYWSOmUPg", "xjw6HjH1noU", "hC2iGUBovAE", "dI34Vp0NFxo", "iH5m0ygselg", "HxUaarF3cOE", "MMOATdS4HTY", "hNctdULnqXQ", "hri9lwiAmbU", "MpuKiJvR3iU", "ZGhsiJ7xyMM", "FlX8Oi3j2lA", "qotJKnBv_XY", "S-NmaIYR_9A", "nOUKPh8FyOA", "sPXEIXVBQPc", "VLm4ts60Jlw", "cM_ILEVbG38", "tZvrO4sGQS0", "OZP4vBfv8cY", "zyjZ2Ywo-sE", "0h-0sZswhS0", "LPVlRTKp4LY", "Jw9Oufynn44", "-SAsUMbDi0c", "vULJb128GAs", "PHs_eSgo9O4", "9CenR6dKkp4", "iO8InAwJARw", "pxSbAVwVPtg", "jvQiQnJUkYE", "okvHOwXHwrs", "Ske0itt1bEY", "T0L4hNCy_9Q", "A0ZpqNJzNcM", "y1yd3nZ9CEk", "pNZjleftqOs", ...] 13:21:08.994 [debug] QUERY OK source="media_items" db=2.2ms idle=301.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")))) [46] 13:21:08.995 [debug] QUERY OK source="tasks" db=0.3ms idle=304.1ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2192105, 46, ~U[2026-04-15 13:21:08Z], ~U[2026-04-15 13:21:08Z]] 13:21:08.996 [info] {"args":{"id":46},"id":2192069,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":306785,"event":"job:stop","queue_time":423825,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:21:09.701 [debug] Current batch of media processed. Will check again in 1000ms 13:21:09.707 [debug] Current batch of media processed. Will check again in 1000ms 13:21:10.702 [debug] Current batch of media processed. Will check again in 1000ms 13:21:10.708 [debug] Current batch of media processed. Will check again in 1000ms 13:21:11.703 [debug] Current batch of media processed. Will check again in 1000ms 13:21:11.709 [debug] Current batch of media processed. Will check again in 1000ms 13:21:12.704 [debug] Current batch of media processed. Will check again in 1000ms 13:21:12.710 [debug] Current batch of media processed. Will check again in 1000ms 13:21:13.076 [info] {"source":"oban","duration":17714,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:21:13.705 [debug] Current batch of media processed. Will check again in 1000ms 13:21:13.711 [debug] Current batch of media processed. Will check again in 1000ms 13:21:14.706 [debug] Current batch of media processed. Will check again in 1000ms 13:21:14.712 [debug] Current batch of media processed. Will check again in 1000ms 13:21:15.707 [debug] Current batch of media processed. Will check again in 1000ms 13:21:15.713 [debug] Current batch of media processed. Will check again in 1000ms 13:21:16.708 [debug] Current batch of media processed. Will check again in 1000ms 13:21:16.714 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "\"اختارت أن تكون الأغلى فأصبحت الأقوى\nفي سوق ملئ بدائل أرخص، نافست هذه الشركة بالخدمة، والضمان، وبناء الثقة والنتيجة لم تكن مبيعات فقط، بل توسّع، مصانع تعمل، وحضور في أسواق التصدير.\nهذا الرييل يوضح لماذا لا يفوز الأرخص دائمًا، وكيف تتحول تجربة العميل إلى قوة سوقية حقيقية؟\n\nهذا المحتوى مُقدَّم من Tactful AI لمشاهدة الحلقة كاملة: رابط الحلقة هنا : https://youtu.be/vZrRbiI1e5w?si=RatAxoGAEWvpGNCz\n تاكتفُل هي نظام ذكي لإدارة التواصل مع العملاء لفرق المبيعات وخدمة العملاء. للإنضمام لمجتمع تجربة العميل من تاكتفُل، استخدم الرابط: https://tactful.ai/cx?src\"", "duration" => 57, "filename" => "/downloads/shorts/بزنس بالعربي (Business بالعربى )/بزنس بالعربي (Business بالعربى ) - 2026-04-14 - [eYwuLqxxIEU].mp4", "id" => "eYwuLqxxIEU", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/eYwuLqxxIEU", "playlist_index" => 3, "timestamp" => 1776189651, "title" => "\"اختارت أن تكون الأغلى فأصبحت الأقوى", "upload_date" => "20260414"} 13:21:16.714 [debug] QUERY OK source="sources" db=0.2ms idle=1021.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" IN (?)) [115] 13:21:16.715 [debug] QUERY OK source="sources" db=0.1ms idle=705.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" = ?) [115] 13:21:16.717 [debug] QUERY OK source="media_items" db=2.0ms idle=705.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-14 18:00:51Z], 115] 13:21:16.719 [debug] QUERY OK source="media_items" db=1.1ms idle=707.7ms 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" ["\"اختارت أن تكون الأغلى فأصبحت الأقوى\nفي سوق ملئ بدائل أرخص، نافست هذه الشركة بالخدمة، والضمان، وبناء الثقة والنتيجة لم تكن مبيعات فقط، بل توسّع، مصانع تعمل، وحضور في أسواق التصدير.\nهذا الرييل يوضح لماذا لا يفوز الأرخص دائمًا، وكيف تتحول تجربة العميل إلى قوة سوقية حقيقية؟\n\nهذا المحتوى مُقدَّم من Tactful AI لمشاهدة الحلقة كاملة: رابط الحلقة هنا : https://youtu.be/vZrRbiI1e5w?si=RatAxoGAEWvpGNCz\n تاكتفُل هي نظام ذكي لإدارة التواصل مع العملاء لفرق المبيعات وخدمة العملاء. للإنضمام لمجتمع تجربة العميل من تاكتفُل، استخدم الرابط: https://tactful.ai/cx?src\"", "\"اختارت أن تكون الأغلى فأصبحت الأقوى", "fb3f5a52-4829-4e5d-878b-4fba2ddebf07", 57, false, "eYwuLqxxIEU", "https://www.youtube.com/shorts/eYwuLqxxIEU", 3, "/downloads/shorts/بزنس بالعربي (Business بالعربى )/بزنس بالعربي (Business بالعربى ) - 2026-04-14 - [eYwuLqxxIEU].mp4", false, false, true, 115, [], 97, ~U[2026-04-14 18:00:51Z], ~U[2026-04-15 13:21:16Z], ~U[2026-04-15 13:21:16Z], "\"اختارت أن تكون الأغلى فأصبحت الأقوى\nفي سوق ملئ بدائل أرخص، نافست هذه الشركة بالخدمة، والضمان، وبناء الثقة والنتيجة لم تكن مبيعات فقط، بل توسّع، مصانع تعمل، وحضور في أسواق التصدير.\nهذا الرييل يوضح لماذا لا يفوز الأرخص دائمًا، وكيف تتحول تجربة العميل إلى قوة سوقية حقيقية؟\n\nهذا المحتوى مُقدَّم من Tactful AI لمشاهدة الحلقة كاملة: رابط الحلقة هنا : https://youtu.be/vZrRbiI1e5w?si=RatAxoGAEWvpGNCz\n تاكتفُل هي نظام ذكي لإدارة التواصل مع العملاء لفرق المبيعات وخدمة العملاء. للإنضمام لمجتمع تجربة العميل من تاكتفُل، استخدم الرابط: https://tactful.ai/cx?src\"", "\"اختارت أن تكون الأغلى فأصبحت الأقوى", 57, false, "eYwuLqxxIEU", "https://www.youtube.com/shorts/eYwuLqxxIEU", "/downloads/shorts/بزنس بالعربي (Business بالعربى )/بزنس بالعربي (Business بالعربى ) - 2026-04-14 - [eYwuLqxxIEU].mp4", true, 115, ~U[2026-04-14 18:00:51Z]] 13:21:16.719 [debug] QUERY OK source="sources" db=0.3ms idle=25.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" = ?) [115] 13:21:16.720 [debug] QUERY OK source="media_profiles" db=0.3ms idle=5.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 13:21:16.721 [debug] QUERY OK source="media_items" db=0.3ms idle=5.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4703688] 13:21:16.721 [info] Kicking off download for media item #4703688 (eYwuLqxxIEU) 13:21:16.723 [debug] QUERY OK source="tasks" db=0.2ms idle=3.1ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2192106, 4703688, ~U[2026-04-15 13:21:16Z], ~U[2026-04-15 13:21:16Z]] 13:21:16.723 [debug] Current batch of media processed. Will check again in 1000ms 13:21:17.709 [debug] Current batch of media processed. Will check again in 1000ms 13:21:17.724 [debug] Current batch of media processed. Will check again in 1000ms 13:21:17.990 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/shorts/kSnig4AsIg4 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/ec/57/ec5720ebdb9119e2e8aa1cd6842d62fd44aa605baba5a11c51625779c7b12535.json --sleep-requests 4 --sleep-interval 5 --sleep-subtitles 5 --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 13:21:17.990 [debug] Running yt-dlp command for action: download 13:21:17.991 [debug] QUERY OK source="settings" db=0.3ms idle=1269.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:17.991 [debug] QUERY OK source="settings" db=0.2ms idle=1268.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:17.992 [debug] QUERY OK source="settings" db=0.8ms idle=1268.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:17.992 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/shorts/kSnig4AsIg4 --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --sub-langs ar --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shorts/بزنس بالعربي (Business بالعربى )/بزنس بالعربي (Business بالعربى ) - %(upload_date>%Y-%m-%d)S - [%(id)S].%(ext)S --config-locations /config/extras/yt-dlp-configs/base-config.txt --print-to-file after_move:%()j /tmp/pinchflat/data/8d/37/8d37e051a2b877177ddd9231b334f86ef62e291ae2e7e72044247c5e224e301e.json --sleep-requests 5 --sleep-interval 4 --sleep-subtitles 5 --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:21:18.710 [debug] Current batch of media processed. Will check again in 1000ms 13:21:18.725 [debug] Current batch of media processed. Will check again in 1000ms 13:21:19.711 [debug] Current batch of media processed. Will check again in 1000ms 13:21:19.726 [debug] Current batch of media processed. Will check again in 1000ms 13:21:20.712 [debug] Current batch of media processed. Will check again in 1000ms 13:21:20.727 [debug] Current batch of media processed. Will check again in 1000ms 13:21:21.709 [info] {"args":{"id":162},"id":2192070,"meta":{},"system_time":1776259281709063561,"max_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:21.709 [debug] QUERY OK source="sources" db=0.1ms idle=699.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" = ?) [162] 13:21:21.709 [debug] QUERY OK source="settings" db=0.1ms idle=699.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:21.710 [debug] QUERY OK source="media_profiles" db=0.2ms idle=699.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" = ?) [2] 13:21:21.710 [debug] QUERY OK source="settings" db=0.2ms idle=8.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:21:21.710 [debug] Fetching recent media IDs from YouTube API for playlist: UUABzsyFLLA-fKu05lR-49RA 13:21:21.711 [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 [] 13:21:21.711 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 13:21:21.713 [debug] Current batch of media processed. Will check again in 1000ms 13:21:21.728 [debug] Current batch of media processed. Will check again in 1000ms 13:21:22.080 [debug] QUERY OK source="media_items" db=1.3ms idle=369.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [162, "ekjubKROBRg", "4pyotqfBLhM", "2rPbJvL3j4Y", "2O90s2wLTos", "8ZEYPhSYVIE", "MhmiUOWYTxY", "T3HEM7ZNQPA", "V9g3NsG6ut4", "KFgnlLa1D3c", "xuK6RuwvSqs", "d1T9zgY6e8U", "U37vbS9xCmA", "4VfVt3CmdrE", "LHNQ0Hi1a0Q", "kiBovELN07k", "_BwwTsb2TI0", "O9nDiWzdXlo", "T0ZcxY4D2aA", "-12pzaDhv_A", "p2YtdDNlU6k", "FJ9jGXXdoUo", "QbRHZBbwpbA", "jo9TYjGV7uQ", "eECh3m0EVG0", "VvwxdVWgXh0", "qVXJvOy80Q4", "3F4x-FMlEjA", "Tf07AdpNyww", "eP5Nph4v_DE", "ZnLiB07EjmM", "SRE_KFmxcq8", "Lx_lGb9dkYQ", "dMZ3w9NsjrM", "saSk7K_qJEo", "zrRiTNHXA1w", "JDEMAWmI6hU", "PODXln9kxPI", "ewnhb2rTabk", "ZbgB2Wdq6pA", "83PGdBO5sJk", "Z5K6fG36bDM", "snQvJ89e53Y", "15cm2QYHlSY", "Sh9rBNM8AHk", "NOZ6drrRrI8", "PHEHlvvVeAw", "t9omgey7Q0w", "6IYTsuTZeuI", "swAglzdSLts", ...] 13:21:22.084 [debug] QUERY OK source="media_items" db=2.8ms idle=371.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")))) [162] 13:21:22.086 [debug] QUERY OK source="tasks" db=0.3ms idle=374.8ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2192107, 162, ~U[2026-04-15 13:21:22Z], ~U[2026-04-15 13:21:22Z]] 13:21:22.087 [info] {"args":{"id":162},"id":2192070,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":377430,"event":"job:stop","queue_time":412729,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:21:22.714 [debug] Current batch of media processed. Will check again in 1000ms 13:21:22.729 [debug] Current batch of media processed. Will check again in 1000ms 13:21:23.715 [debug] Current batch of media processed. Will check again in 1000ms 13:21:23.730 [debug] Current batch of media processed. Will check again in 1000ms 13:21:24.716 [debug] Current batch of media processed. Will check again in 1000ms 13:21:24.731 [debug] Current batch of media processed. Will check again in 1000ms 13:21:25.717 [debug] Current batch of media processed. Will check again in 1000ms 13:21:25.732 [debug] Current batch of media processed. Will check again in 1000ms 13:21:26.718 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "", "duration" => 83, "filename" => "/downloads/shorts/بودكاست الأحرار/بودكاست الأحرار - 2025-07-08 - [op1_hN21bIU].mp4", "id" => "op1_hN21bIU", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/op1_hN21bIU", "playlist_index" => 15, "timestamp" => 1751980227, "title" => "جلسات التفريغ النفسي زمان!!", "upload_date" => "20250708"} 13:21:26.718 [debug] QUERY OK source="sources" db=0.1ms idle=708.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" IN (?)) [372] 13:21:26.719 [debug] QUERY OK source="sources" db=0.2ms idle=708.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" = ?) [372] 13:21:26.719 [debug] QUERY OK source="media_items" db=0.3ms idle=709.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-07-08 13:10:27Z], 372] 13:21:26.721 [debug] QUERY OK source="media_items" db=0.8ms idle=710.0ms INSERT INTO "media_items" AS m0 ("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) 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" ["جلسات التفريغ النفسي زمان!!", "2ca9fec7-c391-4d42-9ba1-0add6ebf8981", 83, false, "op1_hN21bIU", "https://www.youtube.com/shorts/op1_hN21bIU", 15, "/downloads/shorts/بودكاست الأحرار/بودكاست الأحرار - 2025-07-08 - [op1_hN21bIU].mp4", false, false, true, 372, [], 98, ~U[2025-07-08 13:10:27Z], ~U[2026-04-15 13:21:26Z], ~U[2026-04-15 13:21:26Z], "", "جلسات التفريغ النفسي زمان!!", 83, false, "op1_hN21bIU", "https://www.youtube.com/shorts/op1_hN21bIU", "/downloads/shorts/بودكاست الأحرار/بودكاست الأحرار - 2025-07-08 - [op1_hN21bIU].mp4", true, 372, ~U[2025-07-08 13:10:27Z]] 13:21:26.721 [debug] QUERY OK source="sources" db=0.4ms idle=10.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [372] 13:21:26.722 [debug] QUERY OK source="media_profiles" db=0.3ms idle=3.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 13:21:26.723 [debug] QUERY OK source="media_items" db=0.4ms idle=3.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4631085] 13:21:26.723 [debug] Current batch of media processed. Will check again in 1000ms 13:21:26.733 [debug] Current batch of media processed. Will check again in 1000ms 13:21:27.724 [debug] Current batch of media processed. Will check again in 1000ms 13:21:27.734 [debug] Current batch of media processed. Will check again in 1000ms 13:21:28.725 [debug] Current batch of media processed. Will check again in 1000ms 13:21:28.735 [debug] Current batch of media processed. Will check again in 1000ms 13:21:29.726 [debug] Current batch of media processed. Will check again in 1000ms 13:21:29.736 [debug] Current batch of media processed. Will check again in 1000ms 13:21:30.727 [debug] Current batch of media processed. Will check again in 1000ms 13:21:30.737 [debug] Current batch of media processed. Will check again in 1000ms 13:21:31.728 [debug] Current batch of media processed. Will check again in 1000ms 13:21:31.738 [debug] Current batch of media processed. Will check again in 1000ms 13:21:32.729 [debug] Current batch of media processed. Will check again in 1000ms 13:21:32.739 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "\"قرار واحد في خدمة العملاء قد يغيّر موقع شركتك في السوق \nفي أسواق تتشابه فيها المنتجات، تصبح جودة خدمة العملاء هي العامل الفاصل بين شركة تنافس وأخرى تقود\nهذا الرييل يوضح كيف استطاعت شركات حقيقة الانتقال من مجرد تقديم خدمة إلى بناء تجربة جعلتها في موقع القيادة.\n\n تابع السلسلة، وانضم إلى مجتمع أثر تجربة العميل لتصلك الرؤى التي تصنع الفارق داخل مؤسستك .. \n\n\nهذا المحتوى مُقدَّم من Tactful AI لمشاهدة الحلقة كاملة: رابط الحلقة هنا : https://youtu.be/vZrRbiI1e5w?si=RatAxoGAEWvpGNCz\n تاكتفُل هي نظام ذكي لإدارة التواصل مع العملاء لفرق المبيعات وخدمة العملاء. للإنضمام لمجتمع تجربة العميل من تاكتفُل، استخدم الرابط: https://tactful.ai/cx?src\"", "duration" => 42, "filename" => "/downloads/shorts/بزنس بالعربي (Business بالعربى )/بزنس بالعربي (Business بالعربى ) - 2026-04-14 - [JIxChm1YAkM].mp4", "id" => "JIxChm1YAkM", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/JIxChm1YAkM", "playlist_index" => 4, "timestamp" => 1776171636, "title" => "\"قرار واحد في خدمة العملاء قد يغيّر موقع شركتك في السوق", "upload_date" => "20260414"} 13:21:32.740 [debug] QUERY OK source="sources" db=0.2ms idle=729.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" IN (?)) [115] 13:21:32.740 [debug] QUERY OK source="sources" db=0.2ms 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" = ?) [115] 13:21:32.743 [debug] QUERY OK source="media_items" db=2.0ms idle=730.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-14 13:00:36Z], 115] 13:21:32.745 [debug] QUERY OK source="media_items" db=2.1ms idle=733.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" ["\"قرار واحد في خدمة العملاء قد يغيّر موقع شركتك في السوق \nفي أسواق تتشابه فيها المنتجات، تصبح جودة خدمة العملاء هي العامل الفاصل بين شركة تنافس وأخرى تقود\nهذا الرييل يوضح كيف استطاعت شركات حقيقة الانتقال من مجرد تقديم خدمة إلى بناء تجربة جعلتها في موقع القيادة.\n\n تابع السلسلة، وانضم إلى مجتمع أثر تجربة العميل لتصلك الرؤى التي تصنع الفارق داخل مؤسستك .. \n\n\nهذا المحتوى مُقدَّم من Tactful AI لمشاهدة الحلقة كاملة: رابط الحلقة هنا : https://youtu.be/vZrRbiI1e5w?si=RatAxoGAEWvpGNCz\n تاكتفُل هي نظام ذكي لإدارة التواصل مع العملاء لفرق المبيعات وخدمة العملاء. للإنضمام لمجتمع تجربة العميل من تاكتفُل، استخدم الرابط: https://tactful.ai/cx?src\"", "\"قرار واحد في خدمة العملاء قد يغيّر موقع شركتك في السوق", "95590e6b-3765-4be0-9cdb-f1999684f679", 42, false, "JIxChm1YAkM", "https://www.youtube.com/shorts/JIxChm1YAkM", 4, "/downloads/shorts/بزنس بالعربي (Business بالعربى )/بزنس بالعربي (Business بالعربى ) - 2026-04-14 - [JIxChm1YAkM].mp4", false, false, true, 115, [], 96, ~U[2026-04-14 13:00:36Z], ~U[2026-04-15 13:21:32Z], ~U[2026-04-15 13:21:32Z], "\"قرار واحد في خدمة العملاء قد يغيّر موقع شركتك في السوق \nفي أسواق تتشابه فيها المنتجات، تصبح جودة خدمة العملاء هي العامل الفاصل بين شركة تنافس وأخرى تقود\nهذا الرييل يوضح كيف استطاعت شركات حقيقة الانتقال من مجرد تقديم خدمة إلى بناء تجربة جعلتها في موقع القيادة.\n\n تابع السلسلة، وانضم إلى مجتمع أثر تجربة العميل لتصلك الرؤى التي تصنع الفارق داخل مؤسستك .. \n\n\nهذا المحتوى مُقدَّم من Tactful AI لمشاهدة الحلقة كاملة: رابط الحلقة هنا : https://youtu.be/vZrRbiI1e5w?si=RatAxoGAEWvpGNCz\n تاكتفُل هي نظام ذكي لإدارة التواصل مع العملاء لفرق المبيعات وخدمة العملاء. للإنضمام لمجتمع تجربة العميل من تاكتفُل، استخدم الرابط: https://tactful.ai/cx?src\"", "\"قرار واحد في خدمة العملاء قد يغيّر موقع شركتك في السوق", 42, false, "JIxChm1YAkM", "https://www.youtube.com/shorts/JIxChm1YAkM", "/downloads/shorts/بزنس بالعربي (Business بالعربى )/بزنس بالعربي (Business بالعربى ) - 2026-04-14 - [JIxChm1YAkM].mp4", true, 115, ~U[2026-04-14 13:00:36Z]] 13:21:32.746 [debug] QUERY OK source="sources" db=0.3ms idle=22.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" = ?) [115] 13:21:32.746 [debug] QUERY OK source="media_profiles" db=0.3ms idle=6.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 13:21:32.747 [debug] QUERY OK source="media_items" db=0.3ms idle=6.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4700071] 13:21:32.747 [debug] Current batch of media processed. Will check again in 1000ms 13:21:33.730 [debug] Current batch of media processed. Will check again in 1000ms 13:21:33.748 [debug] Current batch of media processed. Will check again in 1000ms 13:21:34.731 [debug] Current batch of media processed. Will check again in 1000ms 13:21:34.749 [debug] Current batch of media processed. Will check again in 1000ms 13:21:35.732 [debug] Current batch of media processed. Will check again in 1000ms 13:21:35.750 [debug] Current batch of media processed. Will check again in 1000ms 13:21:36.733 [debug] Current batch of media processed. Will check again in 1000ms 13:21:36.751 [debug] Current batch of media processed. Will check again in 1000ms 13:21:37.734 [debug] Current batch of media processed. Will check again in 1000ms 13:21:37.752 [debug] Current batch of media processed. Will check again in 1000ms 13:21:38.735 [debug] Current batch of media processed. Will check again in 1000ms 13:21:38.753 [debug] Current batch of media processed. Will check again in 1000ms 13:21:39.736 [debug] Current batch of media processed. Will check again in 1000ms 13:21:39.754 [debug] Current batch of media processed. Will check again in 1000ms 13:21:40.033 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/shorts/eyRDYDPCQII --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --sub-langs ar --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shorts/بزنس بالعربي (Business بالعربى )/بزنس بالعربي (Business بالعربى ) - %(upload_date>%Y-%m-%d)S - [%(id)S].%(ext)S --config-locations /config/extras/yt-dlp-configs/base-config.txt --print-to-file after_move:%()j /tmp/pinchflat/data/46/5e/465e691323d7b227c7c28d4cad92b464f70cfab2c9f468ff15e14e52b9facc63.json --sleep-requests 5 --sleep-interval 5 --sleep-subtitles 5 --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: The extractor specified to use impersonation for this download, but no impersonate target is available. If you encounter errors, then see https://github.com/yt-dlp/yt-dlp#impersonation for information on installing the required dependencies 13:21:40.060 [debug] Running yt-dlp command for action: download_thumbnail 13:21:40.061 [debug] QUERY OK source="settings" db=0.2ms 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 [] 13:21:40.061 [debug] QUERY OK source="settings" db=0.1ms idle=51.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:40.062 [debug] QUERY OK source="settings" db=0.1ms idle=51.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:40.062 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/shorts/eyRDYDPCQII --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/4703684/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/8b/0d/8b0dee587e5f3f6d9580a830b0119df4903b3880a003872874a7a09e7bb7e1e6.json --sleep-requests 5 --sleep-interval 4 --sleep-subtitles 4 --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:21:40.737 [debug] Current batch of media processed. Will check again in 1000ms 13:21:40.755 [debug] Current batch of media processed. Will check again in 1000ms 13:21:41.082 [info] GET /sources/45/media/4702300/force_download 13:21:41.083 [debug] QUERY OK source="settings" db=0.1ms idle=1072.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:21:41.083 [debug] QUERY OK source="settings" db=0.1ms idle=1022.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:41.083 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 13:21:41.084 [error] #PID<0.6037.0> running PinchflatWeb.Endpoint (connection #PID<0.6036.0>, stream id 1) terminated Server: jak.hibeex.com:80 (http) Request: GET /sources/45/media/4702300/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/45/media/4702300/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.6036.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/45/media/4702300/force_download", host: "jak.hibeex.com", peer: {{172, 22, 0, 1}, 46384}, bindings: %{}, sock: {{172, 22, 0, 4}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "connection" => "close", "host" => "jak.hibeex.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.63", "x-forwarded-proto" => "https", "x-real-ip" => "216.73.216.63" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "jak.hibeex.com", method: "GET", owner: #PID<0.6037.0>, params: %{}, path_info: ["sources", "45", "media", "4702300", "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://jak.hibeex.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 22, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"connection", "close"}, {"host", "jak.hibeex.com"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"x-forwarded-for", "216.73.216.63"}, {"x-forwarded-proto", "https"}, {"x-real-ip", "216.73.216.63"} ], request_path: "/sources/45/media/4702300/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKaKbF4HeOplsl8AA9SB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.6036.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/45/media/4702300/force_download", host: "jak.hibeex.com", peer: {{172, 22, 0, 1}, 46384}, bindings: %{}, sock: {{172, 22, 0, 4}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "connection" => "close", "host" => "jak.hibeex.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.63", "x-forwarded-proto" => "https", "x-real-ip" => "216.73.216.63" }, method: "GET", body_length: 0, path_info: :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/45/media/4702300/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.6036.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/45/media/4702300/force_download", host: "jak.hibeex.com", peer: {{172, 22, 0, 1}, 46384}, bindings: %{}, sock: {{172, 22, 0, 4}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "connection" => "close", "host" => "jak.hibeex.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.63", "x-forwarded-proto" => "https", "x-real-ip" => "216.73.216.63" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "jak.hibeex.com", method: "GET", owner: #PID<0.6037.0>, params: %{}, path_info: ["sources", "45", "media", "4702300", "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://jak.hibeex.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 22, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"connection", "close"}, {"host", "jak.hibeex.com"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"x-forwarded-for", "216.73.216.63"}, {"x-forwarded-proto", "https"}, {"x-real-ip", "216.73.216.63"} ], request_path: "/sources/45/media/4702300/force_download", resp_body: nil, resp_cookies: %{}, (truncated) 13:21:41.197 [info] GET /sources/346/media/4702252/force_download 13:21:41.198 [debug] QUERY OK source="settings" db=0.1ms idle=1136.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:41.198 [debug] QUERY OK source="settings" db=0.2ms idle=1136.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:41.198 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 13:21:41.199 [error] #PID<0.6039.0> running PinchflatWeb.Endpoint (connection #PID<0.6038.0>, stream id 1) terminated Server: jak.hibeex.com:80 (http) Request: GET /sources/346/media/4702252/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/346/media/4702252/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.6038.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/346/media/4702252/force_download", host: "jak.hibeex.com", peer: {{172, 22, 0, 1}, 46390}, bindings: %{}, sock: {{172, 22, 0, 4}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "connection" => "close", "host" => "jak.hibeex.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.63", "x-forwarded-proto" => "https", "x-real-ip" => "216.73.216.63" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "jak.hibeex.com", method: "GET", owner: #PID<0.6039.0>, params: %{}, path_info: ["sources", "346", "media", "4702252", "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://jak.hibeex.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 22, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"connection", "close"}, {"host", "jak.hibeex.com"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"x-forwarded-for", "216.73.216.63"}, {"x-forwarded-proto", "https"}, {"x-real-ip", "216.73.216.63"} ], request_path: "/sources/346/media/4702252/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKaKbGTi8KCFy4oAA9UB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.6038.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/346/media/4702252/force_download", host: "jak.hibeex.com", peer: {{172, 22, 0, 1}, 46390}, bindings: %{}, sock: {{172, 22, 0, 4}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "connection" => "close", "host" => "jak.hibeex.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.63", "x-forwarded-proto" => "https", "x-real-ip" => "216.73.216.63" }, method: "GET", body_length: 0, path_info: :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/346/media/4702252/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.6038.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/346/media/4702252/force_download", host: "jak.hibeex.com", peer: {{172, 22, 0, 1}, 46390}, bindings: %{}, sock: {{172, 22, 0, 4}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "connection" => "close", "host" => "jak.hibeex.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.63", "x-forwarded-proto" => "https", "x-real-ip" => "216.73.216.63" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "jak.hibeex.com", method: "GET", owner: #PID<0.6039.0>, params: %{}, path_info: ["sources", "346", "media", "4702252", "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://jak.hibeex.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 22, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"connection", "close"}, {"host", "jak.hibeex.com"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"x-forwarded-for", "216.73.216.63"}, {"x-forwarded-proto", "https"}, {"x-real-ip", "216.73.216.63"} ], request_path: "/sources/346/media/4702252/force_download", resp_body: nil, resp_cookies: (truncated) 13:21:41.738 [debug] Current batch of media processed. Will check again in 1000ms 13:21:41.756 [debug] Current batch of media processed. Will check again in 1000ms 13:21:42.739 [debug] Current batch of media processed. Will check again in 1000ms 13:21:42.757 [debug] Current batch of media processed. Will check again in 1000ms 13:21:43.095 [info] {"source":"oban","duration":17879,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:21:43.740 [debug] Current batch of media processed. Will check again in 1000ms 13:21:43.758 [debug] Current batch of media processed. Will check again in 1000ms 13:21:44.741 [debug] Current batch of media processed. Will check again in 1000ms 13:21:44.759 [debug] Current batch of media processed. Will check again in 1000ms 13:21:45.742 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "", "duration" => 77, "filename" => "/downloads/shorts/بودكاست الأحرار/بودكاست الأحرار - 2025-07-05 - [Gu_pL1q3kzQ].mp4", "id" => "Gu_pL1q3kzQ", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/Gu_pL1q3kzQ", "playlist_index" => 16, "timestamp" => 1751730911, "title" => "نحن شعوب عاطفية.. وهذه مشكلتنا!!", "upload_date" => "20250705"} 13:21:45.742 [debug] QUERY OK source="sources" db=0.2ms idle=995.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" IN (?)) [372] 13:21:45.743 [debug] QUERY OK source="sources" db=0.1ms idle=732.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [372] 13:21:45.743 [debug] QUERY OK source="media_items" db=0.3ms idle=733.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-07-05 15:55:11Z], 372] 13:21:45.745 [debug] QUERY OK source="media_items" db=0.7ms idle=734.0ms INSERT INTO "media_items" AS m0 ("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) 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" ["نحن شعوب عاطفية.. وهذه مشكلتنا!!", "c45806a5-fe69-4582-b506-5f28332563dd", 77, false, "Gu_pL1q3kzQ", "https://www.youtube.com/shorts/Gu_pL1q3kzQ", 16, "/downloads/shorts/بودكاست الأحرار/بودكاست الأحرار - 2025-07-05 - [Gu_pL1q3kzQ].mp4", false, false, true, 372, [], 98, ~U[2025-07-05 15:55:11Z], ~U[2026-04-15 13:21:45Z], ~U[2026-04-15 13:21:45Z], "", "نحن شعوب عاطفية.. وهذه مشكلتنا!!", 77, false, "Gu_pL1q3kzQ", "https://www.youtube.com/shorts/Gu_pL1q3kzQ", "/downloads/shorts/بودكاست الأحرار/بودكاست الأحرار - 2025-07-05 - [Gu_pL1q3kzQ].mp4", true, 372, ~U[2025-07-05 15:55:11Z]] 13:21:45.745 [debug] QUERY OK source="sources" db=0.2ms idle=735.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" = ?) [372] 13:21:45.746 [debug] QUERY OK source="media_profiles" db=0.4ms 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" = ?) [2] 13:21:45.746 [debug] QUERY OK source="media_items" db=0.4ms idle=3.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 [4631087] 13:21:45.747 [debug] Current batch of media processed. Will check again in 1000ms 13:21:45.760 [debug] Current batch of media processed. Will check again in 1000ms 13:21:46.748 [debug] Current batch of media processed. Will check again in 1000ms 13:21:46.761 [debug] Current batch of media processed. Will check again in 1000ms 13:21:47.749 [debug] Current batch of media processed. Will check again in 1000ms 13:21:47.762 [debug] Current batch of media processed. Will check again in 1000ms 13:21:48.750 [debug] Current batch of media processed. Will check again in 1000ms 13:21:48.763 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "\"أهم مهارة ممكن أي حد يشتغل عليها سواء مدير أو صاحب بزنس هي الوعي الذاتي، لأن فهمك لنفسك بيأثر بشكل مباشر على قراراتك وطريقة إدارتك وتعاملاتك مع الناس، لما تبقى عارف نقاط قوتك وضعفك وطريقة تفكيرك وردود أفعالك، بتبقى أهدى في قراراتك وأوضح في رؤيتك، وبتعرف إمتى تاخد خطوة وإمتى تراجع نفسك، المشكلة إن ناس كتير بتركز على تطوير المهارات الخارجية وتنسى الأساس اللي بيحرك كل ده، وهو وعيك بنفسك، لأن أي تطوير حقيقي بيبدأ من جواك مش من بره. \n\n🟧 ضيف الحلقة هو: حنان ناجي الرئيس التنفيذي لشركة HNI \n🔸شاهد الحلقة على يوتيوب: https://youtu.be/zc1bbX25FMY\n🔶خليك ديماً متابع الجديد في مكان واحد وحمل تطبيق بزنس بالعربي👇\nhttps://m.mtrbio.com/BBA-Application\n\nهذه الحلقـــة برعايــــة: \n📌 Hydepark Developments\nإحدى أبرز شركات التطوير العقاري في مصر، بخبرة تمتد لـ15 عامًا، ومحفظة مشروعات متنوعة تضم 8 تطويرات بحضور قوي في شمال وشرق وغرب القاهرة، زُر موقع Hydepark Developments من خلال https://www.hydeparkdevelopments.com/ar/who-we-are\n\n📌 CIB \nكونك عميل CIB Business Banking يعني أنك تستفيد من أفضل المنتجات والحلول المالية وغير المالية، بالإضافة إلى خدمات مخصصة تلبي احتياجات شركتك، مع دعم مستمر يضمن لك راحة البال لتتمكن من التركيز على نمو أعمالك. وللتعرف على المزيد، أرسل كلمة \"\"بيزنس\"\" في رسالة نصية إلى الرقم 4435.\n \nhttps://share.google/gdK9EUdVpgkNRVd28\"", "duration" => 70, "filename" => "/downloads/shorts/بزنس بالعربي (Business بالعربى )/بزنس بالعربي (Business بالعربى ) - 2026-04-14 - [akmzdnXcGPk].mp4", "id" => "akmzdnXcGPk", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/akmzdnXcGPk", "playlist_index" => 5, "timestamp" => 1776165444, "title" => "المهارة اللي بتحدد كل قراراتك - حنان ناجي", "upload_date" => "20260414"} 13:21:48.764 [debug] QUERY OK source="sources" db=0.1ms idle=1753.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" IN (?)) [115] 13:21:48.764 [debug] QUERY OK source="sources" db=0.1ms idle=1754.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" = ?) [115] 13:21:48.766 [debug] QUERY OK source="media_items" db=2.0ms idle=1754.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-14 11:17:24Z], 115] 13:21:48.769 [debug] QUERY OK source="media_items" db=1.6ms idle=1016.3ms 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" ["\"أهم مهارة ممكن أي حد يشتغل عليها سواء مدير أو صاحب بزنس هي الوعي الذاتي، لأن فهمك لنفسك بيأثر بشكل مباشر على قراراتك وطريقة إدارتك وتعاملاتك مع الناس، لما تبقى عارف نقاط قوتك وضعفك وطريقة تفكيرك وردود أفعالك، بتبقى أهدى في قراراتك وأوضح في رؤيتك، وبتعرف إمتى تاخد خطوة وإمتى تراجع نفسك، المشكلة إن ناس كتير بتركز على تطوير المهارات الخارجية وتنسى الأساس اللي بيحرك كل ده، وهو وعيك بنفسك، لأن أي تطوير حقيقي بيبدأ من جواك مش من بره. \n\n🟧 ضيف الحلقة هو: حنان ناجي الرئيس التنفيذي لشركة HNI \n🔸شاهد الحلقة على يوتيوب: https://youtu.be/zc1bbX25FMY\n🔶خليك ديماً متابع الجديد في مكان واحد وحمل تطبيق بزنس بالعربي👇\nhttps://m.mtrbio.com/BBA-Application\n\nهذه الحلقـــة برعايــــة: \n📌 Hydepark Developments\nإحدى أبرز شركات التطوير العقاري في مصر، بخبرة تمتد لـ15 عامًا، ومحفظة مشروعات متنوعة تضم 8 تطويرات بحضور قوي في شمال وشرق وغرب القاهرة، زُر موقع Hydepark Developments من خلال https://www.hydeparkdevelopments.com/ar/who-we-are\n\n📌 CIB \nكونك عميل CIB Business Banking يعني أنك تستفيد من أفضل المنتجات والحلول المالية وغير المالية، بالإضافة إلى خدمات مخصصة تلبي احتياجات شركتك، مع دعم مستمر يضمن لك راحة البال لتتمكن من التركيز على نمو أعمالك. وللتعرف على المزيد، أرسل كلمة \"\"بيزنس\"\" في رسالة نصية إلى الرقم 4435.\n \nhttps://share.google/gdK9EUdVpgkNRVd28\"", "المهارة اللي بتحدد كل قراراتك - حنان ناجي", "ef75a8d4-0e2e-4f8b-8a9f-68dd81bc7f70", 70, false, "akmzdnXcGPk", "https://www.youtube.com/shorts/akmzdnXcGPk", 5, "/downloads/shorts/بزنس بالعربي (Business بالعربى )/بزنس بالعربي (Business بالعربى ) - 2026-04-14 - [akmzdnXcGPk].mp4", false, false, true, 115, [], 96, ~U[2026-04-14 11:17:24Z], ~U[2026-04-15 13:21:48Z], ~U[2026-04-15 13:21:48Z], "\"أهم مهارة ممكن أي حد يشتغل عليها سواء مدير أو صاحب بزنس هي الوعي الذاتي، لأن فهمك لنفسك بيأثر بشكل مباشر على قراراتك وطريقة إدارتك وتعاملاتك مع الناس، لما تبقى عارف نقاط قوتك وضعفك وطريقة تفكيرك وردود أفعالك، بتبقى أهدى في قراراتك وأوضح في رؤيتك، وبتعرف إمتى تاخد خطوة وإمتى تراجع نفسك، المشكلة إن ناس كتير بتركز على تطوير المهارات الخارجية وتنسى الأساس اللي بيحرك كل ده، وهو وعيك بنفسك، لأن أي تطوير حقيقي بيبدأ من جواك مش من بره. \n\n🟧 ضيف الحلقة هو: حنان ناجي الرئيس التنفيذي لشركة HNI \n🔸شاهد الحلقة على يوتيوب: https://youtu.be/zc1bbX25FMY\n🔶خليك ديماً متابع الجديد في مكان واحد وحمل تطبيق بزنس بالعربي👇\nhttps://m.mtrbio.com/BBA-Application\n\nهذه الحلقـــة برعايــــة: \n📌 Hydepark Developments\nإحدى أبرز شركات التطوير العقاري في مصر، بخبرة تمتد لـ15 عامًا، ومحفظة مشروعات متنوعة تضم 8 تطويرات بحضور قوي في شمال وشرق وغرب القاهرة، زُر موقع Hydepark Developments من خلال https://www.hydeparkdevelopments.com/ar/who-we-are\n\n📌 CIB \nكونك عميل CIB Business Banking يعني أنك تستفيد من أفضل المنتجات والحلول المالية وغير المالية، بالإضافة إلى خدمات مخصصة تلبي احتياجات شركتك، مع دعم مستمر يضمن لك راحة البال لتتمكن من التركيز على نمو أعمالك. وللتعرف على المزيد، أرسل كلمة \"\"بيزنس\"\" في رسالة نصية إلى الرقم 4435.\n \nhttps://share.google/gdK9EUdVpgkNRVd28\"", "المهارة اللي بتحدد كل قراراتك - حنان ناجي", 70, false, "akmzdnXcGPk", "https://www.youtube.com/shorts/akmzdnXcGPk", "/downloads/shorts/بزنس بالعربي (Business بالعربى )/بزنس بالعربي (Business بالعربى ) - 2026-04-14 - [akmzdnXcGPk].mp4", true, 115, ~U[2026-04-14 11:17:24Z]] 13:21:48.769 [debug] QUERY OK source="sources" db=0.3ms idle=17.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [115] 13:21:48.770 [debug] QUERY OK source="media_profiles" db=0.2ms idle=5.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 13:21:48.771 [debug] QUERY OK source="media_items" db=0.3ms idle=6.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 [4700073] 13:21:48.771 [debug] Current batch of media processed. Will check again in 1000ms 13:21:49.751 [debug] Current batch of media processed. Will check again in 1000ms 13:21:49.772 [debug] Current batch of media processed. Will check again in 1000ms 13:21:49.774 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/shorts/kSnig4AsIg4 --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --sub-langs ar --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shorts/بزنس بالعربي (Business بالعربى )/بزنس بالعربي (Business بالعربى ) - %(upload_date>%Y-%m-%d)S - [%(id)S].%(ext)S --config-locations /config/extras/yt-dlp-configs/base-config.txt --print-to-file after_move:%()j /tmp/pinchflat/data/8d/37/8d37e051a2b877177ddd9231b334f86ef62e291ae2e7e72044247c5e224e301e.json --sleep-requests 5 --sleep-interval 4 --sleep-subtitles 5 --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: The extractor specified to use impersonation for this download, but no impersonate target is available. If you encounter errors, then see https://github.com/yt-dlp/yt-dlp#impersonation for information on installing the required dependencies 13:21:49.799 [debug] Running yt-dlp command for action: download_thumbnail 13:21:49.800 [debug] QUERY OK source="settings" db=0.1ms idle=1031.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:49.801 [debug] QUERY OK source="settings" db=0.1ms idle=1031.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:49.801 [debug] QUERY OK source="settings" db=0.1ms idle=1030.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:49.801 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/shorts/kSnig4AsIg4 --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/4703686/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/af/0d/af0df928ea1a92ce28a1ff2aa0b74679de303d68288f8703ccbcd89227e442f3.json --sleep-requests 4 --sleep-interval 4 --sleep-subtitles 4 --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:21:50.752 [debug] Current batch of media processed. Will check again in 1000ms 13:21:50.773 [debug] Current batch of media processed. Will check again in 1000ms 13:21:51.753 [debug] Current batch of media processed. Will check again in 1000ms 13:21:51.774 [debug] Current batch of media processed. Will check again in 1000ms 13:21:52.754 [debug] Current batch of media processed. Will check again in 1000ms 13:21:52.775 [debug] Current batch of media processed. Will check again in 1000ms 13:21:53.755 [debug] Current batch of media processed. Will check again in 1000ms 13:21:53.776 [debug] Current batch of media processed. Will check again in 1000ms 13:21:54.756 [debug] Current batch of media processed. Will check again in 1000ms 13:21:54.777 [debug] Current batch of media processed. Will check again in 1000ms 13:21:54.958 [info] GET /sources/237/media/2045740 13:21:54.958 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "2045740", "prevent_download" => "true", "source_id" => "237"} Pipelines: [:browser] 13:21:54.959 [debug] QUERY OK source="media_items" db=0.1ms idle=1948.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" = ?) [2045740] 13:21:54.959 [debug] QUERY OK source="tasks" db=0.1ms idle=1949.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" [2045740] 13:21:54.959 [debug] QUERY OK source="sources" db=0.3ms 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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [237] 13:21:54.960 [debug] QUERY OK source="settings" db=0.1ms idle=949.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:54.960 [debug] QUERY OK source="settings" db=0.1ms idle=198.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:54.961 [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 [] 13:21:54.962 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 13:21:54.963 [info] Sent 200 in 4ms 13:21:55.757 [debug] Current batch of media processed. Will check again in 1000ms 13:21:55.778 [debug] Current batch of media processed. Will check again in 1000ms 13:21:56.758 [debug] Current batch of media processed. Will check again in 1000ms 13:21:56.779 [debug] Current batch of media processed. Will check again in 1000ms 13:21:57.759 [debug] Current batch of media processed. Will check again in 1000ms 13:21:57.780 [debug] Current batch of media processed. Will check again in 1000ms 13:21:58.760 [debug] Current batch of media processed. Will check again in 1000ms 13:21:58.781 [debug] Current batch of media processed. Will check again in 1000ms 13:21:59.761 [debug] Current batch of media processed. Will check again in 1000ms 13:21:59.782 [debug] Current batch of media processed. Will check again in 1000ms 13:22:00.762 [debug] Current batch of media processed. Will check again in 1000ms 13:22:00.783 [debug] Current batch of media processed. Will check again in 1000ms 13:22:00.858 [info] {"source":"oban","duration":120,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:22:01.763 [debug] Current batch of media processed. Will check again in 1000ms 13:22:01.784 [debug] Current batch of media processed. Will check again in 1000ms 13:22:02.764 [debug] Current batch of media processed. Will check again in 1000ms 13:22:02.785 [debug] Current batch of media processed. Will check again in 1000ms 13:22:03.765 [debug] Current batch of media processed. Will check again in 1000ms 13:22:03.786 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "\"عشان تنجح محتاج تتعلم تزهق\"\nنصيحة غالية ومهمه لـ Gen Z من صلاح ابو المجد في Egypt career Summit، وضرورة ان يكون عندنا إلتزام وانضباط عشان نقدر نحقق اهدافنا، شوف الفيديو وإعرف صلاح بينصح بإيه تاني.", "duration" => 90, "filename" => "/downloads/shorts/بزنس بالعربي (Business بالعربى )/بزنس بالعربي (Business بالعربى ) - 2026-04-09 - [Zs7E3H0vVd8].mp4", "id" => "Zs7E3H0vVd8", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/Zs7E3H0vVd8", "playlist_index" => 6, "timestamp" => 1775758999, "title" => "\"عشان تنجح محتاج تتعلم تزهق\"", "upload_date" => "20260409"} 13:22:03.786 [debug] QUERY OK source="sources" db=0.2ms idle=1776.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" IN (?)) [115] 13:22:03.787 [debug] QUERY OK source="sources" db=0.1ms idle=1776.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" = ?) [115] 13:22:03.789 [debug] QUERY OK source="media_items" db=2.0ms idle=1777.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-09 18:23:19Z], 115] 13:22:03.790 [debug] QUERY OK source="media_items" db=0.9ms idle=1015.7ms 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" ["\"عشان تنجح محتاج تتعلم تزهق\"\nنصيحة غالية ومهمه لـ Gen Z من صلاح ابو المجد في Egypt career Summit، وضرورة ان يكون عندنا إلتزام وانضباط عشان نقدر نحقق اهدافنا، شوف الفيديو وإعرف صلاح بينصح بإيه تاني.", "\"عشان تنجح محتاج تتعلم تزهق\"", "c32e3ccb-72a1-4e13-a3ae-e832bfd561ff", 90, false, "Zs7E3H0vVd8", "https://www.youtube.com/shorts/Zs7E3H0vVd8", 6, "/downloads/shorts/بزنس بالعربي (Business بالعربى )/بزنس بالعربي (Business بالعربى ) - 2026-04-09 - [Zs7E3H0vVd8].mp4", false, false, true, 115, [], 98, ~U[2026-04-09 18:23:19Z], ~U[2026-04-15 13:22:03Z], ~U[2026-04-15 13:22:03Z], "\"عشان تنجح محتاج تتعلم تزهق\"\nنصيحة غالية ومهمه لـ Gen Z من صلاح ابو المجد في Egypt career Summit، وضرورة ان يكون عندنا إلتزام وانضباط عشان نقدر نحقق اهدافنا، شوف الفيديو وإعرف صلاح بينصح بإيه تاني.", "\"عشان تنجح محتاج تتعلم تزهق\"", 90, false, "Zs7E3H0vVd8", "https://www.youtube.com/shorts/Zs7E3H0vVd8", "/downloads/shorts/بزنس بالعربي (Business بالعربى )/بزنس بالعربي (Business بالعربى ) - 2026-04-09 - [Zs7E3H0vVd8].mp4", true, 115, ~U[2026-04-09 18:23:19Z]] 13:22:03.791 [debug] QUERY OK source="sources" db=0.8ms idle=15.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" = ?) [115] 13:22:03.792 [debug] QUERY OK source="media_profiles" db=0.2ms idle=5.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 13:22:03.793 [debug] QUERY OK source="media_items" db=0.4ms 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 [4684896] 13:22:03.793 [debug] Current batch of media processed. Will check again in 1000ms 13:22:04.766 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "", "duration" => 88, "filename" => "/downloads/shorts/بودكاست الأحرار/بودكاست الأحرار - 2025-07-04 - [6QJy8rTo06A].mp4", "id" => "6QJy8rTo06A", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/6QJy8rTo06A", "playlist_index" => 17, "timestamp" => 1751635630, "title" => "حين تُهان قيمة العلم.. د. رقية تتحدث عن الأثر العميق لذلك", "upload_date" => "20250704"} 13:22:04.767 [debug] QUERY OK source="sources" db=0.5ms idle=977.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" IN (?)) [372] 13:22:04.767 [debug] QUERY OK source="sources" db=0.2ms idle=976.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" = ?) [372] 13:22:04.768 [debug] QUERY OK source="media_items" db=0.3ms idle=976.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-07-04 13:27:10Z], 372] 13:22:04.769 [debug] QUERY OK source="media_items" db=0.6ms idle=976.2ms INSERT INTO "media_items" AS m0 ("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) 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" ["حين تُهان قيمة العلم.. د. رقية تتحدث عن الأثر العميق لذلك", "0c08117f-8eec-4472-98b9-2cc2d6a8f785", 88, false, "6QJy8rTo06A", "https://www.youtube.com/shorts/6QJy8rTo06A", 17, "/downloads/shorts/بودكاست الأحرار/بودكاست الأحرار - 2025-07-04 - [6QJy8rTo06A].mp4", false, false, true, 372, [], 98, ~U[2025-07-04 13:27:10Z], ~U[2026-04-15 13:22:04Z], ~U[2026-04-15 13:22:04Z], "", "حين تُهان قيمة العلم.. د. رقية تتحدث عن الأثر العميق لذلك", 88, false, "6QJy8rTo06A", "https://www.youtube.com/shorts/6QJy8rTo06A", "/downloads/shorts/بودكاست الأحرار/بودكاست الأحرار - 2025-07-04 - [6QJy8rTo06A].mp4", true, 372, ~U[2025-07-04 13:27:10Z]] 13:22:04.770 [debug] QUERY OK source="sources" db=0.3ms idle=976.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" = ?) [372] 13:22:04.770 [debug] QUERY OK source="media_profiles" db=0.3ms 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" = ?) [2] 13:22:04.771 [debug] QUERY OK source="media_items" db=0.3ms idle=3.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 [4631089] 13:22:04.771 [debug] Current batch of media processed. Will check again in 1000ms 13:22:04.794 [debug] Current batch of media processed. Will check again in 1000ms 13:22:05.772 [debug] Current batch of media processed. Will check again in 1000ms 13:22:05.795 [debug] Current batch of media processed. Will check again in 1000ms 13:22:06.773 [debug] Current batch of media processed. Will check again in 1000ms 13:22:06.796 [debug] Current batch of media processed. Will check again in 1000ms 13:22:07.291 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/shorts/eyRDYDPCQII --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/4703684/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/8b/0d/8b0dee587e5f3f6d9580a830b0119df4903b3880a003872874a7a09e7bb7e1e6.json --sleep-requests 5 --sleep-interval 4 --sleep-subtitles 4 --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Unable to download webpage: HTTP Error 429: Too Many Requests (caused by ) 13:22:07.291 [debug] QUERY OK db=0.0ms idle=1281.4ms begin [] 13:22:07.292 [debug] QUERY OK source="media_items" db=0.6ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "subtitle_filepaths" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-04-15 13:21:40Z], "/downloads/shorts/بزنس بالعربي (Business بالعربى )/بزنس بالعربي (Business بالعربى ) - 2026-04-15 - [eyRDYDPCQII].mp4", [["ar", "/downloads/shorts/بزنس بالعربي (Business بالعربى )/بزنس بالعربي (Business بالعربى ) - 2026-04-15 - [eyRDYDPCQII].ar.srt"]], ~U[2026-04-15 13:22:07Z], 4703684] 13:22:07.293 [debug] QUERY OK source="media_metadata" db=0.4ms INSERT INTO "media_metadata" ("metadata_filepath","thumbnail_filepath","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5) RETURNING "id" ["/config/metadata/media_items/4703684/metadata.json.gz", "/config/metadata/media_items/4703684/thumbnail.jpg", 4703684, ~U[2026-04-15 13:22:07Z], ~U[2026-04-15 13:22:07Z]] 13:22:07.293 [debug] QUERY OK db=0.2ms commit [] 13:22:07.295 [debug] QUERY OK source="media_items" db=0.9ms idle=1283.8ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [2395741, ~U[2026-04-15 13:22:07Z], 4703684] 13:22:07.295 [info] [command_wrapper]: /config/extras/user-scripts/lifecycle called with: [suppressed] 13:22:07.699 [debug] [command_wrapper]: /config/extras/user-scripts/lifecycle called with: [suppressed] exited: 0 with: [lifecycle] Installing yt-dlp Python package and PO token plugin... [lifecycle] PO token plugin setup complete 13:22:07.700 [info] {"args":{"id":4703684},"id":2192103,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":84021909,"event":"job:stop","queue_time":677103,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:22:07.706 [info] {"args":{"id":4703688},"id":2192106,"meta":{},"system_time":1776259327706771486,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:22:07.707 [debug] QUERY OK source="media_items" db=0.2ms idle=925.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" = ?) [4703688] 13:22:07.707 [debug] QUERY OK source="sources" db=0.3ms idle=413.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" = ?) [115] 13:22:07.708 [debug] QUERY OK source="media_profiles" db=0.3ms idle=412.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" = ?) [2] 13:22:07.708 [info] [command_wrapper]: /config/extras/user-scripts/lifecycle called with: [suppressed] 13:22:07.774 [debug] Current batch of media processed. Will check again in 1000ms 13:22:07.790 [info] {"args":{"id":171},"id":2192071,"meta":{},"system_time":1776259327789989577,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:22:07.790 [debug] QUERY OK source="sources" db=0.2ms idle=82.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" = ?) [171] 13:22:07.791 [debug] QUERY OK source="settings" db=0.2ms idle=82.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:22:07.791 [debug] QUERY OK source="media_profiles" db=0.2ms idle=82.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" = ?) [2] 13:22:07.792 [debug] QUERY OK source="settings" db=0.3ms idle=8.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:22:07.792 [debug] Fetching recent media IDs from YouTube API for playlist: UUPCJJLOkkiG_nO9lZkfXnjw 13:22:07.792 [debug] QUERY OK source="settings" db=0.1ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:22:07.792 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 13:22:07.797 [debug] Current batch of media processed. Will check again in 1000ms 13:22:08.076 [debug] QUERY OK source="media_items" db=1.3ms idle=284.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [171, "VFX3pYhqhMc", "8akbqnY6xfo", "mQGq7-_ZQpk", "DvU-9b-WRJQ", "qcVMc5qMHMc", "ZyaHtWeeQJo", "ObsLfR-eCfU", "wlrCH1ymC38", "BClWowlDc8Y", "IURONY7yLa0", "tXm7P3osDUM", "fEJp3H2bGIY", "ckYlSSk9ZDY", "6eKiHxor-8w", "m4s-6oJifb4", "J4KgJCBFs3I", "JJX9_mf8FpA", "KYuy8_X3KnQ", "fAKwe1CyPFQ", "25U_zUTaGl4", "OH-Lamsjd9Q", "hswGipBbpOs", "xy6xhSL7UCs", "VV-71sXr_Eg", "GtzJpE7Immk", "rrHhJaJ4PnE", "baWEivZpZpo", "eBYlWe7Cr7U", "k2AXmp7yS9A", "Y2M9tN8gnj0", "6ma-PaQ-e6c", "JOeBw_6a5XU", "LXdTRc3Tzu4", "owNOuAsIk5U", "us6iLwMmGKE", "GaGQuySKjYQ", "LaU1HhuupRQ", "SI-1fDbu4ss", "VgyfdGRM4Pc", "rHAI52w5zxs", "lzGGMh8vkyc", "NoqX1AM-4VA", "UH4xsNgVKrU", "0mT-lxX7dLo", "YuJWnY0puNw", "_BC4l__ihhY", "yH5YAprPCA0", "JKxMb-Ky2P0", "kA0vffcJPD4", ...] 13:22:08.078 [debug] QUERY OK source="media_items" db=1.2ms idle=286.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")))) [171] 13:22:08.080 [debug] QUERY OK source="tasks" db=0.4ms idle=287.8ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2192108, 171, ~U[2026-04-15 13:22:08Z], ~U[2026-04-15 13:22:08Z]] 13:22:08.081 [info] {"args":{"id":171},"id":2192071,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":290835,"event":"job:stop","queue_time":500037,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:22:08.115 [debug] [command_wrapper]: /config/extras/user-scripts/lifecycle called with: [suppressed] exited: 0 with: [lifecycle] Installing yt-dlp Python package and PO token plugin... [lifecycle] PO token plugin setup complete 13:22:08.116 [debug] QUERY OK source="sources" db=0.3ms idle=36.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" = ?) [115] 13:22:08.116 [debug] QUERY OK source="media_profiles" db=0.2ms idle=36.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 13:22:08.117 [debug] QUERY OK source="media_items" db=0.3ms idle=36.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4703688] 13:22:08.121 [debug] QUERY OK source="media_metadata" db=0.1ms idle=40.1ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [4703688] 13:22:08.121 [debug] QUERY OK source="media_profiles" db=0.1ms idle=33.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" = ?) [2] 13:22:08.122 [debug] QUERY OK source="settings" db=0.1ms idle=5.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:22:08.122 [debug] QUERY OK source="settings" db=0.1ms idle=5.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:22:08.122 [debug] Running yt-dlp command for action: get_downloadable_status 13:22:08.123 [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 [] 13:22:08.123 [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 [] 13:22:08.123 [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 [] 13:22:08.123 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/shorts/eYwuLqxxIEU --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/eb/50/eb50a94513ab35da9289806d3ebbd7c22e7e44b82f74b4527e3b4969c39e9f7f.json --sleep-requests 4 --sleep-interval 4 --sleep-subtitles 5 --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:22:08.775 [debug] Current batch of media processed. Will check again in 1000ms 13:22:08.798 [debug] Current batch of media processed. Will check again in 1000ms 13:22:09.776 [debug] Current batch of media processed. Will check again in 1000ms 13:22:09.799 [debug] Current batch of media processed. Will check again in 1000ms 13:22:10.777 [debug] Current batch of media processed. Will check again in 1000ms 13:22:10.800 [debug] Current batch of media processed. Will check again in 1000ms 13:22:11.778 [debug] Current batch of media processed. Will check again in 1000ms 13:22:11.801 [debug] Current batch of media processed. Will check again in 1000ms 13:22:12.779 [debug] Current batch of media processed. Will check again in 1000ms 13:22:12.802 [debug] Current batch of media processed. Will check again in 1000ms 13:22:13.114 [info] {"source":"oban","duration":18136,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:22:13.180 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/shorts/kSnig4AsIg4 --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/4703686/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/af/0d/af0df928ea1a92ce28a1ff2aa0b74679de303d68288f8703ccbcd89227e442f3.json --sleep-requests 4 --sleep-interval 4 --sleep-subtitles 4 --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Unable to download webpage: HTTP Error 429: Too Many Requests (caused by ) 13:22:13.181 [debug] QUERY OK db=0.0ms idle=1170.8ms begin [] 13:22:13.182 [debug] QUERY OK source="media_items" db=0.7ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "subtitle_filepaths" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-04-15 13:21:49Z], "/downloads/shorts/بزنس بالعربي (Business بالعربى )/بزنس بالعربي (Business بالعربى ) - 2026-04-15 - [kSnig4AsIg4].mp4", [["ar", "/downloads/shorts/بزنس بالعربي (Business بالعربى )/بزنس بالعربي (Business بالعربى ) - 2026-04-15 - [kSnig4AsIg4].ar.srt"]], ~U[2026-04-15 13:22:13Z], 4703686] 13:22:13.183 [debug] QUERY OK source="media_metadata" db=0.6ms INSERT INTO "media_metadata" ("metadata_filepath","thumbnail_filepath","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5) RETURNING "id" ["/config/metadata/media_items/4703686/metadata.json.gz", "/config/metadata/media_items/4703686/thumbnail.jpg", 4703686, ~U[2026-04-15 13:22:13Z], ~U[2026-04-15 13:22:13Z]] 13:22:13.183 [debug] QUERY OK db=0.3ms commit [] 13:22:13.185 [debug] QUERY OK source="media_items" db=1.4ms idle=1173.6ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [3061259, ~U[2026-04-15 13:22:13Z], 4703686] 13:22:13.185 [info] [command_wrapper]: /config/extras/user-scripts/lifecycle called with: [suppressed] 13:22:13.601 [debug] [command_wrapper]: /config/extras/user-scripts/lifecycle called with: [suppressed] exited: 0 with: [lifecycle] Installing yt-dlp Python package and PO token plugin... [lifecycle] PO token plugin setup complete 13:22:13.602 [info] {"args":{"id":4703686},"id":2192104,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":73897936,"event":"job:stop","queue_time":703056,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:22:13.780 [debug] Current batch of media processed. Will check again in 1000ms 13:22:13.803 [debug] Current batch of media processed. Will check again in 1000ms 13:22:14.781 [debug] Current batch of media processed. Will check again in 1000ms 13:22:14.804 [debug] Current batch of media processed. Will check again in 1000ms 13:22:15.782 [debug] Current batch of media processed. Will check again in 1000ms 13:22:15.805 [debug] Current batch of media processed. Will check again in 1000ms 13:22:16.783 [debug] Current batch of media processed. Will check again in 1000ms 13:22:16.806 [debug] Current batch of media processed. Will check again in 1000ms 13:22:17.784 [debug] Current batch of media processed. Will check again in 1000ms 13:22:17.807 [debug] Current batch of media processed. Will check again in 1000ms 13:22:18.785 [debug] Current batch of media processed. Will check again in 1000ms 13:22:18.808 [debug] Current batch of media processed. Will check again in 1000ms 13:22:19.786 [debug] Current batch of media processed. Will check again in 1000ms 13:22:19.809 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "لا توجد استراتيجية أقوى من عميل راضٍ\nالنمو الحقيقي لا يُشترى، ولا تصنعه الحملات التسويقية وحدها، بل يبنيه عميل حصل على قيمة حقيقية فقرر أن يتحدث عنك.\n فكّر بصدق: هل ما تقدّمه اليوم يجعل العميل يوصي بك؟\nتابع السلسلة لتفهم كيف يتحول رضا العميل إلى نمو مستدام\n\nهذا المحتوى مُقدَّم من Tactful AI لمشاهدة الحلقة كاملة:\nرابط الحلقة: \nhttps://youtu.be/jWMX-YHgPaA?si=aOY0r0GzpOoUMh1n\n\nتاكتفُل هي نظام ذكي لإدارة التواصل مع العملاء لفرق المبيعات وخدمة العملاء.\nللإنضمام لمجتمع تجربة العميل من تاكتفُل، استخدم الرابط:\nhttps://tactful.ai/fwd/vcs", "duration" => 31, "filename" => "/downloads/shorts/بزنس بالعربي (Business بالعربى )/بزنس بالعربي (Business بالعربى ) - 2026-04-08 - [uCBG0tcFlj4].mp4", "id" => "uCBG0tcFlj4", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/uCBG0tcFlj4", "playlist_index" => 7, "timestamp" => 1775653315, "title" => "لا توجد استراتيجية أقوى من عميل راضٍ", "upload_date" => "20260408"} 13:22:19.810 [debug] QUERY OK source="sources" db=0.3ms idle=799.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" IN (?)) [115] 13:22:19.810 [debug] QUERY OK source="sources" db=0.1ms idle=800.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" = ?) [115] 13:22:19.812 [debug] QUERY OK source="media_items" db=1.9ms idle=800.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-08 13:01:55Z], 115] 13:22:19.814 [debug] QUERY OK source="media_items" db=1.2ms idle=803.1ms 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" ["لا توجد استراتيجية أقوى من عميل راضٍ\nالنمو الحقيقي لا يُشترى، ولا تصنعه الحملات التسويقية وحدها، بل يبنيه عميل حصل على قيمة حقيقية فقرر أن يتحدث عنك.\n فكّر بصدق: هل ما تقدّمه اليوم يجعل العميل يوصي بك؟\nتابع السلسلة لتفهم كيف يتحول رضا العميل إلى نمو مستدام\n\nهذا المحتوى مُقدَّم من Tactful AI لمشاهدة الحلقة كاملة:\nرابط الحلقة: \nhttps://youtu.be/jWMX-YHgPaA?si=aOY0r0GzpOoUMh1n\n\nتاكتفُل هي نظام ذكي لإدارة التواصل مع العملاء لفرق المبيعات وخدمة العملاء.\nللإنضمام لمجتمع تجربة العميل من تاكتفُل، استخدم الرابط:\nhttps://tactful.ai/fwd/vcs", "لا توجد استراتيجية أقوى من عميل راضٍ", "bc5b99b4-72b3-4ced-aeda-4e851a17d70e", 31, false, "uCBG0tcFlj4", "https://www.youtube.com/shorts/uCBG0tcFlj4", 7, "/downloads/shorts/بزنس بالعربي (Business بالعربى )/بزنس بالعربي (Business بالعربى ) - 2026-04-08 - [uCBG0tcFlj4].mp4", false, false, true, 115, [], 98, ~U[2026-04-08 13:01:55Z], ~U[2026-04-15 13:22:19Z], ~U[2026-04-15 13:22:19Z], "لا توجد استراتيجية أقوى من عميل راضٍ\nالنمو الحقيقي لا يُشترى، ولا تصنعه الحملات التسويقية وحدها، بل يبنيه عميل حصل على قيمة حقيقية فقرر أن يتحدث عنك.\n فكّر بصدق: هل ما تقدّمه اليوم يجعل العميل يوصي بك؟\nتابع السلسلة لتفهم كيف يتحول رضا العميل إلى نمو مستدام\n\nهذا المحتوى مُقدَّم من Tactful AI لمشاهدة الحلقة كاملة:\nرابط الحلقة: \nhttps://youtu.be/jWMX-YHgPaA?si=aOY0r0GzpOoUMh1n\n\nتاكتفُل هي نظام ذكي لإدارة التواصل مع العملاء لفرق المبيعات وخدمة العملاء.\nللإنضمام لمجتمع تجربة العميل من تاكتفُل، استخدم الرابط:\nhttps://tactful.ai/fwd/vcs", "لا توجد استراتيجية أقوى من عميل راضٍ", 31, false, "uCBG0tcFlj4", "https://www.youtube.com/shorts/uCBG0tcFlj4", "/downloads/shorts/بزنس بالعربي (Business بالعربى )/بزنس بالعربي (Business بالعربى ) - 2026-04-08 - [uCBG0tcFlj4].mp4", true, 115, ~U[2026-04-08 13:01:55Z]] 13:22:19.815 [debug] QUERY OK source="sources" db=0.3ms idle=16.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [115] 13:22:19.816 [debug] QUERY OK source="media_profiles" db=0.3ms idle=5.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 13:22:19.816 [debug] QUERY OK source="media_items" db=0.3ms idle=5.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4681250] 13:22:19.816 [debug] Current batch of media processed. Will check again in 1000ms 13:22:20.787 [debug] Current batch of media processed. Will check again in 1000ms 13:22:20.817 [debug] Current batch of media processed. Will check again in 1000ms 13:22:21.661 [info] GET /media/3182f160-c0fe-4875-90bd-ac82de947de7/stream 13:22:21.662 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "3182f160-c0fe-4875-90bd-ac82de947de7"} Pipelines: [:maybe_basic_auth] 13:22:21.662 [debug] QUERY OK source="media_items" db=0.2ms queue=0.1ms idle=862.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" = ?) ["3182f160-c0fe-4875-90bd-ac82de947de7"] 13:22:21.663 [debug] Invalid range request for media item: 3182f160-c0fe-4875-90bd-ac82de947de7 - serving full file 13:22:21.663 [info] Sent 200 in 1ms 13:22:21.788 [debug] Current batch of media processed. Will check again in 1000ms 13:22:21.818 [debug] Current batch of media processed. Will check again in 1000ms 13:22:22.165 [info] GET /sources/346/media/4702250/force_download 13:22:22.165 [debug] QUERY OK source="settings" db=0.1ms idle=1155.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:22:22.166 [debug] QUERY OK source="settings" db=0.1ms idle=1155.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:22:22.166 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 13:22:22.166 [error] #PID<0.6059.0> running PinchflatWeb.Endpoint (connection #PID<0.6058.0>, stream id 1) terminated Server: jak.hibeex.com:80 (http) Request: GET /sources/346/media/4702250/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/346/media/4702250/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.6058.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/346/media/4702250/force_download", host: "jak.hibeex.com", peer: {{172, 22, 0, 1}, 55968}, bindings: %{}, sock: {{172, 22, 0, 4}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "connection" => "close", "host" => "jak.hibeex.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.63", "x-forwarded-proto" => "https", "x-real-ip" => "216.73.216.63" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "jak.hibeex.com", method: "GET", owner: #PID<0.6059.0>, params: %{}, path_info: ["sources", "346", "media", "4702250", "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://jak.hibeex.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 22, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"connection", "close"}, {"host", "jak.hibeex.com"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"x-forwarded-for", "216.73.216.63"}, {"x-forwarded-proto", "https"}, {"x-real-ip", "216.73.216.63"} ], request_path: "/sources/346/media/4702250/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKaKde63RD3HAAUAArSC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.6058.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/346/media/4702250/force_download", host: "jak.hibeex.com", peer: {{172, 22, 0, 1}, 55968}, bindings: %{}, sock: {{172, 22, 0, 4}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "connection" => "close", "host" => "jak.hibeex.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.63", "x-forwarded-proto" => "https", "x-real-ip" => "216.73.216.63" }, method: "GET", body_length: 0, path_info: :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/346/media/4702250/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.6058.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/346/media/4702250/force_download", host: "jak.hibeex.com", peer: {{172, 22, 0, 1}, 55968}, bindings: %{}, sock: {{172, 22, 0, 4}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "connection" => "close", "host" => "jak.hibeex.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.63", "x-forwarded-proto" => "https", "x-real-ip" => "216.73.216.63" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "jak.hibeex.com", method: "GET", owner: #PID<0.6059.0>, params: %{}, path_info: ["sources", "346", "media", "4702250", "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://jak.hibeex.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 22, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"connection", "close"}, {"host", "jak.hibeex.com"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"x-forwarded-for", "216.73.216.63"}, {"x-forwarded-proto", "https"}, {"x-real-ip", "216.73.216.63"} ], request_path: "/sources/346/media/4702250/force_download", resp_body: nil, resp_cookies: (truncated) 13:22:22.789 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "", "duration" => 52, "filename" => "/downloads/shorts/بودكاست الأحرار/بودكاست الأحرار - 2025-07-03 - [dF36XtDrOoo].mp4", "id" => "dF36XtDrOoo", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/dF36XtDrOoo", "playlist_index" => 18, "timestamp" => 1751565851, "title" => "كيف نميّز النوايا؟ وهل هناك شخص نرجسي فعلاً", "upload_date" => "20250703"} 13:22:22.789 [debug] QUERY OK source="sources" db=0.2ms idle=1779.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" IN (?)) [372] 13:22:22.790 [debug] QUERY OK source="sources" db=0.1ms idle=1127.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" = ?) [372] 13:22:22.790 [debug] QUERY OK source="media_items" db=0.3ms idle=989.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-07-03 18:04:11Z], 372] 13:22:22.792 [debug] QUERY OK source="media_items" db=0.7ms idle=625.6ms INSERT INTO "media_items" AS m0 ("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) 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" ["كيف نميّز النوايا؟ وهل هناك شخص نرجسي فعلاً", "a0240b25-fb47-4e1f-a0ce-05ac4bbfffd6", 52, false, "dF36XtDrOoo", "https://www.youtube.com/shorts/dF36XtDrOoo", 18, "/downloads/shorts/بودكاست الأحرار/بودكاست الأحرار - 2025-07-03 - [dF36XtDrOoo].mp4", false, false, true, 372, [], 98, ~U[2025-07-03 18:04:11Z], ~U[2026-04-15 13:22:22Z], ~U[2026-04-15 13:22:22Z], "", "كيف نميّز النوايا؟ وهل هناك شخص نرجسي فعلاً", 52, false, "dF36XtDrOoo", "https://www.youtube.com/shorts/dF36XtDrOoo", "/downloads/shorts/بودكاست الأحرار/بودكاست الأحرار - 2025-07-03 - [dF36XtDrOoo].mp4", true, 372, ~U[2025-07-03 18:04:11Z]] 13:22:22.792 [debug] QUERY OK source="sources" db=0.3ms idle=626.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" = ?) [372] 13:22:22.793 [debug] QUERY OK source="media_profiles" db=0.2ms 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" = ?) [2] 13:22:22.793 [debug] QUERY OK source="media_items" db=0.3ms idle=3.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4631091] 13:22:22.794 [debug] Current batch of media processed. Will check again in 1000ms 13:22:22.819 [debug] Current batch of media processed. Will check again in 1000ms 13:22:23.795 [debug] Current batch of media processed. Will check again in 1000ms 13:22:23.820 [debug] Current batch of media processed. Will check again in 1000ms 13:22:24.796 [debug] Current batch of media processed. Will check again in 1000ms 13:22:24.821 [debug] Current batch of media processed. Will check again in 1000ms 13:22:25.797 [debug] Current batch of media processed. Will check again in 1000ms 13:22:25.822 [debug] Current batch of media processed. Will check again in 1000ms 13:22:26.798 [debug] Current batch of media processed. Will check again in 1000ms 13:22:26.823 [debug] Current batch of media processed. Will check again in 1000ms 13:22:27.799 [debug] Current batch of media processed. Will check again in 1000ms 13:22:27.824 [debug] Current batch of media processed. Will check again in 1000ms 13:22:28.800 [debug] Current batch of media processed. Will check again in 1000ms 13:22:28.825 [debug] Current batch of media processed. Will check again in 1000ms 13:22:29.801 [debug] Current batch of media processed. Will check again in 1000ms 13:22:29.826 [debug] Current batch of media processed. Will check again in 1000ms 13:22:30.553 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/shorts/eYwuLqxxIEU --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/eb/50/eb50a94513ab35da9289806d3ebbd7c22e7e44b82f74b4527e3b4969c39e9f7f.json --sleep-requests 4 --sleep-interval 4 --sleep-subtitles 5 --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Unable to download webpage: HTTP Error 429: Too Many Requests (caused by ) 13:22:30.553 [debug] Running yt-dlp command for action: download 13:22:30.554 [debug] QUERY OK source="settings" db=0.2ms idle=741.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:22:30.554 [debug] QUERY OK source="settings" db=0.1ms idle=543.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:22:30.554 [debug] QUERY OK source="settings" db=0.1ms idle=544.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:22:30.554 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/shorts/eYwuLqxxIEU --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --sub-langs ar --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shorts/بزنس بالعربي (Business بالعربى )/بزنس بالعربي (Business بالعربى ) - %(upload_date>%Y-%m-%d)S - [%(id)S].%(ext)S --config-locations /config/extras/yt-dlp-configs/base-config.txt --print-to-file after_move:%()j /tmp/pinchflat/data/31/0e/310e1fa9eb83ee6de4ba88214bf7bbaf3ce843e58af976d34207fc729152839d.json --sleep-requests 4 --sleep-interval 4 --sleep-subtitles 4 --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:22:30.802 [debug] Current batch of media processed. Will check again in 1000ms 13:22:30.827 [debug] Current batch of media processed. Will check again in 1000ms 13:22:31.803 [debug] Current batch of media processed. Will check again in 1000ms 13:22:31.828 [debug] Current batch of media processed. Will check again in 1000ms 13:22:32.804 [debug] Current batch of media processed. Will check again in 1000ms 13:22:32.829 [debug] Current batch of media processed. Will check again in 1000ms 13:22:33.805 [debug] Current batch of media processed. Will check again in 1000ms 13:22:33.830 [debug] Current batch of media processed. Will check again in 1000ms 13:22:34.806 [debug] Current batch of media processed. Will check again in 1000ms 13:22:34.831 [debug] Current batch of media processed. Will check again in 1000ms 13:22:35.807 [debug] Current batch of media processed. Will check again in 1000ms 13:22:35.832 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "\"الاستثمار يبدأ من تجربة العميل لا من التقييم المالي\nفالاستثمار قرار ثقة قبل أن يكون قرار أرقام وثقة المستثمر تبدأ من مكان واحد وهو تجربة العميل وشركة لا تملك عملاء أوفياء يصعب الوثوق في نموها\nتابع السلسلة لتفهم كيف تُبنى الثقة قبل التقييم\r\"\nهذا المحتوى مُقدَّم من Tactful AI لمشاهدة الحلقة كاملة:\nرابط الحلقة: \nhttps://youtu.be/jWMX-YHgPaA?si=aOY0r0GzpOoUMh1n\n\nتاكتفُل هي نظام ذكي لإدارة التواصل مع العملاء لفرق المبيعات وخدمة العملاء.\nللإنضمام لمجتمع تجربة العميل من تاكتفُل، استخدم الرابط:\nhttps://tactful.ai/fwd/vcs", "duration" => 39, "filename" => "/downloads/shorts/بزنس بالعربي (Business بالعربى )/بزنس بالعربي (Business بالعربى ) - 2026-04-07 - [_heaOhsOJy4].mp4", "id" => "_heaOhsOJy4", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/_heaOhsOJy4", "playlist_index" => 8, "timestamp" => 1775566871, "title" => "الاستثمار يبدأ من تجربة العميل لا من التقييم المالي", "upload_date" => "20260407"} 13:22:35.833 [debug] QUERY OK source="sources" db=0.2ms idle=1822.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" IN (?)) [115] 13:22:35.833 [debug] QUERY OK source="sources" db=0.1ms idle=1823.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" = ?) [115] 13:22:35.835 [debug] QUERY OK source="media_items" db=2.0ms idle=1823.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-07 13:01:11Z], 115] 13:22:35.837 [debug] QUERY OK source="media_items" db=1.1ms idle=1018.3ms 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" ["\"الاستثمار يبدأ من تجربة العميل لا من التقييم المالي\nفالاستثمار قرار ثقة قبل أن يكون قرار أرقام وثقة المستثمر تبدأ من مكان واحد وهو تجربة العميل وشركة لا تملك عملاء أوفياء يصعب الوثوق في نموها\nتابع السلسلة لتفهم كيف تُبنى الثقة قبل التقييم\r\"\nهذا المحتوى مُقدَّم من Tactful AI لمشاهدة الحلقة كاملة:\nرابط الحلقة: \nhttps://youtu.be/jWMX-YHgPaA?si=aOY0r0GzpOoUMh1n\n\nتاكتفُل هي نظام ذكي لإدارة التواصل مع العملاء لفرق المبيعات وخدمة العملاء.\nللإنضمام لمجتمع تجربة العميل من تاكتفُل، استخدم الرابط:\nhttps://tactful.ai/fwd/vcs", "الاستثمار يبدأ من تجربة العميل لا من التقييم المالي", "3b1d4221-eac9-41be-9a01-7108f69695eb", 39, false, "_heaOhsOJy4", "https://www.youtube.com/shorts/_heaOhsOJy4", 8, "/downloads/shorts/بزنس بالعربي (Business بالعربى )/بزنس بالعربي (Business بالعربى ) - 2026-04-07 - [_heaOhsOJy4].mp4", false, false, true, 115, [], 98, ~U[2026-04-07 13:01:11Z], ~U[2026-04-15 13:22:35Z], ~U[2026-04-15 13:22:35Z], "\"الاستثمار يبدأ من تجربة العميل لا من التقييم المالي\nفالاستثمار قرار ثقة قبل أن يكون قرار أرقام وثقة المستثمر تبدأ من مكان واحد وهو تجربة العميل وشركة لا تملك عملاء أوفياء يصعب الوثوق في نموها\nتابع السلسلة لتفهم كيف تُبنى الثقة قبل التقييم\r\"\nهذا المحتوى مُقدَّم من Tactful AI لمشاهدة الحلقة كاملة:\nرابط الحلقة: \nhttps://youtu.be/jWMX-YHgPaA?si=aOY0r0GzpOoUMh1n\n\nتاكتفُل هي نظام ذكي لإدارة التواصل مع العملاء لفرق المبيعات وخدمة العملاء.\nللإنضمام لمجتمع تجربة العميل من تاكتفُل، استخدم الرابط:\nhttps://tactful.ai/fwd/vcs", "الاستثمار يبدأ من تجربة العميل لا من التقييم المالي", 39, false, "_heaOhsOJy4", "https://www.youtube.com/shorts/_heaOhsOJy4", "/downloads/shorts/بزنس بالعربي (Business بالعربى )/بزنس بالعربي (Business بالعربى ) - 2026-04-07 - [_heaOhsOJy4].mp4", true, 115, ~U[2026-04-07 13:01:11Z]] 13:22:35.838 [debug] QUERY OK source="sources" db=0.3ms idle=18.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" = ?) [115] 13:22:35.838 [debug] QUERY OK source="media_profiles" db=0.3ms idle=5.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 13:22:35.839 [debug] QUERY OK source="media_items" db=0.3ms 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 [4677576] 13:22:35.839 [debug] Current batch of media processed. Will check again in 1000ms 13:22:36.808 [debug] Current batch of media processed. Will check again in 1000ms 13:22:36.840 [debug] Current batch of media processed. Will check again in 1000ms 13:22:37.809 [debug] Current batch of media processed. Will check again in 1000ms 13:22:37.841 [debug] Current batch of media processed. Will check again in 1000ms 13:22:38.810 [debug] Current batch of media processed. Will check again in 1000ms 13:22:38.829 [info] {"args":{"id":45},"id":2192073,"meta":{},"system_time":1776259358829643221,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:22:38.830 [debug] QUERY OK source="sources" db=0.1ms idle=1819.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" = ?) [45] 13:22:38.830 [debug] QUERY OK source="settings" db=0.1ms idle=1819.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:22:38.830 [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" = ?) [2] 13:22:38.830 [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 [] 13:22:38.830 [debug] Fetching recent media IDs from YouTube API for playlist: UUMQ18I4n6ccOSNDLfdhrUbQ 13:22:38.830 [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 [] 13:22:38.830 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 13:22:38.842 [debug] Current batch of media processed. Will check again in 1000ms 13:22:39.217 [debug] QUERY OK source="media_items" db=1.2ms idle=385.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [45, "K3YX-iM4LQ0", "1th0U5H3aHc", "HGQV0of6nTE", "tKUGP9uxthw", "zQ3Qx9XHEf4", "oh-kSHOIQ-c", "RIGhyFg4AEY", "v9qp1yPZt94", "gMO10EuN6KY", "guC1BavbIsk", "Fmcoi8sp3kY", "UHXR0zqI9J8", "AAbWLkNEyac", "zlJ3ZE4YpI8", "vJLpHsN9O_M", "kUUO6WBjK7Y", "9MmcAy4OnXQ", "7G_bPyOUvq0", "Rc52Q9uG9p0", "Y8n3lqN1i3g", "dD8t_STorhk", "3dNHma-3EgY", "No3485rTj_Y", "xoIs_xBbBWQ", "3K3hFo6GUvU", "NhOWgP2G6SQ", "Phk0M8YZHc4", "_IAzU1Fd9Ak", "PMpaUqMnKiI", "p0NoIs5o5_8", "dy-0x1OV7mQ", "la8vobugu4g", "x6Ya11dw01M", "btegTB5eZC8", "awVvsRDCfkw", "6RwmzCGOVYk", "DIQ2PB2ht0Y", "vu6koXlG7Po", "Eoe_RDgTSFw", "zSVaXb8nd4E", "0vFVIUPZOto", "lJ-mtNTLrHE", "uZ79fUJjhyQ", "HWMx3-Xlr6Y", "kUtb_rKxgw0", "qmiQw-kcCfI", "PtJ2G8fLzSs", "lmjBT5TyeLc", "PEM_S-3B_Ps", ...] 13:22:39.220 [debug] QUERY OK source="media_items" db=2.2ms idle=388.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")))) [45] 13:22:39.222 [debug] QUERY OK source="tasks" db=0.2ms idle=391.3ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2192109, 45, ~U[2026-04-15 13:22:39Z], ~U[2026-04-15 13:22:39Z]] 13:22:39.223 [info] {"args":{"id":45},"id":2192073,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":393038,"event":"job:stop","queue_time":1000510,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:22:39.811 [debug] Current batch of media processed. Will check again in 1000ms 13:22:39.843 [debug] Current batch of media processed. Will check again in 1000ms 13:22:40.812 [debug] Current batch of media processed. Will check again in 1000ms 13:22:40.844 [debug] Current batch of media processed. Will check again in 1000ms 13:22:41.813 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "", "duration" => 58, "filename" => "/downloads/shorts/بودكاست الأحرار/بودكاست الأحرار - 2025-06-30 - [7XnNt0peusA].mp4", "id" => "7XnNt0peusA", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/7XnNt0peusA", "playlist_index" => 19, "timestamp" => 1751297577, "title" => "نصيحة إلى مدمن المخدّرات!!", "upload_date" => "20250630"} 13:22:41.813 [debug] QUERY OK source="sources" db=0.2ms idle=986.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" IN (?)) [372] 13:22:41.814 [debug] QUERY OK source="sources" db=0.3ms idle=804.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" = ?) [372] 13:22:41.815 [debug] QUERY OK source="media_items" db=0.3ms idle=804.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-06-30 15:32:57Z], 372] 13:22:41.816 [debug] QUERY OK source="media_items" db=0.6ms idle=805.4ms INSERT INTO "media_items" AS m0 ("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) 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" ["نصيحة إلى مدمن المخدّرات!!", "a469a7fa-4876-4f33-a8e5-a4f309c42b1c", 58, false, "7XnNt0peusA", "https://www.youtube.com/shorts/7XnNt0peusA", 19, "/downloads/shorts/بودكاست الأحرار/بودكاست الأحرار - 2025-06-30 - [7XnNt0peusA].mp4", false, false, true, 372, [], 98, ~U[2025-06-30 15:32:57Z], ~U[2026-04-15 13:22:41Z], ~U[2026-04-15 13:22:41Z], "", "نصيحة إلى مدمن المخدّرات!!", 58, false, "7XnNt0peusA", "https://www.youtube.com/shorts/7XnNt0peusA", "/downloads/shorts/بودكاست الأحرار/بودكاست الأحرار - 2025-06-30 - [7XnNt0peusA].mp4", true, 372, ~U[2025-06-30 15:32:57Z]] 13:22:41.816 [debug] QUERY OK source="sources" db=0.3ms idle=806.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" = ?) [372] 13:22:41.817 [debug] QUERY OK source="media_profiles" db=0.3ms idle=3.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 13:22:41.818 [debug] QUERY OK source="media_items" db=0.3ms 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 [4631093] 13:22:41.818 [debug] Current batch of media processed. Will check again in 1000ms 13:22:41.845 [debug] Current batch of media processed. Will check again in 1000ms 13:22:42.819 [debug] Current batch of media processed. Will check again in 1000ms 13:22:42.846 [debug] Current batch of media processed. Will check again in 1000ms 13:22:43.133 [info] {"source":"oban","duration":17868,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:22:43.820 [debug] Current batch of media processed. Will check again in 1000ms 13:22:43.847 [debug] Current batch of media processed. Will check again in 1000ms 13:22:44.821 [debug] Current batch of media processed. Will check again in 1000ms 13:22:44.838 [info] {"args":{"id":550},"id":2192074,"meta":{},"system_time":1776259364837949830,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:22:44.838 [debug] QUERY OK source="sources" db=0.2ms idle=1827.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" = ?) [550] 13:22:44.839 [debug] QUERY OK source="settings" db=0.8ms idle=1705.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:22:44.840 [debug] QUERY OK source="media_profiles" db=0.2ms idle=1010.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" = ?) [2] 13:22:44.840 [debug] QUERY OK source="settings" db=0.2ms idle=9.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:22:44.840 [debug] Fetching recent media IDs from YouTube API for playlist: UUyVm0Ssw0oOM3GVTFEgfhVg 13:22:44.841 [debug] QUERY OK source="settings" db=0.2ms idle=2.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:22:44.841 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 13:22:44.848 [debug] Current batch of media processed. Will check again in 1000ms 13:22:45.077 [debug] QUERY OK source="media_items" db=1.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."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [550, "VVIu4Gd4Bmc", "VGkvWr49xiw", "FdtdrFElwxQ", "BiF8O-aJPsk", "pEPIdeIbSqE", "HVKDahMQhLU", "K1Z5WWHlSs0", "bTV-2GoMx5k", "5sktFoXR3kE", "Iw29TZ6SLvo", "QC4YTqx7lzA", "BIqcmk-5aJw", "YNoKdu3sWVw", "lDBjR9fkeyk", "UUw-e-5nl_w", "dWSKUDO1V2I", "ZxzpHQbUKZ8", "-88OXqMJjwg", "la1zxxjndF4", "d9IgzofO0fw", "o5zrD7rGl30", "quRGt1p1A6k", "IaipBYPY5V4", "iQu6FfiMnF4", "8xBlIDRpM28", "Lfo4DApK5a4", "bCJ3n8KOHYg", "Sjq6OHG4LSA", "8dSZzMsNwyE", "D6scLf0M_fw", "LbqgtTaCN-k", "VipSIn8XPCo", "laY5ME4rd8I", "iEqiRJ55fSM", "KpJw8Q3uePk", "wwRpgDY-BWw", "iV1WybdFWlE", "-orEfZNWjmY", "sBdEudKHhrc", "VBf9tHUdj1E", "whEUmNj9kZE", "n1-6atPiL-g", "xeXJJg6jwm0", "T65vDEtDyu0", "pe0HV6-wnsU", "i0IdbczAU7I", "2tGs0NNZaAM", "bq6i0vWfoZ0", "sRC7ONGF8EQ", ...] 13:22:45.079 [debug] QUERY OK source="media_items" db=0.6ms idle=239.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")))) [550] 13:22:45.081 [debug] QUERY OK source="tasks" db=0.3ms idle=240.1ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2192110, 550, ~U[2026-04-15 13:22:45Z], ~U[2026-04-15 13:22:45Z]] 13:22:45.082 [info] {"args":{"id":550},"id":2192074,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":243758,"event":"job:stop","queue_time":481797,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:22:45.822 [debug] Current batch of media processed. Will check again in 1000ms 13:22:45.849 [debug] Current batch of media processed. Will check again in 1000ms 13:22:46.823 [debug] Current batch of media processed. Will check again in 1000ms 13:22:46.850 [debug] Current batch of media processed. Will check again in 1000ms 13:22:47.382 [info] GET /sources/179/media/4611381/force_download 13:22:47.383 [debug] QUERY OK source="settings" db=0.1ms idle=547.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:22:47.383 [debug] QUERY OK source="settings" db=0.2ms idle=373.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:22:47.383 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 13:22:47.384 [error] #PID<0.6066.0> running PinchflatWeb.Endpoint (connection #PID<0.6065.0>, stream id 1) terminated Server: jak.hibeex.com:80 (http) Request: GET /sources/179/media/4611381/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/179/media/4611381/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.6065.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/179/media/4611381/force_download", host: "jak.hibeex.com", peer: {{172, 22, 0, 1}, 40842}, bindings: %{}, sock: {{172, 22, 0, 4}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYb2dHdW5qQ0YwLThLMW1XMjFGdVhxM0I5.rFq0SpYnG7Ff8yH2OylQa1ZsLf_noAuNpOiyw0SPG0U", "from" => "gptbot(at)openai.com", "host" => "jak.hibeex.com", "referer" => "https://jak.hibeex.com/sources/179/media/4611381?prevent_download=true", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.232", "x-forwarded-proto" => "https", "x-openai-host-hash" => "41517590", "x-real-ip" => "74.7.243.232" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYb2dHdW5qQ0YwLThLMW1XMjFGdVhxM0I5.rFq0SpYnG7Ff8yH2OylQa1ZsLf_noAuNpOiyw0SPG0U" }, halted: false, host: "jak.hibeex.com", method: "GET", owner: #PID<0.6066.0>, params: %{}, path_info: ["sources", "179", "media", "4611381", "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://jak.hibeex.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 22, 0, 1}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYb2dHdW5qQ0YwLThLMW1XMjFGdVhxM0I5.rFq0SpYnG7Ff8yH2OylQa1ZsLf_noAuNpOiyw0SPG0U" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"connection", "close"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYb2dHdW5qQ0YwLThLMW1XMjFGdVhxM0I5.rFq0SpYnG7Ff8yH2OylQa1ZsLf_noAuNpOiyw0SPG0U"}, {"from", "gptbot(at)openai.com"}, {"host", "jak.hibeex.com"}, {"referer", "https://jak.hibeex.com/sources/179/media/4611381?prevent_download=true"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)"}, {"x-forwarded-for", "74.7.243.232"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "41517590"}, {"x-real-ip", "74.7.243.232"} ], request_path: "/sources/179/media/4611381/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKaKe83KLfFmuWsAA9qB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.6065.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/179/media/4611381/force_download", host: "jak.hibeex.com", peer: {{172, 22, 0, 1}, 40842}, bindings: %{}, sock: {{172, 22, 0, 4}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYb2dHdW5qQ0YwLThLMW1XMjFGdVhxM0I5.rFq0SpYnG7Ff8yH2OylQa1ZsLf_noAuNpOiyw0SPG0U", "from" => "gptbot(at)openai.com", "host" => "jak.hibeex.com", "referer" => "https://jak.hibeex.com/sources/179/media/4611381?prevent_download=true", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.232", "x-forwarded-proto" => "https", "x-openai-host-hash" => "41517590", "x-real-ip" => "74.7.243.232" }, method: "GET", body_length: 0, path_info: :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/179/media/4611381/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.6065.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/179/media/4611381/force_download", host: "jak.hibeex.com", peer: {{172, 22, 0, 1}, 40842}, bindings: %{}, sock: {{172, 22, 0, 4}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYb2dHdW5qQ0YwLThLMW1XMjFGdVhxM0I5.rFq0SpYnG7Ff8yH2OylQa1ZsLf_noAuNpOiyw0SPG0U", "from" => "gptbot(at)openai.com", "host" => "jak.hibeex.com", "referer" => "https://jak.hibeex.com/sources/179/media/4611381?prevent_download=true", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.232", "x-forwarded-proto" => "https", "x-openai-host-hash" => "41517590", "x-real-ip" => "74.7.243.232" }, method: "GET", body_length: 0, path_info: :und (truncated) 13:22:47.824 [debug] Current batch of media processed. Will check again in 1000ms 13:22:47.851 [debug] Current batch of media processed. Will check again in 1000ms 13:22:48.825 [debug] Current batch of media processed. Will check again in 1000ms 13:22:48.852 [debug] Current batch of media processed. Will check again in 1000ms 13:22:49.826 [debug] Current batch of media processed. Will check again in 1000ms 13:22:49.853 [debug] Current batch of media processed. Will check again in 1000ms 13:22:50.827 [debug] Current batch of media processed. Will check again in 1000ms 13:22:50.854 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "\"كل قرار لا يبدأ بالعميل ينتهي بمشكلة\nالهوس بالعميل ليست شعارًا، بل طريقة تفكير تحمي الشركة من أخطائها بما يعني أن تُبنى القرارات والمنتج والتجربة من منظور واحد وهو العميل .\nراجع قراراتك فعندما تُبنى القرارات من الداخل، وتُتجاهل احتياجات العميل، تظهر الفجوة ثم الأزمة \nتابع السلسلة وشاركنا رأيك\"\n \nهذا المحتوى مُقدَّم من Tactful AI لمشاهدة الحلقة كاملة:\nرابط الحلقة: \nhttps://youtu.be/jWMX-YHgPaA?si=aOY0r0GzpOoUMh1n\nتاكتفُل هي نظام ذكي لإدارة التواصل مع العملاء لفرق المبيعات وخدمة العملاء.\nللإنضمام لمجتمع تجربة العميل من تاكتفُل، استخدم الرابط:\nhttps://tactful.ai/fwd/vcs\n\"", "duration" => 54, "filename" => "/downloads/shorts/بزنس بالعربي (Business بالعربى )/بزنس بالعربي (Business بالعربى ) - 2026-04-06 - [mb4tB7KUDJ8].mp4", "id" => "mb4tB7KUDJ8", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/mb4tB7KUDJ8", "playlist_index" => 9, "timestamp" => 1775494863, "title" => "كل قرار لا يبدأ بالعميل ينتهي بمشكلة", "upload_date" => "20260406"} 13:22:50.854 [debug] QUERY OK source="sources" db=0.2ms idle=1844.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" IN (?)) [115] 13:22:50.855 [debug] QUERY OK source="sources" db=0.1ms idle=1844.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" = ?) [115] 13:22:50.857 [debug] QUERY OK source="media_items" db=2.0ms idle=1845.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-06 17:01:03Z], 115] 13:22:50.874 [debug] QUERY OK source="media_items" db=16.2ms idle=1020.2ms 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" ["\"كل قرار لا يبدأ بالعميل ينتهي بمشكلة\nالهوس بالعميل ليست شعارًا، بل طريقة تفكير تحمي الشركة من أخطائها بما يعني أن تُبنى القرارات والمنتج والتجربة من منظور واحد وهو العميل .\nراجع قراراتك فعندما تُبنى القرارات من الداخل، وتُتجاهل احتياجات العميل، تظهر الفجوة ثم الأزمة \nتابع السلسلة وشاركنا رأيك\"\n \nهذا المحتوى مُقدَّم من Tactful AI لمشاهدة الحلقة كاملة:\nرابط الحلقة: \nhttps://youtu.be/jWMX-YHgPaA?si=aOY0r0GzpOoUMh1n\nتاكتفُل هي نظام ذكي لإدارة التواصل مع العملاء لفرق المبيعات وخدمة العملاء.\nللإنضمام لمجتمع تجربة العميل من تاكتفُل، استخدم الرابط:\nhttps://tactful.ai/fwd/vcs\n\"", "كل قرار لا يبدأ بالعميل ينتهي بمشكلة", "3622f638-c4bb-4b08-9bf0-775bc6c65453", 54, false, "mb4tB7KUDJ8", "https://www.youtube.com/shorts/mb4tB7KUDJ8", 9, "/downloads/shorts/بزنس بالعربي (Business بالعربى )/بزنس بالعربي (Business بالعربى ) - 2026-04-06 - [mb4tB7KUDJ8].mp4", false, false, true, 115, [], 98, ~U[2026-04-06 17:01:03Z], ~U[2026-04-15 13:22:50Z], ~U[2026-04-15 13:22:50Z], "\"كل قرار لا يبدأ بالعميل ينتهي بمشكلة\nالهوس بالعميل ليست شعارًا، بل طريقة تفكير تحمي الشركة من أخطائها بما يعني أن تُبنى القرارات والمنتج والتجربة من منظور واحد وهو العميل .\nراجع قراراتك فعندما تُبنى القرارات من الداخل، وتُتجاهل احتياجات العميل، تظهر الفجوة ثم الأزمة \nتابع السلسلة وشاركنا رأيك\"\n \nهذا المحتوى مُقدَّم من Tactful AI لمشاهدة الحلقة كاملة:\nرابط الحلقة: \nhttps://youtu.be/jWMX-YHgPaA?si=aOY0r0GzpOoUMh1n\nتاكتفُل هي نظام ذكي لإدارة التواصل مع العملاء لفرق المبيعات وخدمة العملاء.\nللإنضمام لمجتمع تجربة العميل من تاكتفُل، استخدم الرابط:\nhttps://tactful.ai/fwd/vcs\n\"", "كل قرار لا يبدأ بالعميل ينتهي بمشكلة", 54, false, "mb4tB7KUDJ8", "https://www.youtube.com/shorts/mb4tB7KUDJ8", "/downloads/shorts/بزنس بالعربي (Business بالعربى )/بزنس بالعربي (Business بالعربى ) - 2026-04-06 - [mb4tB7KUDJ8].mp4", true, 115, ~U[2026-04-06 17:01:03Z]] 13:22:50.875 [debug] QUERY OK source="sources" db=0.3ms idle=36.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" = ?) [115] 13:22:50.875 [debug] QUERY OK source="media_profiles" db=0.2ms idle=20.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 13:22:50.876 [debug] QUERY OK source="media_items" db=0.3ms idle=20.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 [4673939] 13:22:50.876 [debug] Current batch of media processed. Will check again in 1000ms 13:22:51.828 [debug] Current batch of media processed. Will check again in 1000ms 13:22:51.877 [debug] Current batch of media processed. Will check again in 1000ms 13:22:52.829 [debug] Current batch of media processed. Will check again in 1000ms 13:22:52.878 [debug] Current batch of media processed. Will check again in 1000ms 13:22:53.830 [debug] Current batch of media processed. Will check again in 1000ms 13:22:53.879 [debug] Current batch of media processed. Will check again in 1000ms 13:22:54.831 [debug] Current batch of media processed. Will check again in 1000ms 13:22:54.880 [debug] Current batch of media processed. Will check again in 1000ms 13:22:55.832 [debug] Current batch of media processed. Will check again in 1000ms 13:22:55.881 [debug] Current batch of media processed. Will check again in 1000ms 13:22:56.833 [debug] Current batch of media processed. Will check again in 1000ms 13:22:56.882 [debug] Current batch of media processed. Will check again in 1000ms 13:22:57.834 [debug] Current batch of media processed. Will check again in 1000ms 13:22:57.883 [debug] Current batch of media processed. Will check again in 1000ms 13:22:58.835 [debug] Current batch of media processed. Will check again in 1000ms 13:22:58.861 [info] {"args":{"id":432},"id":2192075,"meta":{},"system_time":1776259378861159913,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:22:58.861 [debug] QUERY OK source="sources" db=0.2ms idle=851.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" = ?) [432] 13:22:58.862 [debug] QUERY OK source="settings" db=0.2ms idle=851.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:22:58.862 [debug] QUERY OK source="media_profiles" db=0.2ms idle=851.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" = ?) [3] 13:22:58.862 [debug] QUERY OK source="settings" db=0.2ms idle=6.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:22:58.863 [debug] Fetching recent media IDs from YouTube API for playlist: UUjqNqKjLuFBCfjZ5WoI0_Kw 13:22:58.863 [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 [] 13:22:58.863 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 13:22:58.884 [debug] Current batch of media processed. Will check again in 1000ms 13:22:59.489 [debug] QUERY OK source="media_items" db=1.0ms idle=626.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [432, "BNcH5os2Azc", "yB1u7nWLyZM", "R9PH1e1T4bE", "mRIpLTPueWs", "eiVtQXCEJNI", "wVff1dLCB2o", "yKp5TotCvCM", "YzSEz5GqB9c", "FVkgWH0fdG4", "Vs9a6lqv2Mk", "m4NrFYSOXM8", "_91NR0tetqI", "y9T5O1B2Y8I", "a447IYbwNjk", "5fyJDR9E5dI", "tNLR5cr-GpM", "SRPizcmFrqI", "CRAuwECvcoE", "BWixeDYPutA", "kdoJee--cYo", "_L0JyHhOPa8", "cYOILGWiA90", "WSk4s-6dWho", "Fcocf1LGh8k", "ALSaV53wF_8", "8210atQw6mk", "xS335AwgMhE", "U7Ao_x_mZrc", "SHtY1j8nD80", "7DaGvK3ZlzM", "oC1KNxej1a0", "UcXUMjckYlI", "aRfBOREb9yk", "TDNwMa688us", "3vlPML1zG3E", "RkmKL4n9xLQ", "JdCOo0MBWM4", "zmj1XdI1edU", "rWxi69DrDWc", "eUftJ6-GB9E", "vbkMwqI6iKw", "qZRVpNRqIPo", "qzAOOwQboR4", "2acjUU6cQh4", "9accY9x0NmQ", "NDhBgmst590", "Uxi8ZvR6KjM", "QQ3kf587e-Y", "x5nb-k2uUzo", ...] 13:22:59.491 [debug] QUERY OK source="media_items" db=0.8ms idle=628.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")))) [432] 13:22:59.493 [debug] QUERY OK source="tasks" db=0.3ms idle=630.1ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2192111, 432, ~U[2026-04-15 13:22:59Z], ~U[2026-04-15 13:22:59Z]] 13:22:59.494 [info] {"args":{"id":432},"id":2192075,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":632791,"event":"job:stop","queue_time":260186,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:22:59.645 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@alahrarpodcast/shorts --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/shorts/بودكاست الأحرار/بودكاست الأحرار - %(upload_date>%Y-%m-%d)S - [%(id)S].%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --break-on-existing --download-archive /tmp/pinchflat/data/c2/28/c228736278c02762bbad57c3ac4fa5979d8a8d14a76059714fbf62300dea0c25.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/5b/4f/5b4fdf6b0a1c501b85475219f2e1e28009892c8276e09b985742381e3b089f4e.json --sleep-requests 5 --sleep-interval 5 --sleep-subtitles 5 --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 101 with: 13:22:59.646 [debug] Gracefully stopping file follower 13:22:59.646 [debug] QUERY OK source="sources" db=0.4ms idle=153.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [372] 13:22:59.647 [debug] QUERY OK source="sources" db=0.2ms idle=153.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" = ?) [372] 13:22:59.648 [debug] QUERY OK source="media_items" db=0.4ms idle=153.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-08-06 10:48:43Z], 372] 13:22:59.649 [debug] QUERY OK source="media_items" db=0.6ms idle=153.9ms INSERT INTO "media_items" AS m0 ("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) 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" ["الخطوط الحمراء أيام القذافي معروفة.. توا لا!!", "106e2aab-d495-4126-bb84-c3fc758c3c7b", 86, false, "cd2g3bGTH8s", "https://www.youtube.com/shorts/cd2g3bGTH8s", 1, "/downloads/shorts/بودكاست الأحرار/بودكاست الأحرار - 2025-08-06 - [cd2g3bGTH8s].mp4", false, false, true, 372, [], 98, ~U[2025-08-06 10:48:43Z], ~U[2026-04-15 13:22:59Z], ~U[2026-04-15 13:22:59Z], "", "الخطوط الحمراء أيام القذافي معروفة.. توا لا!!", 86, false, "cd2g3bGTH8s", "https://www.youtube.com/shorts/cd2g3bGTH8s", "/downloads/shorts/بودكاست الأحرار/بودكاست الأحرار - 2025-08-06 - [cd2g3bGTH8s].mp4", true, 372, ~U[2025-08-06 10:48:43Z]] 13:22:59.649 [debug] QUERY OK source="sources" db=0.2ms idle=148.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" = ?) [372] 13:22:59.650 [debug] QUERY OK source="media_items" db=0.3ms idle=2.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-08-05 16:09:32Z], 372] 13:22:59.651 [debug] QUERY OK source="media_items" db=0.7ms idle=3.1ms INSERT INTO "media_items" AS m0 ("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) 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" ["\"حويتة وخميسة وقرين\" رموز ليبية قديمة.. من أين جاءت؟", "5bf795e9-608b-4099-b860-8f6e0b03f932", 80, false, "7RaXXMXIKdE", "https://www.youtube.com/shorts/7RaXXMXIKdE", 2, "/downloads/shorts/بودكاست الأحرار/بودكاست الأحرار - 2025-08-05 - [7RaXXMXIKdE].mp4", false, false, true, 372, [], 98, ~U[2025-08-05 16:09:32Z], ~U[2026-04-15 13:22:59Z], ~U[2026-04-15 13:22:59Z], "", "\"حويتة وخميسة وقرين\" رموز ليبية قديمة.. من أين جاءت؟", 80, false, "7RaXXMXIKdE", "https://www.youtube.com/shorts/7RaXXMXIKdE", "/downloads/shorts/بودكاست الأحرار/بودكاست الأحرار - 2025-08-05 - [7RaXXMXIKdE].mp4", true, 372, ~U[2025-08-05 16:09:32Z]] 13:22:59.652 [debug] QUERY OK source="sources" db=0.3ms 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" = ?) [372] 13:22:59.652 [debug] QUERY OK source="media_items" db=0.3ms idle=3.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-08-04 14:50:44Z], 372] 13:22:59.655 [debug] QUERY OK source="media_items" db=2.5ms idle=3.1ms INSERT INTO "media_items" AS m0 ("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) 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" ["ليبيا القديمة.. حكايات منسية من التّاريخ", "a20a9a3a-7c1c-4999-90da-cc4d5f26d382", 80, false, "49XxxmhEHHo", "https://www.youtube.com/shorts/49XxxmhEHHo", 3, "/downloads/shorts/بودكاست الأحرار/بودكاست الأحرار - 2025-08-04 - [49XxxmhEHHo].mp4", false, false, true, 372, [], 98, ~U[2025-08-04 14:50:44Z], ~U[2026-04-15 13:22:59Z], ~U[2026-04-15 13:22:59Z], "", "ليبيا القديمة.. حكايات منسية من التّاريخ", 80, false, "49XxxmhEHHo", "https://www.youtube.com/shorts/49XxxmhEHHo", "/downloads/shorts/بودكاست الأحرار/بودكاست الأحرار - 2025-08-04 - [49XxxmhEHHo].mp4", true, 372, ~U[2025-08-04 14:50:44Z]] 13:22:59.655 [debug] QUERY OK source="sources" db=0.2ms 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" = ?) [372] 13:22:59.656 [debug] QUERY OK source="media_items" db=0.3ms idle=4.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-08-03 14:39:44Z], 372] 13:22:59.657 [debug] QUERY OK source="media_items" db=0.7ms idle=4.7ms 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" ["الأمم المتّحدة لم تصنع تاريخنا وثقافتنا، ولكنّها صنعت السلطة السياسية فقط!!", "ليبيا أقدم من الأمم المتحدة", "b6c0b094-a12e-4464-b883-a6ea80c4e8e7", 86, false, "djPkr600_BI", "https://www.youtube.com/shorts/djPkr600_BI", 4, "/downloads/shorts/بودكاست الأحرار/بودكاست الأحرار - 2025-08-03 - [djPkr600_BI].mp4", false, false, true, 372, [], 98, ~U[2025-08-03 14:39:44Z], ~U[2026-04-15 13:22:59Z], ~U[2026-04-15 13:22:59Z], "الأمم المتّحدة لم تصنع تاريخنا وثقافتنا، ولكنّها صنعت السلطة السياسية فقط!!", "ليبيا أقدم من الأمم المتحدة", 86, false, "djPkr600_BI", "https://www.youtube.com/shorts/djPkr600_BI", "/downloads/shorts/بودكاست الأحرار/بودكاست الأحرار - 2025-08-03 - [djPkr600_BI].mp4", true, 372, ~U[2025-08-03 14:39:44Z]] 13:22:59.658 [debug] QUERY OK source="sources" db=0.2ms 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" FROM "sources" AS s0 WHERE (s0."id" = ?) [372] 13:22:59.658 [debug] QUERY OK source="media_items" db=0.3ms idle=2.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-08-02 14:01:41Z], 372] 13:22:59.659 [debug] QUERY OK source="media_items" db=0.7ms idle=3.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" ["\"ليبيا ممر للحضارات وليست بوابة عبور\".. بوشناف يُصحّح الرواية التاريخية حول ليبيا", "أقدم حضارات \"الترانزيت\" في التاريخ", "b680292a-c137-48f8-b80d-aa0ce430849f", 88, false, "zFl6TXil8ro", "https://www.youtube.com/shorts/zFl6TXil8ro", 5, "/downloads/shorts/بودكاست الأحرار/بودكاست الأحرار - 2025-08-02 - [zFl6TXil8ro].mp4", false, false, true, 372, [], 98, ~U[2025-08-02 14:01:41Z], ~U[2026-04-15 13:22:59Z], ~U[2026-04-15 13:22:59Z], "\"ليبيا ممر للحضارات وليست بوابة عبور\".. بوشناف يُصحّح الرواية التاريخية حول ليبيا", "أقدم حضارات \"الترانزيت\" في التاريخ", 88, false, "zFl6TXil8ro", "https://www.youtube.com/shorts/zFl6TXil8ro", "/downloads/shorts/بودكاست الأحرار/بودكاست الأحرار - 2025-08-02 - [zFl6TXil8ro].mp4", true, 372, ~U[2025-08-02 14:01:41Z]] 13:22:59.660 [debug] QUERY OK source="sources" db=0.2ms 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" = ?) [372] 13:22:59.660 [debug] QUERY OK source="media_items" db=0.3ms idle=3.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-08-01 13:16:29Z], 372] 13:22:59.662 [debug] QUERY OK source="media_items" db=0.8ms idle=3.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" ["هل ليبيا أقدم من مصر؟ وكيف تنبّأ ابن خلدون بتكوين الدولة الليبية؟\n بودكاست الأحرار مع الكاتب والمسرحي منصور بوشناف.", "هل ليبيا أقدم من مصر؟ بودكاست الأحرار مع الكاتب والمسرحي منصور بوشناف.", "6593a256-0c61-46eb-b511-0cf7895018a7", 64, false, "Btd-4di3XKs", "https://www.youtube.com/shorts/Btd-4di3XKs", 6, "/downloads/shorts/بودكاست الأحرار/بودكاست الأحرار - 2025-08-01 - [Btd-4di3XKs].mp4", false, false, true, 372, [], 98, ~U[2025-08-01 13:16:29Z], ~U[2026-04-15 13:22:59Z], ~U[2026-04-15 13:22:59Z], "هل ليبيا أقدم من مصر؟ وكيف تنبّأ ابن خلدون بتكوين الدولة الليبية؟\n بودكاست الأحرار مع الكاتب والمسرحي منصور بوشناف.", "هل ليبيا أقدم من مصر؟ بودكاست الأحرار مع الكاتب والمسرحي منصور بوشناف.", 64, false, "Btd-4di3XKs", "https://www.youtube.com/shorts/Btd-4di3XKs", "/downloads/shorts/بودكاست الأحرار/بودكاست الأحرار - 2025-08-01 - [Btd-4di3XKs].mp4", true, 372, ~U[2025-08-01 13:16:29Z]] 13:22:59.662 [debug] QUERY OK source="sources" db=0.3ms 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" FROM "sources" AS s0 WHERE (s0."id" = ?) [372] 13:22:59.663 [debug] QUERY OK source="media_items" db=0.4ms idle=3.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-07-28 15:04:27Z], 372] 13:22:59.664 [debug] QUERY OK source="media_items" db=0.7ms idle=3.3ms INSERT INTO "media_items" AS m0 ("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) 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" ["المهندسة إيمان العروي: البنت الليبية نويزكة..", "0bd1c7e6-dae6-405a-aeea-da4ed4dd2df0", 87, false, "QrRmVc-Geq4", "https://www.youtube.com/shorts/QrRmVc-Geq4", 7, "/downloads/shorts/بودكاست الأحرار/بودكاست الأحرار - 2025-07-28 - [QrRmVc-Geq4].mp4", false, false, true, 372, [], 98, ~U[2025-07-28 15:04:27Z], ~U[2026-04-15 13:22:59Z], ~U[2026-04-15 13:22:59Z], "", "المهندسة إيمان العروي: البنت الليبية نويزكة..", 87, false, "QrRmVc-Geq4", "https://www.youtube.com/shorts/QrRmVc-Geq4", "/downloads/shorts/بودكاست الأحرار/بودكاست الأحرار - 2025-07-28 - [QrRmVc-Geq4].mp4", true, 372, ~U[2025-07-28 15:04:27Z]] 13:22:59.665 [debug] QUERY OK source="sources" db=0.3ms 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" = ?) [372] 13:22:59.666 [debug] QUERY OK source="media_items" db=0.4ms idle=3.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-07-16 13:49:58Z], 372] 13:22:59.667 [debug] QUERY OK source="media_items" db=0.7ms idle=3.5ms INSERT INTO "media_items" AS m0 ("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) 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" ["معلّم عربي.. وتلميذ أمازيغي!! معاناة يوميّة في مدرسة أمازيغية", "7a3b1e51-930b-4085-951e-5c3e9f9fc26b", 88, false, "GLMpZLhNR4I", "https://www.youtube.com/shorts/GLMpZLhNR4I", 8, "/downloads/shorts/بودكاست الأحرار/بودكاست الأحرار - 2025-07-16 - [GLMpZLhNR4I].mp4", false, false, true, 372, [], 98, ~U[2025-07-16 13:49:58Z], ~U[2026-04-15 13:22:59Z], ~U[2026-04-15 13:22:59Z], "", "معلّم عربي.. وتلميذ أمازيغي!! معاناة يوميّة في مدرسة أمازيغية", 88, false, "GLMpZLhNR4I", "https://www.youtube.com/shorts/GLMpZLhNR4I", "/downloads/shorts/بودكاست الأحرار/بودكاست الأحرار - 2025-07-16 - [GLMpZLhNR4I].mp4", true, 372, ~U[2025-07-16 13:49:58Z]] 13:22:59.667 [debug] QUERY OK source="sources" db=0.3ms idle=4.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" = ?) [372] 13:22:59.668 [debug] QUERY OK source="media_items" db=0.4ms idle=3.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-07-15 14:03:05Z], 372] 13:22:59.669 [debug] QUERY OK source="media_items" db=0.7ms idle=3.4ms INSERT INTO "media_items" AS m0 ("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) 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" ["أنت ليبي أم أمازيغي؟!", "5bb562f9-3af5-45e8-a441-1f8060895734", 89, false, "hL10Qssjo-k", "https://www.youtube.com/shorts/hL10Qssjo-k", 9, "/downloads/shorts/بودكاست الأحرار/بودكاست الأحرار - 2025-07-15 - [hL10Qssjo-k].mp4", false, false, true, 372, [], 98, ~U[2025-07-15 14:03:05Z], ~U[2026-04-15 13:22:59Z], ~U[2026-04-15 13:22:59Z], "", "أنت ليبي أم أمازيغي؟!", 89, false, "hL10Qssjo-k", "https://www.youtube.com/shorts/hL10Qssjo-k", "/downloads/shorts/بودكاست الأحرار/بودكاست الأحرار - 2025-07-15 - [hL10Qssjo-k].mp4", true, 372, ~U[2025-07-15 14:03:05Z]] 13:22:59.670 [debug] QUERY OK source="sources" db=0.3ms 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" = ?) [372] 13:22:59.670 [debug] QUERY OK source="media_items" db=0.4ms idle=3.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-07-14 15:18:56Z], 372] 13:22:59.672 [debug] QUERY OK source="media_items" db=0.7ms idle=3.3ms INSERT INTO "media_items" AS m0 ("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) 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" ["الجبل الغربي أم جبل نفوسة!! هل يتحسّس الأمازيغ من الاسم؟", "0a71f635-6170-4fca-afc0-22a152b13b58", 88, false, "dwUu_uqo9-k", "https://www.youtube.com/shorts/dwUu_uqo9-k", 10, "/downloads/shorts/بودكاست الأحرار/بودكاست الأحرار - 2025-07-14 - [dwUu_uqo9-k].mp4", false, false, true, 372, [], 98, ~U[2025-07-14 15:18:56Z], ~U[2026-04-15 13:22:59Z], ~U[2026-04-15 13:22:59Z], "", "الجبل الغربي أم جبل نفوسة!! هل يتحسّس الأمازيغ من الاسم؟", 88, false, "dwUu_uqo9-k", "https://www.youtube.com/shorts/dwUu_uqo9-k", "/downloads/shorts/بودكاست الأحرار/بودكاست الأحرار - 2025-07-14 - [dwUu_uqo9-k].mp4", true, 372, ~U[2025-07-14 15:18:56Z]] 13:22:59.672 [debug] QUERY OK source="sources" db=0.3ms 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" = ?) [372] 13:22:59.673 [debug] QUERY OK source="media_items" db=0.3ms idle=3.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-07-13 15:36:52Z], 372] 13:22:59.674 [debug] QUERY OK source="media_items" db=0.7ms idle=3.4ms INSERT INTO "media_items" AS m0 ("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) 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" ["لماذا يُرفع علم الأمازيغ في ليبيا؟", "4ed9de41-eaf2-45ad-b9e1-cc9659e6fe4d", 78, false, "Xprm_Ai_hkQ", "https://www.youtube.com/shorts/Xprm_Ai_hkQ", 11, "/downloads/shorts/بودكاست الأحرار/بودكاست الأحرار - 2025-07-13 - [Xprm_Ai_hkQ].mp4", false, false, true, 372, [], 98, ~U[2025-07-13 15:36:52Z], ~U[2026-04-15 13:22:59Z], ~U[2026-04-15 13:22:59Z], "", "لماذا يُرفع علم الأمازيغ في ليبيا؟", 78, false, "Xprm_Ai_hkQ", "https://www.youtube.com/shorts/Xprm_Ai_hkQ", "/downloads/shorts/بودكاست الأحرار/بودكاست الأحرار - 2025-07-13 - [Xprm_Ai_hkQ].mp4", true, 372, ~U[2025-07-13 15:36:52Z]] 13:22:59.675 [debug] QUERY OK source="sources" db=0.3ms idle=3.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" = ?) [372] 13:22:59.675 [debug] QUERY OK source="media_items" db=0.3ms idle=3.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-07-12 14:25:00Z], 372] 13:22:59.676 [debug] QUERY OK source="media_items" db=0.7ms idle=3.2ms INSERT INTO "media_items" AS m0 ("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) 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" ["لماذا انتشر المذهب الإباضيّ بين الأمازيغ؟", "5c2824d8-ba0a-434a-bf9c-3d9a16c04312", 88, false, "XuvWacQdazA", "https://www.youtube.com/shorts/XuvWacQdazA", 12, "/downloads/shorts/بودكاست الأحرار/بودكاست الأحرار - 2025-07-12 - [XuvWacQdazA].mp4", false, false, true, 372, [], 98, ~U[2025-07-12 14:25:00Z], ~U[2026-04-15 13:22:59Z], ~U[2026-04-15 13:22:59Z], "", "لماذا انتشر المذهب الإباضيّ بين الأمازيغ؟", 88, false, "XuvWacQdazA", "https://www.youtube.com/shorts/XuvWacQdazA", "/downloads/shorts/بودكاست الأحرار/بودكاست الأحرار - 2025-07-12 - [XuvWacQdazA].mp4", true, 372, ~U[2025-07-12 14:25:00Z]] 13:22:59.677 [debug] QUERY OK source="sources" db=0.3ms idle=3.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" = ?) [372] 13:22:59.678 [debug] QUERY OK source="media_items" db=0.3ms idle=3.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-07-11 14:15:01Z], 372] 13:22:59.679 [debug] QUERY OK source="media_items" db=0.7ms idle=3.3ms INSERT INTO "media_items" AS m0 ("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) 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" ["أرفض تجربة \"المدراس الدوليّة\" في ليبيا!!", "5ef7059d-d49f-47d8-b62d-9e48c5a10aaa", 85, false, "FmVY1ZdoZlo", "https://www.youtube.com/shorts/FmVY1ZdoZlo", 13, "/downloads/shorts/بودكاست الأحرار/بودكاست الأحرار - 2025-07-11 - [FmVY1ZdoZlo].mp4", false, false, true, 372, [], 98, ~U[2025-07-11 14:15:01Z], ~U[2026-04-15 13:22:59Z], ~U[2026-04-15 13:22:59Z], "", "أرفض تجربة \"المدراس الدوليّة\" في ليبيا!!", 85, false, "FmVY1ZdoZlo", "https://www.youtube.com/shorts/FmVY1ZdoZlo", "/downloads/shorts/بودكاست الأحرار/بودكاست الأحرار - 2025-07-11 - [FmVY1ZdoZlo].mp4", true, 372, ~U[2025-07-11 14:15:01Z]] 13:22:59.679 [debug] QUERY OK source="sources" db=0.3ms idle=3.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" = ?) [372] 13:22:59.680 [debug] QUERY OK source="media_items" db=0.3ms idle=3.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-07-09 16:36:51Z], 372] 13:22:59.681 [debug] QUERY OK source="media_items" db=0.7ms idle=3.2ms INSERT INTO "media_items" AS m0 ("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) 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" ["صراع الأمازيغ والقذافي.. انتظرونا يوم الخميس", "b5ce2270-7a1a-4445-82f4-9d01ff44864b", 88, false, "btO-I0VgbRY", "https://www.youtube.com/shorts/btO-I0VgbRY", 14, "/downloads/shorts/بودكاست الأحرار/بودكاست الأحرار - 2025-07-09 - [btO-I0VgbRY].mp4", false, false, true, 372, [], 98, ~U[2025-07-09 16:36:51Z], ~U[2026-04-15 13:22:59Z], ~U[2026-04-15 13:22:59Z], "", "صراع الأمازيغ والقذافي.. انتظرونا يوم الخميس", 88, false, "btO-I0VgbRY", "https://www.youtube.com/shorts/btO-I0VgbRY", "/downloads/shorts/بودكاست الأحرار/بودكاست الأحرار - 2025-07-09 - [btO-I0VgbRY].mp4", true, 372, ~U[2025-07-09 16:36:51Z]] 13:22:59.682 [debug] QUERY OK source="sources" db=0.2ms idle=3.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" = ?) [372] 13:22:59.682 [debug] QUERY OK source="media_items" db=0.4ms idle=3.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-07-08 13:10:27Z], 372] 13:22:59.683 [debug] QUERY OK source="media_items" db=0.7ms idle=3.2ms INSERT INTO "media_items" AS m0 ("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) 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" ["جلسات التفريغ النفسي زمان!!", "0ff1ea42-2c40-4929-919f-ef6c47f4c0bc", 83, false, "op1_hN21bIU", "https://www.youtube.com/shorts/op1_hN21bIU", 15, "/downloads/shorts/بودكاست الأحرار/بودكاست الأحرار - 2025-07-08 - [op1_hN21bIU].mp4", false, false, true, 372, [], 98, ~U[2025-07-08 13:10:27Z], ~U[2026-04-15 13:22:59Z], ~U[2026-04-15 13:22:59Z], "", "جلسات التفريغ النفسي زمان!!", 83, false, "op1_hN21bIU", "https://www.youtube.com/shorts/op1_hN21bIU", "/downloads/shorts/بودكاست الأحرار/بودكاست الأحرار - 2025-07-08 - [op1_hN21bIU].mp4", true, 372, ~U[2025-07-08 13:10:27Z]] 13:22:59.684 [debug] QUERY OK source="sources" db=0.3ms idle=3.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" = ?) [372] 13:22:59.685 [debug] QUERY OK source="media_items" db=0.3ms idle=3.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-07-05 15:55:11Z], 372] 13:22:59.686 [debug] QUERY OK source="media_items" db=0.7ms idle=3.2ms INSERT INTO "media_items" AS m0 ("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) 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" ["نحن شعوب عاطفية.. وهذه مشكلتنا!!", "e6c07817-7a9e-47ce-ac25-d77cdc5575ff", 77, false, "Gu_pL1q3kzQ", "https://www.youtube.com/shorts/Gu_pL1q3kzQ", 16, "/downloads/shorts/بودكاست الأحرار/بودكاست الأحرار - 2025-07-05 - [Gu_pL1q3kzQ].mp4", false, false, true, 372, [], 98, ~U[2025-07-05 15:55:11Z], ~U[2026-04-15 13:22:59Z], ~U[2026-04-15 13:22:59Z], "", "نحن شعوب عاطفية.. وهذه مشكلتنا!!", 77, false, "Gu_pL1q3kzQ", "https://www.youtube.com/shorts/Gu_pL1q3kzQ", "/downloads/shorts/بودكاست الأحرار/بودكاست الأحرار - 2025-07-05 - [Gu_pL1q3kzQ].mp4", true, 372, ~U[2025-07-05 15:55:11Z]] 13:22:59.686 [debug] QUERY OK source="sources" db=0.3ms 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" FROM "sources" AS s0 WHERE (s0."id" = ?) [372] 13:22:59.687 [debug] QUERY OK source="media_items" db=0.3ms idle=3.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-07-04 13:27:10Z], 372] 13:22:59.688 [debug] QUERY OK source="media_items" db=0.7ms idle=3.1ms INSERT INTO "media_items" AS m0 ("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) 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" ["حين تُهان قيمة العلم.. د. رقية تتحدث عن الأثر العميق لذلك", "2618665b-9c94-4284-9fd3-7c7665b4e3cb", 88, false, "6QJy8rTo06A", "https://www.youtube.com/shorts/6QJy8rTo06A", 17, "/downloads/shorts/بودكاست الأحرار/بودكاست الأحرار - 2025-07-04 - [6QJy8rTo06A].mp4", false, false, true, 372, [], 98, ~U[2025-07-04 13:27:10Z], ~U[2026-04-15 13:22:59Z], ~U[2026-04-15 13:22:59Z], "", "حين تُهان قيمة العلم.. د. رقية تتحدث عن الأثر العميق لذلك", 88, false, "6QJy8rTo06A", "https://www.youtube.com/shorts/6QJy8rTo06A", "/downloads/shorts/بودكاست الأحرار/بودكاست الأحرار - 2025-07-04 - [6QJy8rTo06A].mp4", true, 372, ~U[2025-07-04 13:27:10Z]] 13:22:59.689 [debug] QUERY OK source="sources" db=0.3ms idle=3.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" = ?) [372] 13:22:59.689 [debug] QUERY OK source="media_items" db=0.3ms idle=3.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-07-03 18:04:11Z], 372] 13:22:59.691 [debug] QUERY OK source="media_items" db=0.6ms idle=3.3ms INSERT INTO "media_items" AS m0 ("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) 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" ["كيف نميّز النوايا؟ وهل هناك شخص نرجسي فعلاً", "808502d6-9793-408a-aed4-8984314f6031", 52, false, "dF36XtDrOoo", "https://www.youtube.com/shorts/dF36XtDrOoo", 18, "/downloads/shorts/بودكاست الأحرار/بودكاست الأحرار - 2025-07-03 - [dF36XtDrOoo].mp4", false, false, true, 372, [], 98, ~U[2025-07-03 18:04:11Z], ~U[2026-04-15 13:22:59Z], ~U[2026-04-15 13:22:59Z], "", "كيف نميّز النوايا؟ وهل هناك شخص نرجسي فعلاً", 52, false, "dF36XtDrOoo", "https://www.youtube.com/shorts/dF36XtDrOoo", "/downloads/shorts/بودكاست الأحرار/بودكاست الأحرار - 2025-07-03 - [dF36XtDrOoo].mp4", true, 372, ~U[2025-07-03 18:04:11Z]] 13:22:59.691 [debug] QUERY OK source="sources" db=0.2ms idle=3.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" = ?) [372] 13:22:59.692 [debug] QUERY OK source="media_items" db=0.4ms idle=3.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-06-30 15:32:57Z], 372] 13:22:59.693 [debug] QUERY OK source="media_items" db=1.1ms idle=3.2ms INSERT INTO "media_items" AS m0 ("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) 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" ["نصيحة إلى مدمن المخدّرات!!", "dd79421c-6465-4a16-a4c4-e74961416bc3", 58, false, "7XnNt0peusA", "https://www.youtube.com/shorts/7XnNt0peusA", 19, "/downloads/shorts/بودكاست الأحرار/بودكاست الأحرار - 2025-06-30 - [7XnNt0peusA].mp4", false, false, true, 372, [], 98, ~U[2025-06-30 15:32:57Z], ~U[2026-04-15 13:22:59Z], ~U[2026-04-15 13:22:59Z], "", "نصيحة إلى مدمن المخدّرات!!", 58, false, "7XnNt0peusA", "https://www.youtube.com/shorts/7XnNt0peusA", "/downloads/shorts/بودكاست الأحرار/بودكاست الأحرار - 2025-06-30 - [7XnNt0peusA].mp4", true, 372, ~U[2025-06-30 15:32:57Z]] 13:22:59.694 [debug] QUERY OK source="sources" db=0.3ms idle=4.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" = ?) [372] 13:22:59.695 [debug] QUERY OK source="media_items" db=0.3ms idle=3.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-06-29 15:07:49Z], 372] 13:22:59.696 [debug] QUERY OK source="media_items" db=0.7ms idle=3.8ms INSERT INTO "media_items" AS m0 ("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) 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" ["المخدّرات ومرض الأيدز في ليبيا.. أرقام صادمة!!", "d4458e46-b74f-4301-8703-fbc7f6458388", 88, false, "IwjRnrpzmqM", "https://www.youtube.com/shorts/IwjRnrpzmqM", 20, "/downloads/shorts/بودكاست الأحرار/بودكاست الأحرار - 2025-06-29 - [IwjRnrpzmqM].mp4", false, false, true, 372, [], 97, ~U[2025-06-29 15:07:49Z], ~U[2026-04-15 13:22:59Z], ~U[2026-04-15 13:22:59Z], "", "المخدّرات ومرض الأيدز في ليبيا.. أرقام صادمة!!", 88, false, "IwjRnrpzmqM", "https://www.youtube.com/shorts/IwjRnrpzmqM", "/downloads/shorts/بودكاست الأحرار/بودكاست الأحرار - 2025-06-29 - [IwjRnrpzmqM].mp4", true, 372, ~U[2025-06-29 15:07:49Z]] 13:22:59.696 [debug] QUERY OK source="sources" db=0.2ms idle=4.3ms UPDATE "sources" SET "last_indexed_at" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-04-15 13:22:59Z], ~U[2026-04-15 13:22:59Z], 372] 13:22:59.697 [debug] QUERY OK source="media_items" db=0.6ms 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 ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [372] 13:22:59.698 [debug] QUERY OK source="media_items" db=0.5ms idle=3.6ms SELECT count(*) FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [372] 13:22:59.698 [debug] QUERY OK source="media_items" db=0.2ms idle=3.8ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [372] 13:22:59.701 [debug] QUERY OK source="tasks" db=0.2ms idle=3.4ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2192112, 372, ~U[2026-04-15 13:22:59Z], ~U[2026-04-15 13:22:59Z]] 13:22:59.701 [info] {"args":{"id":372},"id":2187216,"meta":{},"state":"success","max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","duration":392378482,"event":"job:stop","queue_time":329482,"attempt":1,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 13:22:59.885 [debug] Current batch of media processed. Will check again in 1000ms 13:23:00.859 [info] {"source":"oban","duration":85,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:23:00.886 [debug] Current batch of media processed. Will check again in 1000ms 13:23:01.887 [debug] Current batch of media processed. Will check again in 1000ms 13:23:02.888 [debug] Current batch of media processed. Will check again in 1000ms 13:23:03.309 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/shorts/eYwuLqxxIEU --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --sub-langs ar --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shorts/بزنس بالعربي (Business بالعربى )/بزنس بالعربي (Business بالعربى ) - %(upload_date>%Y-%m-%d)S - [%(id)S].%(ext)S --config-locations /config/extras/yt-dlp-configs/base-config.txt --print-to-file after_move:%()j /tmp/pinchflat/data/31/0e/310e1fa9eb83ee6de4ba88214bf7bbaf3ce843e58af976d34207fc729152839d.json --sleep-requests 4 --sleep-interval 4 --sleep-subtitles 4 --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Unable to download webpage: HTTP Error 429: Too Many Requests (caused by ) WARNING: The extractor specified to use impersonation for this download, but no impersonate target is available. If you encounter errors, then see https://github.com/yt-dlp/yt-dlp#impersonation for information on installing the required dependencies 13:23:03.340 [debug] Running yt-dlp command for action: download_thumbnail 13:23:03.341 [debug] QUERY OK source="settings" db=0.2ms idle=1330.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:23:03.341 [debug] QUERY OK source="settings" db=0.1ms idle=479.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:23:03.341 [debug] QUERY OK source="settings" db=0.1ms idle=331.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:23:03.342 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/shorts/eYwuLqxxIEU --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/4703688/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/8b/7c/8b7c4dcee4b440113fb4cf94175e83871a21b2aef5c171077e9d7f6cc41c58b8.json --sleep-requests 4 --sleep-interval 4 --sleep-subtitles 4 --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:23:03.889 [debug] Current batch of media processed. Will check again in 1000ms 13:23:04.890 [debug] Current batch of media processed. Will check again in 1000ms 13:23:05.891 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "النمو الحقيقي لا يُشترى، ولا تصنعه الحملات التسويقية وحدها، بل يبنيه عميل حصل على قيمة حقيقية فقرر أن يتحدث عنك.\n\u00A0فكّر بصدق: هل ما تقدّمه اليوم يجعل العميل يوصي بك؟\n\nتابع السلسلة لتفهم كيف يتحول رضا العميل إلى نمو مستدام\n\nهذا المحتوى مُقدَّم من Tactful AI لمشاهدة الحلقة كاملة:\nرابط الحلقة: https://f.mtr.cool/jwqhwupmub\n\nتاكتفُل هي نظام ذكي لإدارة التواصل مع العملاء لفرق المبيعات وخدمة العملاء.\nللإنضمام لمجتمع تجربة العميل من تاكتفُل، استخدم الرابط:\nhttps://f.mtr.cool/oonnknzews\n\n#بزنس_بالعربي\u00A0\n#القيادة_تسبق_الطموح\n#TactfulAI", "duration" => 44, "filename" => "/downloads/shorts/بزنس بالعربي (Business بالعربى )/بزنس بالعربي (Business بالعربى ) - 2026-04-04 - [6-fr_snBB3k].mp4", "id" => "6-fr_snBB3k", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/6-fr_snBB3k", "playlist_index" => 10, "timestamp" => 1775327206, "title" => "تجربة العميل أم خدمة العملاء؟", "upload_date" => "20260404"} 13:23:05.892 [debug] QUERY OK source="sources" db=0.2ms idle=881.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" IN (?)) [115] 13:23:05.892 [debug] QUERY OK source="sources" db=0.2ms idle=882.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" = ?) [115] 13:23:05.895 [debug] QUERY OK source="media_items" db=1.9ms idle=882.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-04 18:26:46Z], 115] 13:23:05.896 [debug] QUERY OK source="media_items" db=1.1ms idle=885.1ms 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" ["النمو الحقيقي لا يُشترى، ولا تصنعه الحملات التسويقية وحدها، بل يبنيه عميل حصل على قيمة حقيقية فقرر أن يتحدث عنك.\n\u00A0فكّر بصدق: هل ما تقدّمه اليوم يجعل العميل يوصي بك؟\n\nتابع السلسلة لتفهم كيف يتحول رضا العميل إلى نمو مستدام\n\nهذا المحتوى مُقدَّم من Tactful AI لمشاهدة الحلقة كاملة:\nرابط الحلقة: https://f.mtr.cool/jwqhwupmub\n\nتاكتفُل هي نظام ذكي لإدارة التواصل مع العملاء لفرق المبيعات وخدمة العملاء.\nللإنضمام لمجتمع تجربة العميل من تاكتفُل، استخدم الرابط:\nhttps://f.mtr.cool/oonnknzews\n\n#بزنس_بالعربي\u00A0\n#القيادة_تسبق_الطموح\n#TactfulAI", "تجربة العميل أم خدمة العملاء؟", "e11399d1-a01c-4a7a-b076-0e4455a837db", 44, false, "6-fr_snBB3k", "https://www.youtube.com/shorts/6-fr_snBB3k", 10, "/downloads/shorts/بزنس بالعربي (Business بالعربى )/بزنس بالعربي (Business بالعربى ) - 2026-04-04 - [6-fr_snBB3k].mp4", false, false, true, 115, [], 98, ~U[2026-04-04 18:26:46Z], ~U[2026-04-15 13:23:05Z], ~U[2026-04-15 13:23:05Z], "النمو الحقيقي لا يُشترى، ولا تصنعه الحملات التسويقية وحدها، بل يبنيه عميل حصل على قيمة حقيقية فقرر أن يتحدث عنك.\n\u00A0فكّر بصدق: هل ما تقدّمه اليوم يجعل العميل يوصي بك؟\n\nتابع السلسلة لتفهم كيف يتحول رضا العميل إلى نمو مستدام\n\nهذا المحتوى مُقدَّم من Tactful AI لمشاهدة الحلقة كاملة:\nرابط الحلقة: https://f.mtr.cool/jwqhwupmub\n\nتاكتفُل هي نظام ذكي لإدارة التواصل مع العملاء لفرق المبيعات وخدمة العملاء.\nللإنضمام لمجتمع تجربة العميل من تاكتفُل، استخدم الرابط:\nhttps://f.mtr.cool/oonnknzews\n\n#بزنس_بالعربي\u00A0\n#القيادة_تسبق_الطموح\n#TactfulAI", "تجربة العميل أم خدمة العملاء؟", 44, false, "6-fr_snBB3k", "https://www.youtube.com/shorts/6-fr_snBB3k", "/downloads/shorts/بزنس بالعربي (Business بالعربى )/بزنس بالعربي (Business بالعربى ) - 2026-04-04 - [6-fr_snBB3k].mp4", true, 115, ~U[2026-04-04 18:26:46Z]] 13:23:05.897 [debug] QUERY OK source="sources" db=0.3ms idle=31.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" = ?) [115] 13:23:05.897 [debug] QUERY OK source="media_profiles" db=0.3ms idle=5.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 13:23:05.898 [debug] QUERY OK source="media_items" db=0.3ms 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 [4666171] 13:23:05.898 [debug] Current batch of media processed. Will check again in 1000ms 13:23:06.899 [debug] Current batch of media processed. Will check again in 1000ms 13:23:07.900 [debug] Current batch of media processed. Will check again in 1000ms 13:23:08.901 [debug] Current batch of media processed. Will check again in 1000ms 13:23:09.879 [info] {"args":{"id":371},"id":2192076,"meta":{},"system_time":1776259389878955591,"max_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:23:09.879 [debug] QUERY OK source="sources" db=0.2ms idle=869.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" = ?) [371] 13:23:09.880 [debug] QUERY OK source="settings" db=0.2ms idle=869.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:23:09.880 [debug] QUERY OK source="media_profiles" db=0.2ms idle=870.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" = ?) [2] 13:23:09.881 [debug] QUERY OK source="settings" db=0.2ms idle=8.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:23:09.881 [debug] Fetching recent media IDs from YouTube API for playlist: UUPXKFARrr9KIazKFsIdZrbg 13:23:09.881 [debug] QUERY OK source="settings" db=0.1ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:23:09.881 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 13:23:09.902 [debug] Current batch of media processed. Will check again in 1000ms 13:23:10.522 [debug] QUERY OK source="media_items" db=1.2ms idle=641.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [371, "yoERyAZRcQw", "6jUjdCJenQs", "YpYESr2EwGs", "ouj3976UAV0", "LCEc0kTzWF8", "5ZGpRYl6ks8", "3gkOHFl5Ri4", "H255MFb1bs4", "95GWfCxldgI", "H1zRYcAm3Go", "7qp1GsOUzDQ", "JVjUwiWv3hs", "wgQQnINLVO0", "9JU10bS2zL0", "ZR7jEy3Vaso", "j5yCJlYe9eg", "iIY7sssVwrI", "a8lG2_2PvIY", "Pa4wns5otZs", "gr91GSu_Cro", "ajH6eOSCQz8", "v9om7xCpqr8", "KkpgKcSpZEQ", "zMVfXS39Q2U", "eOS-RREFSt8", "HPMKW_Riiy4", "NXLwiiz31bc", "bdTTpJLTrZ4", "dzbra-TCuUQ", "5SPKYzmAJ-Q", "Zsc3l7AVDfQ", "GjqzhuXGFAA", "NpWfLsVWwzI", "l96CSV_PcgQ", "-YGrEcjNLJ8", "JhPNMlhub4g", "5WtA5s9B3JA", "HbRInQ0QJ-8", "px1xWZRhIyA", "WK5LmlHayN0", "fcGFxqcjTyg", "vbMYWclnMJQ", "Wlmj1-25Jbw", "JWh5H2FFZ28", "siaOhImfbmc", "jO81Xp9TIIM", "kXpR9OxpnXw", "p_tveWViZTY", "9GBJPcAPYJM", ...] 13:23:10.533 [debug] QUERY OK source="media_items" db=10.0ms idle=643.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")))) [371] 13:23:10.535 [debug] QUERY OK source="tasks" db=0.2ms idle=653.9ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2192113, 371, ~U[2026-04-15 13:23:10Z], ~U[2026-04-15 13:23:10Z]] 13:23:10.536 [info] {"args":{"id":371},"id":2192076,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":656758,"event":"job:stop","queue_time":599862,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:23:10.903 [debug] Current batch of media processed. Will check again in 1000ms 13:23:11.904 [debug] Current batch of media processed. Will check again in 1000ms 13:23:12.905 [debug] Current batch of media processed. Will check again in 1000ms 13:23:13.151 [info] {"source":"oban","duration":17617,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:23:13.906 [debug] Current batch of media processed. Will check again in 1000ms 13:23:14.907 [debug] Current batch of media processed. Will check again in 1000ms 13:23:15.908 [debug] Current batch of media processed. Will check again in 1000ms 13:23:16.909 [debug] Current batch of media processed. Will check again in 1000ms 13:23:17.910 [debug] Current batch of media processed. Will check again in 1000ms 13:23:18.911 [debug] Current batch of media processed. Will check again in 1000ms 13:23:19.912 [debug] Current batch of media processed. Will check again in 1000ms 13:23:20.913 [debug] Current batch of media processed. Will check again in 1000ms 13:23:21.914 [debug] Current batch of media processed. Will check again in 1000ms 13:23:22.915 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "\"الحقيقة إنك مش في سباق مع حد غير نفسك، وكل واحد ماشي في طريق مختلف بظروف وسرعة وهدف مختلف، المقارنة المستمرة بتخليك تفقد تركيزك وتشتت طاقتك في حاجات مش بتاعتك، بينما التقدم الحقيقي بييجي لما تركز على نفسك وتشتغل على تحسين مستواك خطوة خطوة، إنت اللي بتحدد سرعتك وإنت اللي بتختار وجهتك، وكل ما تبص على سباق غيرك أكتر كل ما تبعد عن خطك إنت، النجاح مش إنك تسبق حد… النجاح إنك توصل للمكان اللي إنت عايزه بالطريقة اللي تناسبك. \n\n\n🟧 ضيف الحلقة هو:\nعمر مندور الرئيس التفيذي لشركة MIFAD\n🔸شاهد الحلقة على يوتيوب: https://youtu.be/0BoonZI_lR4\n.\n🔶خليك ديماً متابع الجديد في مكان واحد وحمل تطبيق بزنس بالعربي👇\nhttps://m.mtrbio.com/BBA-Application\n\n📌 Hydepark Developments\nإحدى أبرز شركات التطوير العقاري في مصر، بخبرة تمتد لـ15 عامًا، ومحفظة مشروعات متنوعة تضم 8 تطويرات بحضور قوي في شمال وشرق وغرب القاهرة، زُر موقع Hydepark Developments من خلال https://www.hydeparkdevelopments.com/ar/who-we-are\n\n📌 CIB \nكونك عميل CIB Business Banking يعني أنك تستفيد من أفضل المنتجات والحلول المالية وغير المالية، بالإضافة إلى خدمات مخصصة تلبي احتياجات شركتك، مع دعم مستمر يضمن لك راحة البال لتتمكن من التركيز على نمو أعمالك. وللتعرف على المزيد، أرسل كلمة \"\"بيزنس\"\" في رسالة نصية إلى الرقم 4435.\n \nhttps://share.google/gdK9EUdVpgkNRVd28\n\n\n🟧 ضيف الحلقة هو:\nعمر مندور الرئيس التفيذي لشركة MIFAD\n🔶شاهد الحلقة على يوتيوب: إزاي تكبر البزنس بدون ما تخسره - مع عمر مندور الرئيس التفيذي لشركة MIFAD\n.\n.\nهذه الحلقـــة برعايــــة:\n\n📌 Hydepark Developments\nإحدى أبرز شركات التطوير العقاري في مصر، بخبرة تمتد لـ15 عامًا، ومحفظة مشروعات متنوعة تضم 8 تطويرات بحضور قوي في شمال وشرق وغرب القاهرة.\n🟠للمزيد من التفاصيل Hydepark Developments قم بزيارة الـ ⬅️ الـ Bio\n\n📌 CIB \n\nكونك عميل CIB Business Banking يعني أنك تستفيد من أفضل المنتجات والحلول المالية وغير المالية، بالإضافة إلى خدمات مخصصة تلبي احتياجات شركتك، مع دعم مستمر يضمن لك راحة البال لتتمكن من التركيز على نمو أعمالك. وللتعرف على المزيد، أرسل كلمة \"\"بيزنس\"\" في رسالة نصية إلى الرقم 4435.\n 🟠للمزيد من التفاصيل عن CIB Business Banking قم بزيارة الـ ⬅️ الـ Bio \n\r\"", "duration" => 43, "filename" => "/downloads/shorts/بزنس بالعربي (Business بالعربى )/بزنس بالعربي (Business بالعربى ) - 2026-04-03 - [0rOJko7bZNM].mp4", "id" => "0rOJko7bZNM", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/0rOJko7bZNM", "playlist_index" => 11, "timestamp" => 1775242800, "title" => "سباقك الحقيقي مع نفسك - عمر مندور", "upload_date" => "20260403"} 13:23:22.916 [debug] QUERY OK source="sources" db=0.2ms idle=1028.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [115] 13:23:22.916 [debug] QUERY OK source="sources" db=0.2ms idle=906.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" = ?) [115] 13:23:22.919 [debug] QUERY OK source="media_items" db=2.1ms idle=906.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-03 19:00:00Z], 115] 13:23:22.922 [debug] QUERY OK source="media_items" db=1.9ms idle=909.4ms 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" ["\"الحقيقة إنك مش في سباق مع حد غير نفسك، وكل واحد ماشي في طريق مختلف بظروف وسرعة وهدف مختلف، المقارنة المستمرة بتخليك تفقد تركيزك وتشتت طاقتك في حاجات مش بتاعتك، بينما التقدم الحقيقي بييجي لما تركز على نفسك وتشتغل على تحسين مستواك خطوة خطوة، إنت اللي بتحدد سرعتك وإنت اللي بتختار وجهتك، وكل ما تبص على سباق غيرك أكتر كل ما تبعد عن خطك إنت، النجاح مش إنك تسبق حد… النجاح إنك توصل للمكان اللي إنت عايزه بالطريقة اللي تناسبك. \n\n\n🟧 ضيف الحلقة هو:\nعمر مندور الرئيس التفيذي لشركة MIFAD\n🔸شاهد الحلقة على يوتيوب: https://youtu.be/0BoonZI_lR4\n.\n🔶خليك ديماً متابع الجديد في مكان واحد وحمل تطبيق بزنس بالعربي👇\nhttps://m.mtrbio.com/BBA-Application\n\n📌 Hydepark Developments\nإحدى أبرز شركات التطوير العقاري في مصر، بخبرة تمتد لـ15 عامًا، ومحفظة مشروعات متنوعة تضم 8 تطويرات بحضور قوي في شمال وشرق وغرب القاهرة، زُر موقع Hydepark Developments من خلال https://www.hydeparkdevelopments.com/ar/who-we-are\n\n📌 CIB \nكونك عميل CIB Business Banking يعني أنك تستفيد من أفضل المنتجات والحلول المالية وغير المالية، بالإضافة إلى خدمات مخصصة تلبي احتياجات شركتك، مع دعم مستمر يضمن لك راحة البال لتتمكن من التركيز على نمو أعمالك. وللتعرف على المزيد، أرسل كلمة \"\"بيزنس\"\" في رسالة نصية إلى الرقم 4435.\n \nhttps://share.google/gdK9EUdVpgkNRVd28\n\n\n🟧 ضيف الحلقة هو:\nعمر مندور الرئيس التفيذي لشركة MIFAD\n🔶شاهد الحلقة على يوتيوب: إزاي تكبر البزنس بدون ما تخسره - مع عمر مندور الرئيس التفيذي لشركة MIFAD\n.\n.\nهذه الحلقـــة برعايــــة:\n\n📌 Hydepark Developments\nإحدى أبرز شركات التطوير العقاري في مصر، بخبرة تمتد لـ15 عامًا، ومحفظة مشروعات متنوعة تضم 8 تطويرات بحضور قوي في شمال وشرق وغرب القاهرة.\n🟠للمزيد من التفاصيل Hydepark Developments قم بزيارة الـ ⬅️ الـ Bio\n\n📌 CIB \n\nكونك عميل CIB Business Banking يعني أنك تستفيد من أفضل المنتجات والحلول المالية وغير المالية، بالإضافة إلى خدمات مخصصة تلبي احتياجات شركتك، مع دعم مستمر يضمن لك راحة البال لتتمكن من التركيز على نمو أعمالك. وللتعرف على المزيد، أرسل كلمة \"\"بيزنس\"\" في رسالة نصية إلى الرقم 4435.\n 🟠للمزيد من التفاصيل عن CIB Business Banking قم بزيارة الـ ⬅️ الـ Bio \n\r\"", "سباقك الحقيقي مع نفسك - عمر مندور", "47b06964-2636-4c47-84d0-119cbb083287", 43, false, "0rOJko7bZNM", "https://www.youtube.com/shorts/0rOJko7bZNM", 11, "/downloads/shorts/بزنس بالعربي (Business بالعربى )/بزنس بالعربي (Business بالعربى ) - 2026-04-03 - [0rOJko7bZNM].mp4", false, false, true, 115, [], 97, ~U[2026-04-03 19:00:00Z], ~U[2026-04-15 13:23:22Z], ~U[2026-04-15 13:23:22Z], "\"الحقيقة إنك مش في سباق مع حد غير نفسك، وكل واحد ماشي في طريق مختلف بظروف وسرعة وهدف مختلف، المقارنة المستمرة بتخليك تفقد تركيزك وتشتت طاقتك في حاجات مش بتاعتك، بينما التقدم الحقيقي بييجي لما تركز على نفسك وتشتغل على تحسين مستواك خطوة خطوة، إنت اللي بتحدد سرعتك وإنت اللي بتختار وجهتك، وكل ما تبص على سباق غيرك أكتر كل ما تبعد عن خطك إنت، النجاح مش إنك تسبق حد… النجاح إنك توصل للمكان اللي إنت عايزه بالطريقة اللي تناسبك. \n\n\n🟧 ضيف الحلقة هو:\nعمر مندور الرئيس التفيذي لشركة MIFAD\n🔸شاهد الحلقة على يوتيوب: https://youtu.be/0BoonZI_lR4\n.\n🔶خليك ديماً متابع الجديد في مكان واحد وحمل تطبيق بزنس بالعربي👇\nhttps://m.mtrbio.com/BBA-Application\n\n📌 Hydepark Developments\nإحدى أبرز شركات التطوير العقاري في مصر، بخبرة تمتد لـ15 عامًا، ومحفظة مشروعات متنوعة تضم 8 تطويرات بحضور قوي في شمال وشرق وغرب القاهرة، زُر موقع Hydepark Developments من خلال https://www.hydeparkdevelopments.com/ar/who-we-are\n\n📌 CIB \nكونك عميل CIB Business Banking يعني أنك تستفيد من أفضل المنتجات والحلول المالية وغير المالية، بالإضافة إلى خدمات مخصصة تلبي احتياجات شركتك، مع دعم مستمر يضمن لك راحة البال لتتمكن من التركيز على نمو أعمالك. وللتعرف على المزيد، أرسل كلمة \"\"بيزنس\"\" في رسالة نصية إلى الرقم 4435.\n \nhttps://share.google/gdK9EUdVpgkNRVd28\n\n\n🟧 ضيف الحلقة هو:\nعمر مندور الرئيس التفيذي لشركة MIFAD\n🔶شاهد الحلقة على يوتيوب: إزاي تكبر البزنس بدون ما تخسره - مع عمر مندور الرئيس التفيذي لشركة MIFAD\n.\n.\nهذه الحلقـــة برعايــــة:\n\n📌 Hydepark Developments\nإحدى أبرز شركات التطوير العقاري في مصر، بخبرة تمتد لـ15 عامًا، ومحفظة مشروعات متنوعة تضم 8 تطويرات بحضور قوي في شمال وشرق وغرب القاهرة.\n🟠للمزيد من التفاصيل Hydepark Developments قم بزيارة الـ ⬅️ الـ Bio\n\n📌 CIB \n\nكونك عميل CIB Business Banking يعني أنك تستفيد من أفضل المنتجات والحلول المالية وغير المالية، بالإضافة إلى خدمات مخصصة تلبي احتياجات شركتك، مع دعم مستمر يضمن لك راحة البال لتتمكن من التركيز على نمو أعمالك. وللتعرف على المزيد، أرسل كلمة \"\"بيزنس\"\" في رسالة نصية إلى الرقم 4435.\n 🟠للمزيد من التفاصيل عن CIB Business Banking قم بزيارة الـ ⬅️ الـ Bio \n\r\"", "سباقك الحقيقي مع نفسك - عمر مندور", 43, false, "0rOJko7bZNM", "https://www.youtube.com/shorts/0rOJko7bZNM", "/downloads/shorts/بزنس بالعربي (Business بالعربى )/بزنس بالعربي (Business بال (truncated) 13:23:22.923 [debug] QUERY OK source="sources" db=0.8ms idle=33.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" = ?) [115] 13:23:22.923 [debug] QUERY OK source="media_profiles" db=0.3ms idle=7.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 13:23:22.924 [debug] QUERY OK source="media_items" db=0.3ms idle=7.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 [4662515] 13:23:22.924 [debug] Current batch of media processed. Will check again in 1000ms 13:23:23.925 [debug] Current batch of media processed. Will check again in 1000ms 13:23:24.926 [debug] Current batch of media processed. Will check again in 1000ms 13:23:25.927 [debug] Current batch of media processed. Will check again in 1000ms 13:23:26.928 [debug] Current batch of media processed. Will check again in 1000ms 13:23:27.103 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/shorts/eYwuLqxxIEU --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/4703688/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/8b/7c/8b7c4dcee4b440113fb4cf94175e83871a21b2aef5c171077e9d7f6cc41c58b8.json --sleep-requests 4 --sleep-interval 4 --sleep-subtitles 4 --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: [youtube] Unable to download webpage: HTTP Error 429: Too Many Requests (caused by ) 13:23:27.103 [debug] QUERY OK db=0.0ms idle=1093.5ms begin [] 13:23:27.104 [debug] QUERY OK source="media_items" db=0.6ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "subtitle_filepaths" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-04-15 13:23:03Z], "/downloads/shorts/بزنس بالعربي (Business بالعربى )/بزنس بالعربي (Business بالعربى ) - 2026-04-14 - [eYwuLqxxIEU].mp4", [["ar", "/downloads/shorts/بزنس بالعربي (Business بالعربى )/بزنس بالعربي (Business بالعربى ) - 2026-04-14 - [eYwuLqxxIEU].ar.srt"]], ~U[2026-04-15 13:23:27Z], 4703688] 13:23:27.105 [debug] QUERY OK source="media_metadata" db=0.4ms INSERT INTO "media_metadata" ("metadata_filepath","thumbnail_filepath","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5) RETURNING "id" ["/config/metadata/media_items/4703688/metadata.json.gz", "/config/metadata/media_items/4703688/thumbnail.jpg", 4703688, ~U[2026-04-15 13:23:27Z], ~U[2026-04-15 13:23:27Z]] 13:23:27.105 [debug] QUERY OK db=0.2ms commit [] 13:23:27.107 [debug] QUERY OK source="media_items" db=1.1ms idle=1095.9ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [4209230, ~U[2026-04-15 13:23:27Z], 4703688] 13:23:27.107 [info] [command_wrapper]: /config/extras/user-scripts/lifecycle called with: [suppressed] 13:23:27.517 [debug] [command_wrapper]: /config/extras/user-scripts/lifecycle called with: [suppressed] exited: 0 with: [lifecycle] Installing yt-dlp Python package and PO token plugin... [lifecycle] PO token plugin setup complete 13:23:27.518 [info] {"args":{"id":4703688},"id":2192106,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":79810600,"event":"job:stop","queue_time":51706098,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:23:27.929 [debug] Current batch of media processed. Will check again in 1000ms 13:23:28.930 [debug] Current batch of media processed. Will check again in 1000ms 13:23:29.931 [debug] Current batch of media processed. Will check again in 1000ms 13:23:30.932 [debug] Current batch of media processed. Will check again in 1000ms 13:23:31.933 [debug] Current batch of media processed. Will check again in 1000ms 13:23:32.934 [debug] Current batch of media processed. Will check again in 1000ms 13:23:33.092 [info] GET /sources/116/media/4622874/force_download 13:23:33.092 [debug] QUERY OK source="settings" db=0.2ms idle=192.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:23:33.093 [debug] QUERY OK source="settings" db=0.1ms idle=82.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:23:33.093 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 13:23:33.093 [error] #PID<0.6078.0> running PinchflatWeb.Endpoint (connection #PID<0.6077.0>, stream id 1) terminated Server: jak.hibeex.com:80 (http) Request: GET /sources/116/media/4622874/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/116/media/4622874/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.6077.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/116/media/4622874/force_download", host: "jak.hibeex.com", peer: {{172, 22, 0, 1}, 43116}, bindings: %{}, sock: {{172, 22, 0, 4}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYb2dHdW5qQ0YwLThLMW1XMjFGdVhxM0I5.rFq0SpYnG7Ff8yH2OylQa1ZsLf_noAuNpOiyw0SPG0U", "from" => "gptbot(at)openai.com", "host" => "jak.hibeex.com", "referer" => "https://jak.hibeex.com/sources/116/media/4622874?prevent_download=true", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.232", "x-forwarded-proto" => "https", "x-openai-host-hash" => "41517590", "x-real-ip" => "74.7.243.232" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYb2dHdW5qQ0YwLThLMW1XMjFGdVhxM0I5.rFq0SpYnG7Ff8yH2OylQa1ZsLf_noAuNpOiyw0SPG0U" }, halted: false, host: "jak.hibeex.com", method: "GET", owner: #PID<0.6078.0>, params: %{}, path_info: ["sources", "116", "media", "4622874", "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://jak.hibeex.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 22, 0, 1}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYb2dHdW5qQ0YwLThLMW1XMjFGdVhxM0I5.rFq0SpYnG7Ff8yH2OylQa1ZsLf_noAuNpOiyw0SPG0U" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"connection", "close"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYb2dHdW5qQ0YwLThLMW1XMjFGdVhxM0I5.rFq0SpYnG7Ff8yH2OylQa1ZsLf_noAuNpOiyw0SPG0U"}, {"from", "gptbot(at)openai.com"}, {"host", "jak.hibeex.com"}, {"referer", "https://jak.hibeex.com/sources/116/media/4622874?prevent_download=true"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)"}, {"x-forwarded-for", "74.7.243.232"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "41517590"}, {"x-real-ip", "74.7.243.232"} ], request_path: "/sources/116/media/4622874/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKaKhnJPjCP4E3cAA92B"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.6077.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/116/media/4622874/force_download", host: "jak.hibeex.com", peer: {{172, 22, 0, 1}, 43116}, bindings: %{}, sock: {{172, 22, 0, 4}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYb2dHdW5qQ0YwLThLMW1XMjFGdVhxM0I5.rFq0SpYnG7Ff8yH2OylQa1ZsLf_noAuNpOiyw0SPG0U", "from" => "gptbot(at)openai.com", "host" => "jak.hibeex.com", "referer" => "https://jak.hibeex.com/sources/116/media/4622874?prevent_download=true", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.232", "x-forwarded-proto" => "https", "x-openai-host-hash" => "41517590", "x-real-ip" => "74.7.243.232" }, method: "GET", body_length: 0, path_info: :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/116/media/4622874/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.6077.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/116/media/4622874/force_download", host: "jak.hibeex.com", peer: {{172, 22, 0, 1}, 43116}, bindings: %{}, sock: {{172, 22, 0, 4}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYb2dHdW5qQ0YwLThLMW1XMjFGdVhxM0I5.rFq0SpYnG7Ff8yH2OylQa1ZsLf_noAuNpOiyw0SPG0U", "from" => "gptbot(at)openai.com", "host" => "jak.hibeex.com", "referer" => "https://jak.hibeex.com/sources/116/media/4622874?prevent_download=true", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.232", "x-forwarded-proto" => "https", "x-openai-host-hash" => "41517590", "x-real-ip" => "74.7.243.232" }, method: "GET", body_length: 0, path_info: :und (truncated) 13:23:33.935 [debug] Current batch of media processed. Will check again in 1000ms 13:23:34.936 [debug] Current batch of media processed. Will check again in 1000ms 13:23:35.937 [debug] Current batch of media processed. Will check again in 1000ms 13:23:36.938 [debug] Current batch of media processed. Will check again in 1000ms 13:23:37.939 [debug] Current batch of media processed. Will check again in 1000ms 13:23:38.941 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "\"النمو والتوسع هدف لأي بيزنس، لكن لو مش مُدار بشكل واعي وصح ممكن يتحول من فرصة لتهديد، لأن مع السرعة في التوسع بيبدأ يحصل تنازل تدريجي عن معايير التشغيل والجودة من غير ما تحس، وده بيأثر على تجربة العميل وعلى سمعة البراند على المدى الطويل، المشكلة إن النتائج في الأول ممكن تبان كويسة بسبب زيادة الأرقام، لكن الأساس بيبدأ يضعف، والبزنس اللي بيكبر من غير سيستم قوي بيستحمل النمو ده، غالبًا بيدفع الثمن بعد كده، التوسع الصح مش في السرعة… التوسع الصح في إنك تكبر وتحافظ في نفس الوقت على الجودة اللي خلتك تنجح من البداية. \n\n\n🟧 ضيف الحلقة هو:\nعمر مندور الرئيس التفيذي لشركة MIFAD\n🔸شاهد الحلقة على يوتيوب: https://youtu.be/0BoonZI_lR4\n.\n🔶خليك ديماً متابع الجديد في مكان واحد وحمل تطبيق بزنس بالعربي👇\nhttps://m.mtrbio.com/BBA-Application\n\n📌 Hydepark Developments\nإحدى أبرز شركات التطوير العقاري في مصر، بخبرة تمتد لـ15 عامًا، ومحفظة مشروعات متنوعة تضم 8 تطويرات بحضور قوي في شمال وشرق وغرب القاهرة، زُر موقع Hydepark Developments من خلال https://www.hydeparkdevelopments.com/ar/who-we-are\n\n📌 CIB \nكونك عميل CIB Business Banking يعني أنك تستفيد من أفضل المنتجات والحلول المالية وغير المالية، بالإضافة إلى خدمات مخصصة تلبي احتياجات شركتك، مع دعم مستمر يضمن لك راحة البال لتتمكن من التركيز على نمو أعمالك. وللتعرف على المزيد، أرسل كلمة \"\"بيزنس\"\" في رسالة نصية إلى الرقم 4435.\n \nhttps://share.google/gdK9EUdVpgkNRVd28\n\n\n🟧 ضيف الحلقة هو:\nعمر مندور الرئيس التفيذي لشركة MIFAD\n🔶شاهد الحلقة على يوتيوب: إزاي تكبر البزنس بدون ما تخسره - مع عمر مندور الرئيس التفيذي لشركة MIFAD\n.\n.\nهذه الحلقـــة برعايــــة:\n\n📌 Hydepark Developments\nإحدى أبرز شركات التطوير العقاري في مصر، بخبرة تمتد لـ15 عامًا، ومحفظة مشروعات متنوعة تضم 8 تطويرات بحضور قوي في شمال وشرق وغرب القاهرة.\n🟠للمزيد من التفاصيل Hydepark Developments قم بزيارة الـ ⬅️ الـ Bio\n\n📌 CIB \n\nكونك عميل CIB Business Banking يعني أنك تستفيد من أفضل المنتجات والحلول المالية وغير المالية، بالإضافة إلى خدمات مخصصة تلبي احتياجات شركتك، مع دعم مستمر يضمن لك راحة البال لتتمكن من التركيز على نمو أعمالك. وللتعرف على المزيد، أرسل كلمة \"\"بيزنس\"\" في رسالة نصية إلى الرقم 4435.\n 🟠للمزيد من التفاصيل عن CIB Business Banking قم بزيارة الـ ⬅️ الـ Bio \n\r\"", "duration" => 40, "filename" => "/downloads/shorts/بزنس بالعربي (Business بالعربى )/بزنس بالعربي (Business بالعربى ) - 2026-04-03 - [GtBw_RtRDsk].mp4", "id" => "GtBw_RtRDsk", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/GtBw_RtRDsk", "playlist_index" => 12, "timestamp" => 1775199600, "title" => "إزاي تكبر من غير ما تقع؟ - عمر مندور", "upload_date" => "20260403"} 13:23:38.941 [debug] QUERY OK source="sources" db=0.1ms idle=1931.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" IN (?)) [115] 13:23:38.942 [debug] QUERY OK source="sources" db=0.1ms idle=1931.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" = ?) [115] 13:23:38.944 [debug] QUERY OK source="media_items" db=1.9ms idle=1931.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-03 07:00:00Z], 115] 13:23:38.947 [debug] QUERY OK source="media_items" db=1.9ms idle=1037.7ms 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" ["\"النمو والتوسع هدف لأي بيزنس، لكن لو مش مُدار بشكل واعي وصح ممكن يتحول من فرصة لتهديد، لأن مع السرعة في التوسع بيبدأ يحصل تنازل تدريجي عن معايير التشغيل والجودة من غير ما تحس، وده بيأثر على تجربة العميل وعلى سمعة البراند على المدى الطويل، المشكلة إن النتائج في الأول ممكن تبان كويسة بسبب زيادة الأرقام، لكن الأساس بيبدأ يضعف، والبزنس اللي بيكبر من غير سيستم قوي بيستحمل النمو ده، غالبًا بيدفع الثمن بعد كده، التوسع الصح مش في السرعة… التوسع الصح في إنك تكبر وتحافظ في نفس الوقت على الجودة اللي خلتك تنجح من البداية. \n\n\n🟧 ضيف الحلقة هو:\nعمر مندور الرئيس التفيذي لشركة MIFAD\n🔸شاهد الحلقة على يوتيوب: https://youtu.be/0BoonZI_lR4\n.\n🔶خليك ديماً متابع الجديد في مكان واحد وحمل تطبيق بزنس بالعربي👇\nhttps://m.mtrbio.com/BBA-Application\n\n📌 Hydepark Developments\nإحدى أبرز شركات التطوير العقاري في مصر، بخبرة تمتد لـ15 عامًا، ومحفظة مشروعات متنوعة تضم 8 تطويرات بحضور قوي في شمال وشرق وغرب القاهرة، زُر موقع Hydepark Developments من خلال https://www.hydeparkdevelopments.com/ar/who-we-are\n\n📌 CIB \nكونك عميل CIB Business Banking يعني أنك تستفيد من أفضل المنتجات والحلول المالية وغير المالية، بالإضافة إلى خدمات مخصصة تلبي احتياجات شركتك، مع دعم مستمر يضمن لك راحة البال لتتمكن من التركيز على نمو أعمالك. وللتعرف على المزيد، أرسل كلمة \"\"بيزنس\"\" في رسالة نصية إلى الرقم 4435.\n \nhttps://share.google/gdK9EUdVpgkNRVd28\n\n\n🟧 ضيف الحلقة هو:\nعمر مندور الرئيس التفيذي لشركة MIFAD\n🔶شاهد الحلقة على يوتيوب: إزاي تكبر البزنس بدون ما تخسره - مع عمر مندور الرئيس التفيذي لشركة MIFAD\n.\n.\nهذه الحلقـــة برعايــــة:\n\n📌 Hydepark Developments\nإحدى أبرز شركات التطوير العقاري في مصر، بخبرة تمتد لـ15 عامًا، ومحفظة مشروعات متنوعة تضم 8 تطويرات بحضور قوي في شمال وشرق وغرب القاهرة.\n🟠للمزيد من التفاصيل Hydepark Developments قم بزيارة الـ ⬅️ الـ Bio\n\n📌 CIB \n\nكونك عميل CIB Business Banking يعني أنك تستفيد من أفضل المنتجات والحلول المالية وغير المالية، بالإضافة إلى خدمات مخصصة تلبي احتياجات شركتك، مع دعم مستمر يضمن لك راحة البال لتتمكن من التركيز على نمو أعمالك. وللتعرف على المزيد، أرسل كلمة \"\"بيزنس\"\" في رسالة نصية إلى الرقم 4435.\n 🟠للمزيد من التفاصيل عن CIB Business Banking قم بزيارة الـ ⬅️ الـ Bio \n\r\"", "إزاي تكبر من غير ما تقع؟ - عمر مندور", "c8d13c23-a4af-471f-a9c4-807d9af048eb", 40, false, "GtBw_RtRDsk", "https://www.youtube.com/shorts/GtBw_RtRDsk", 12, "/downloads/shorts/بزنس بالعربي (Business بالعربى )/بزنس بالعربي (Business بالعربى ) - 2026-04-03 - [GtBw_RtRDsk].mp4", false, false, true, 115, [], 97, ~U[2026-04-03 07:00:00Z], ~U[2026-04-15 13:23:38Z], ~U[2026-04-15 13:23:38Z], "\"النمو والتوسع هدف لأي بيزنس، لكن لو مش مُدار بشكل واعي وصح ممكن يتحول من فرصة لتهديد، لأن مع السرعة في التوسع بيبدأ يحصل تنازل تدريجي عن معايير التشغيل والجودة من غير ما تحس، وده بيأثر على تجربة العميل وعلى سمعة البراند على المدى الطويل، المشكلة إن النتائج في الأول ممكن تبان كويسة بسبب زيادة الأرقام، لكن الأساس بيبدأ يضعف، والبزنس اللي بيكبر من غير سيستم قوي بيستحمل النمو ده، غالبًا بيدفع الثمن بعد كده، التوسع الصح مش في السرعة… التوسع الصح في إنك تكبر وتحافظ في نفس الوقت على الجودة اللي خلتك تنجح من البداية. \n\n\n🟧 ضيف الحلقة هو:\nعمر مندور الرئيس التفيذي لشركة MIFAD\n🔸شاهد الحلقة على يوتيوب: https://youtu.be/0BoonZI_lR4\n.\n🔶خليك ديماً متابع الجديد في مكان واحد وحمل تطبيق بزنس بالعربي👇\nhttps://m.mtrbio.com/BBA-Application\n\n📌 Hydepark Developments\nإحدى أبرز شركات التطوير العقاري في مصر، بخبرة تمتد لـ15 عامًا، ومحفظة مشروعات متنوعة تضم 8 تطويرات بحضور قوي في شمال وشرق وغرب القاهرة، زُر موقع Hydepark Developments من خلال https://www.hydeparkdevelopments.com/ar/who-we-are\n\n📌 CIB \nكونك عميل CIB Business Banking يعني أنك تستفيد من أفضل المنتجات والحلول المالية وغير المالية، بالإضافة إلى خدمات مخصصة تلبي احتياجات شركتك، مع دعم مستمر يضمن لك راحة البال لتتمكن من التركيز على نمو أعمالك. وللتعرف على المزيد، أرسل كلمة \"\"بيزنس\"\" في رسالة نصية إلى الرقم 4435.\n \nhttps://share.google/gdK9EUdVpgkNRVd28\n\n\n🟧 ضيف الحلقة هو:\nعمر مندور الرئيس التفيذي لشركة MIFAD\n🔶شاهد الحلقة على يوتيوب: إزاي تكبر البزنس بدون ما تخسره - مع عمر مندور الرئيس التفيذي لشركة MIFAD\n.\n.\nهذه الحلقـــة برعايــــة:\n\n📌 Hydepark Developments\nإحدى أبرز شركات التطوير العقاري في مصر، بخبرة تمتد لـ15 عامًا، ومحفظة مشروعات متنوعة تضم 8 تطويرات بحضور قوي في شمال وشرق وغرب القاهرة.\n🟠للمزيد من التفاصيل Hydepark Developments قم بزيارة الـ ⬅️ الـ Bio\n\n📌 CIB \n\nكونك عميل CIB Business Banking يعني أنك تستفيد من أفضل المنتجات والحلول المالية وغير المالية، بالإضافة إلى خدمات مخصصة تلبي احتياجات شركتك، مع دعم مستمر يضمن لك راحة البال لتتمكن من التركيز على نمو أعمالك. وللتعرف على المزيد، أرسل كلمة \"\"بيزنس\"\" في رسالة نصية إلى الرقم 4435.\n 🟠للمزي (truncated) 13:23:38.947 [debug] QUERY OK source="sources" db=0.3ms idle=39.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" = ?) [115] 13:23:38.948 [debug] QUERY OK source="media_profiles" db=0.2ms idle=6.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 13:23:38.948 [debug] QUERY OK source="media_items" db=0.3ms idle=6.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4658879] 13:23:38.949 [debug] Current batch of media processed. Will check again in 1000ms 13:23:39.950 [debug] Current batch of media processed. Will check again in 1000ms 13:23:40.951 [debug] Current batch of media processed. Will check again in 1000ms 13:23:41.952 [debug] Current batch of media processed. Will check again in 1000ms 13:23:42.953 [debug] Current batch of media processed. Will check again in 1000ms 13:23:43.170 [info] {"source":"oban","duration":17764,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:23:43.954 [debug] Current batch of media processed. Will check again in 1000ms 13:23:44.955 [debug] Current batch of media processed. Will check again in 1000ms 13:23:45.956 [debug] Current batch of media processed. Will check again in 1000ms 13:23:46.957 [debug] Current batch of media processed. Will check again in 1000ms 13:23:47.958 [debug] Current batch of media processed. Will check again in 1000ms 13:23:48.959 [debug] Current batch of media processed. Will check again in 1000ms 13:23:49.960 [debug] Current batch of media processed. Will check again in 1000ms 13:23:50.961 [debug] Current batch of media processed. Will check again in 1000ms 13:23:51.962 [debug] Current batch of media processed. Will check again in 1000ms 13:23:52.963 [debug] Current batch of media processed. Will check again in 1000ms 13:23:53.964 [debug] Current batch of media processed. Will check again in 1000ms 13:23:54.965 [debug] Current batch of media processed. Will check again in 1000ms 13:23:55.966 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "\"التسويق الحقيقي مش مجرد إعلان أو بوست أو حملة، لكنه عملية متكاملة بين العلم والإبداع، لأن حوالي 80% من الشغل بيكون تحليل وأرقام وفهم للسوق واتجاهاته وبناء استراتيجية واضحة، والجزء الظاهر للناس هو آخر خطوة بس، وهي التنفيذ والأدوات والإعلانات، المشكلة إن ناس كتير بتبدأ من الآخر وتركز على الشكل من غير ما تبني الأساس، فبتصرف فلوس كتير على حملات من غير نتائج حقيقية، لكن لما التسويق يتبني صح من البداية على فهم وتحليل، الإعلان ساعتها بيبقى مجرد وسيلة توصل بيها رسالة قوية مش محاولة تعويض لأساس ضعيف، وده الفرق بين اللي بيشتغل تسويق بجد واللي بيجرب حظه. \n\n🟧 ضيف الحلقة هو:\nعمر مندور الرئيس التفيذي لشركة MIFAD\n🔶شاهد الحلقة على يوتيوب: إزاي تكبر البزنس بدون ما تخسره - مع عمر مندور الرئيس التفيذي لشركة MIFAD\n.\n.\nهذه الحلقـــة برعايــــة:\n\n📌 Hydepark Developments\nإحدى أبرز شركات التطوير العقاري في مصر، بخبرة تمتد لـ15 عامًا، ومحفظة مشروعات متنوعة تضم 8 تطويرات بحضور قوي في شمال وشرق وغرب القاهرة.\n🟠للمزيد من التفاصيل Hydepark Developments قم بزيارة الـ ⬅️ الـ Bio\n\n📌 CIB \n\nكونك عميل CIB Business Banking يعني أنك تستفيد من أفضل المنتجات والحلول المالية وغير المالية، بالإضافة إلى خدمات مخصصة تلبي احتياجات شركتك، مع دعم مستمر يضمن لك راحة البال لتتمكن من التركيز على نمو أعمالك. وللتعرف على المزيد، أرسل كلمة \"\"بيزنس\"\" في رسالة نصية إلى الرقم 4435.\n 🟠للمزيد من التفاصيل عن CIB Business Banking قم بزيارة الـ ⬅️ الـ Bio \n\r\"", "duration" => 57, "filename" => "/downloads/shorts/بزنس بالعربي (Business بالعربى )/بزنس بالعربي (Business بالعربى ) - 2026-04-02 - [pF8gxcwWZHQ].mp4", "id" => "pF8gxcwWZHQ", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/pF8gxcwWZHQ", "playlist_index" => 13, "timestamp" => 1775113200, "title" => "اللي فاهم تسويق عمره ما يبدأ بإعلان - عمر مندور", "upload_date" => "20260402"} 13:23:55.967 [debug] QUERY OK source="sources" db=0.2ms idle=1956.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" IN (?)) [115] 13:23:55.967 [debug] QUERY OK source="sources" db=0.1ms idle=1957.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" = ?) [115] 13:23:55.969 [debug] QUERY OK source="media_items" db=1.9ms idle=1039.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-02 07:00:00Z], 115] 13:23:55.977 [debug] QUERY OK source="media_items" db=6.8ms idle=960.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" ["\"التسويق الحقيقي مش مجرد إعلان أو بوست أو حملة، لكنه عملية متكاملة بين العلم والإبداع، لأن حوالي 80% من الشغل بيكون تحليل وأرقام وفهم للسوق واتجاهاته وبناء استراتيجية واضحة، والجزء الظاهر للناس هو آخر خطوة بس، وهي التنفيذ والأدوات والإعلانات، المشكلة إن ناس كتير بتبدأ من الآخر وتركز على الشكل من غير ما تبني الأساس، فبتصرف فلوس كتير على حملات من غير نتائج حقيقية، لكن لما التسويق يتبني صح من البداية على فهم وتحليل، الإعلان ساعتها بيبقى مجرد وسيلة توصل بيها رسالة قوية مش محاولة تعويض لأساس ضعيف، وده الفرق بين اللي بيشتغل تسويق بجد واللي بيجرب حظه. \n\n🟧 ضيف الحلقة هو:\nعمر مندور الرئيس التفيذي لشركة MIFAD\n🔶شاهد الحلقة على يوتيوب: إزاي تكبر البزنس بدون ما تخسره - مع عمر مندور الرئيس التفيذي لشركة MIFAD\n.\n.\nهذه الحلقـــة برعايــــة:\n\n📌 Hydepark Developments\nإحدى أبرز شركات التطوير العقاري في مصر، بخبرة تمتد لـ15 عامًا، ومحفظة مشروعات متنوعة تضم 8 تطويرات بحضور قوي في شمال وشرق وغرب القاهرة.\n🟠للمزيد من التفاصيل Hydepark Developments قم بزيارة الـ ⬅️ الـ Bio\n\n📌 CIB \n\nكونك عميل CIB Business Banking يعني أنك تستفيد من أفضل المنتجات والحلول المالية وغير المالية، بالإضافة إلى خدمات مخصصة تلبي احتياجات شركتك، مع دعم مستمر يضمن لك راحة البال لتتمكن من التركيز على نمو أعمالك. وللتعرف على المزيد، أرسل كلمة \"\"بيزنس\"\" في رسالة نصية إلى الرقم 4435.\n 🟠للمزيد من التفاصيل عن CIB Business Banking قم بزيارة الـ ⬅️ الـ Bio \n\r\"", "اللي فاهم تسويق عمره ما يبدأ بإعلان - عمر مندور", "65d2a6c6-80d7-4519-82e5-ba73ec3fb9e7", 57, false, "pF8gxcwWZHQ", "https://www.youtube.com/shorts/pF8gxcwWZHQ", 13, "/downloads/shorts/بزنس بالعربي (Business بالعربى )/بزنس بالعربي (Business بالعربى ) - 2026-04-02 - [pF8gxcwWZHQ].mp4", false, false, true, 115, [], 98, ~U[2026-04-02 07:00:00Z], ~U[2026-04-15 13:23:55Z], ~U[2026-04-15 13:23:55Z], "\"التسويق الحقيقي مش مجرد إعلان أو بوست أو حملة، لكنه عملية متكاملة بين العلم والإبداع، لأن حوالي 80% من الشغل بيكون تحليل وأرقام وفهم للسوق واتجاهاته وبناء استراتيجية واضحة، والجزء الظاهر للناس هو آخر خطوة بس، وهي التنفيذ والأدوات والإعلانات، المشكلة إن ناس كتير بتبدأ من الآخر وتركز على الشكل من غير ما تبني الأساس، فبتصرف فلوس كتير على حملات من غير نتائج حقيقية، لكن لما التسويق يتبني صح من البداية على فهم وتحليل، الإعلان ساعتها بيبقى مجرد وسيلة توصل بيها رسالة قوية مش محاولة تعويض لأساس ضعيف، وده الفرق بين اللي بيشتغل تسويق بجد واللي بيجرب حظه. \n\n🟧 ضيف الحلقة هو:\nعمر مندور الرئيس التفيذي لشركة MIFAD\n🔶شاهد الحلقة على يوتيوب: إزاي تكبر البزنس بدون ما تخسره - مع عمر مندور الرئيس التفيذي لشركة MIFAD\n.\n.\nهذه الحلقـــة برعايــــة:\n\n📌 Hydepark Developments\nإحدى أبرز شركات التطوير العقاري في مصر، بخبرة تمتد لـ15 عامًا، ومحفظة مشروعات متنوعة تضم 8 تطويرات بحضور قوي في شمال وشرق وغرب القاهرة.\n🟠للمزيد من التفاصيل Hydepark Developments قم بزيارة الـ ⬅️ الـ Bio\n\n📌 CIB \n\nكونك عميل CIB Business Banking يعني أنك تستفيد من أفضل المنتجات والحلول المالية وغير المالية، بالإضافة إلى خدمات مخصصة تلبي احتياجات شركتك، مع دعم مستمر يضمن لك راحة البال لتتمكن من التركيز على نمو أعمالك. وللتعرف على المزيد، أرسل كلمة \"\"بيزنس\"\" في رسالة نصية إلى الرقم 4435.\n 🟠للمزيد من التفاصيل عن CIB Business Banking قم بزيارة الـ ⬅️ الـ Bio \n\r\"", "اللي فاهم تسويق عمره ما يبدأ بإعلان - عمر مندور", 57, false, "pF8gxcwWZHQ", "https://www.youtube.com/shorts/pF8gxcwWZHQ", "/downloads/shorts/بزنس بالعربي (Business بالعربى )/بزنس بالعربي (Business بالعربى ) - 2026-04-02 - [pF8gxcwWZHQ].mp4", true, 115, ~U[2026-04-02 07:00:00Z]] 13:23:55.978 [debug] QUERY OK source="sources" db=0.3ms idle=48.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [115] 13:23:55.978 [debug] QUERY OK source="media_profiles" db=0.2ms idle=11.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 13:23:55.979 [debug] QUERY OK source="media_items" db=0.3ms idle=11.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4655203] 13:23:55.979 [debug] Current batch of media processed. Will check again in 1000ms 13:23:56.980 [debug] Current batch of media processed. Will check again in 1000ms 13:23:57.934 [info] GET /sources/45/media/4702300 13:23:57.934 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "4702300", "prevent_download" => "true", "source_id" => "45"} Pipelines: [:browser] 13:23:57.935 [debug] QUERY OK source="media_items" db=0.2ms idle=924.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" = ?) [4702300] 13:23:57.935 [debug] QUERY OK source="tasks" db=0.2ms idle=925.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" [4702300] 13:23:57.936 [debug] QUERY OK source="sources" db=0.3ms idle=925.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" = ?) [45] 13:23:57.936 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=926.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" = ?) [2191300] 13:23:57.936 [debug] QUERY OK source="settings" db=0.1ms idle=3.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:23:57.937 [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 [] 13:23:57.937 [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 [] 13:23:57.938 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 13:23:57.939 [info] Sent 200 in 5ms 13:23:57.981 [debug] Current batch of media processed. Will check again in 1000ms 13:23:58.068 [info] GET /sources/149/media/4638846 13:23:58.068 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "4638846", "prevent_download" => "true", "source_id" => "149"} Pipelines: [:browser] 13:23:58.068 [debug] QUERY OK source="media_items" db=0.2ms idle=132.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" = ?) [4638846] 13:23:58.069 [debug] QUERY OK source="tasks" db=0.3ms idle=132.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" [4638846] 13:23:58.069 [debug] QUERY OK source="sources" db=0.5ms idle=132.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" = ?) [149] 13:23:58.070 [debug] QUERY OK source="oban_jobs" db=0.2ms idle=132.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 (?,?)) [2115446, 2184941] 13:23:58.071 [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 [] 13:23:58.071 [debug] QUERY OK source="settings" db=0.1ms idle=2.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:23:58.072 [debug] QUERY OK source="settings" db=0.1ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:23:58.073 [debug] QUERY OK source="media_profiles" db=0.2ms 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" = ?) [2] 13:23:58.074 [info] Sent 200 in 6ms 13:23:58.982 [debug] Current batch of media processed. Will check again in 1000ms 13:23:59.983 [debug] Current batch of media processed. Will check again in 1000ms 13:24:00.860 [info] {"source":"oban","duration":200,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:24:00.984 [debug] Current batch of media processed. Will check again in 1000ms 13:24:01.985 [debug] Current batch of media processed. Will check again in 1000ms 13:24:02.986 [debug] Current batch of media processed. Will check again in 1000ms 13:24:03.987 [debug] Current batch of media processed. Will check again in 1000ms 13:24:04.988 [debug] Current batch of media processed. Will check again in 1000ms 13:24:05.989 [debug] Current batch of media processed. Will check again in 1000ms 13:24:06.990 [debug] Current batch of media processed. Will check again in 1000ms 13:24:07.991 [debug] Current batch of media processed. Will check again in 1000ms 13:24:08.992 [debug] Current batch of media processed. Will check again in 1000ms 13:24:09.993 [debug] Current batch of media processed. Will check again in 1000ms 13:24:10.994 [debug] Current batch of media processed. Will check again in 1000ms 13:24:11.995 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "\"الفلوس ممكن تيجي بسهولة في لحظة أو صفقة أو فرصة، لكن التحدي الحقيقي مش في إنك تجيب فلوس\n التحدي إنك تعرف تحافظ عليها وتبني عليها، لأن الاستدامة مش بتيجي من ضربة حظ لكنها نتيجة جودة حقيقية بتقدمها للسوق بشكل مستمر، العميل ممكن يجربك مرة بسبب سعر أو دعاية، لكن مش هيكمل معاك غير لو لقى قيمة نظيفة وثابتة، وده اللي بيفرق بين بيزنس بيعمل مكسب سريع وبيختفي، وبيزنس بيبني اسم ويكمل سنين، الفلوس نتيجة\n لكن الجودة والاستمرارية هما السبب الحقيقي لأي نجاح طويل المدى. \n\n🟧 ضيف الحلقة هو:\nعمر مندور الرئيس التفيذي لشركة MIFAD\n🔶شاهد الحلقة على يوتيوب: إزاي تكبر البزنس بدون ما تخسره - مع عمر مندور الرئيس التفيذي لشركة MIFAD\n.\n.\nهذه الحلقـــة برعايــــة:\n\n📌 Hydepark Developments\nإحدى أبرز شركات التطوير العقاري في مصر، بخبرة تمتد لـ15 عامًا، ومحفظة مشروعات متنوعة تضم 8 تطويرات بحضور قوي في شمال وشرق وغرب القاهرة.\n🟠للمزيد من التفاصيل Hydepark Developments قم بزيارة الـ ⬅️ الـ Bio\n\n📌 CIB \n\nكونك عميل CIB Business Banking يعني أنك تستفيد من أفضل المنتجات والحلول المالية وغير المالية، بالإضافة إلى خدمات مخصصة تلبي احتياجات شركتك، مع دعم مستمر يضمن لك راحة البال لتتمكن من التركيز على نمو أعمالك. وللتعرف على المزيد، أرسل كلمة \"\"بيزنس\"\" في رسالة نصية إلى الرقم 4435.\n 🟠للمزيد من التفاصيل عن CIB Business Banking قم بزيارة الـ ⬅️ الـ Bio \n\r\"", "duration" => 50, "filename" => "/downloads/shorts/بزنس بالعربي (Business بالعربى )/بزنس بالعربي (Business بالعربى ) - 2026-04-01 - [rfLhvgPDrNM].mp4", "id" => "rfLhvgPDrNM", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/rfLhvgPDrNM", "playlist_index" => 14, "timestamp" => 1775026800, "title" => "الاستدامة أهم من المكسب السريع - عمر مندور", "upload_date" => "20260401"} 13:24:11.996 [debug] QUERY OK source="sources" db=0.2ms idle=1985.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" IN (?)) [115] 13:24:11.996 [debug] QUERY OK source="sources" db=0.1ms idle=1986.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" = ?) [115] 13:24:11.999 [debug] QUERY OK source="media_items" db=2.0ms idle=1986.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-01 07:00:00Z], 115] 13:24:12.001 [debug] QUERY OK source="media_items" db=1.6ms idle=1052.3ms 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" ["\"الفلوس ممكن تيجي بسهولة في لحظة أو صفقة أو فرصة، لكن التحدي الحقيقي مش في إنك تجيب فلوس\n التحدي إنك تعرف تحافظ عليها وتبني عليها، لأن الاستدامة مش بتيجي من ضربة حظ لكنها نتيجة جودة حقيقية بتقدمها للسوق بشكل مستمر، العميل ممكن يجربك مرة بسبب سعر أو دعاية، لكن مش هيكمل معاك غير لو لقى قيمة نظيفة وثابتة، وده اللي بيفرق بين بيزنس بيعمل مكسب سريع وبيختفي، وبيزنس بيبني اسم ويكمل سنين، الفلوس نتيجة\n لكن الجودة والاستمرارية هما السبب الحقيقي لأي نجاح طويل المدى. \n\n🟧 ضيف الحلقة هو:\nعمر مندور الرئيس التفيذي لشركة MIFAD\n🔶شاهد الحلقة على يوتيوب: إزاي تكبر البزنس بدون ما تخسره - مع عمر مندور الرئيس التفيذي لشركة MIFAD\n.\n.\nهذه الحلقـــة برعايــــة:\n\n📌 Hydepark Developments\nإحدى أبرز شركات التطوير العقاري في مصر، بخبرة تمتد لـ15 عامًا، ومحفظة مشروعات متنوعة تضم 8 تطويرات بحضور قوي في شمال وشرق وغرب القاهرة.\n🟠للمزيد من التفاصيل Hydepark Developments قم بزيارة الـ ⬅️ الـ Bio\n\n📌 CIB \n\nكونك عميل CIB Business Banking يعني أنك تستفيد من أفضل المنتجات والحلول المالية وغير المالية، بالإضافة إلى خدمات مخصصة تلبي احتياجات شركتك، مع دعم مستمر يضمن لك راحة البال لتتمكن من التركيز على نمو أعمالك. وللتعرف على المزيد، أرسل كلمة \"\"بيزنس\"\" في رسالة نصية إلى الرقم 4435.\n 🟠للمزيد من التفاصيل عن CIB Business Banking قم بزيارة الـ ⬅️ الـ Bio \n\r\"", "الاستدامة أهم من المكسب السريع - عمر مندور", "602fd025-e36b-426c-8e26-4738834622a5", 50, false, "rfLhvgPDrNM", "https://www.youtube.com/shorts/rfLhvgPDrNM", 14, "/downloads/shorts/بزنس بالعربي (Business بالعربى )/بزنس بالعربي (Business بالعربى ) - 2026-04-01 - [rfLhvgPDrNM].mp4", false, false, true, 115, [], 98, ~U[2026-04-01 07:00:00Z], ~U[2026-04-15 13:24:11Z], ~U[2026-04-15 13:24:11Z], "\"الفلوس ممكن تيجي بسهولة في لحظة أو صفقة أو فرصة، لكن التحدي الحقيقي مش في إنك تجيب فلوس\n التحدي إنك تعرف تحافظ عليها وتبني عليها، لأن الاستدامة مش بتيجي من ضربة حظ لكنها نتيجة جودة حقيقية بتقدمها للسوق بشكل مستمر، العميل ممكن يجربك مرة بسبب سعر أو دعاية، لكن مش هيكمل معاك غير لو لقى قيمة نظيفة وثابتة، وده اللي بيفرق بين بيزنس بيعمل مكسب سريع وبيختفي، وبيزنس بيبني اسم ويكمل سنين، الفلوس نتيجة\n لكن الجودة والاستمرارية هما السبب الحقيقي لأي نجاح طويل المدى. \n\n🟧 ضيف الحلقة هو:\nعمر مندور الرئيس التفيذي لشركة MIFAD\n🔶شاهد الحلقة على يوتيوب: إزاي تكبر البزنس بدون ما تخسره - مع عمر مندور الرئيس التفيذي لشركة MIFAD\n.\n.\nهذه الحلقـــة برعايــــة:\n\n📌 Hydepark Developments\nإحدى أبرز شركات التطوير العقاري في مصر، بخبرة تمتد لـ15 عامًا، ومحفظة مشروعات متنوعة تضم 8 تطويرات بحضور قوي في شمال وشرق وغرب القاهرة.\n🟠للمزيد من التفاصيل Hydepark Developments قم بزيارة الـ ⬅️ الـ Bio\n\n📌 CIB \n\nكونك عميل CIB Business Banking يعني أنك تستفيد من أفضل المنتجات والحلول المالية وغير المالية، بالإضافة إلى خدمات مخصصة تلبي احتياجات شركتك، مع دعم مستمر يضمن لك راحة البال لتتمكن من التركيز على نمو أعمالك. وللتعرف على المزيد، أرسل كلمة \"\"بيزنس\"\" في رسالة نصية إلى الرقم 4435.\n 🟠للمزيد من التفاصيل عن CIB Business Banking قم بزيارة الـ ⬅️ الـ Bio \n\r\"", "الاستدامة أهم من المكسب السريع - عمر مندور", 50, false, "rfLhvgPDrNM", "https://www.youtube.com/shorts/rfLhvgPDrNM", "/downloads/shorts/بزنس بالعربي (Business بالعربى )/بزنس بالعربي (Business بالعربى ) - 2026-04-01 - [rfLhvgPDrNM].mp4", true, 115, ~U[2026-04-01 07:00:00Z]] 13:24:12.001 [debug] QUERY OK source="sources" db=0.3ms idle=53.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" = ?) [115] 13:24:12.002 [debug] QUERY OK source="media_profiles" db=0.3ms idle=5.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 13:24:12.003 [debug] QUERY OK source="media_items" db=0.3ms idle=6.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4651586] 13:24:12.003 [debug] Current batch of media processed. Will check again in 1000ms 13:24:13.004 [debug] Current batch of media processed. Will check again in 1000ms 13:24:13.188 [info] {"source":"oban","duration":17599,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:24:14.005 [debug] Current batch of media processed. Will check again in 1000ms 13:24:15.006 [debug] Current batch of media processed. Will check again in 1000ms 13:24:16.007 [debug] Current batch of media processed. Will check again in 1000ms 13:24:17.008 [debug] Current batch of media processed. Will check again in 1000ms 13:24:18.009 [debug] Current batch of media processed. Will check again in 1000ms 13:24:19.010 [debug] Current batch of media processed. Will check again in 1000ms 13:24:20.011 [debug] Current batch of media processed. Will check again in 1000ms 13:24:21.012 [debug] Current batch of media processed. Will check again in 1000ms 13:24:21.967 [info] {"args":{"id":407},"id":2192077,"meta":{},"system_time":1776259461967499070,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:24:21.968 [debug] QUERY OK source="sources" db=0.1ms idle=957.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" = ?) [407] 13:24:21.968 [debug] QUERY OK source="settings" db=0.2ms idle=957.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:24:21.968 [debug] QUERY OK source="media_profiles" db=0.2ms idle=958.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" = ?) [2] 13:24:21.969 [debug] QUERY OK source="settings" db=0.2ms idle=8.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:24:21.969 [debug] Fetching recent media IDs from YouTube API for playlist: UUga4N76Fl4sgcn30iwBs7aQ 13:24:21.969 [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 [] 13:24:21.969 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 13:24:22.013 [debug] Current batch of media processed. Will check again in 1000ms 13:24:22.286 [debug] QUERY OK source="media_items" db=1.1ms idle=317.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [407, "-W6KEugYxBQ", "zQxXycM3IvM", "BrCSskrHOBU", "gMn1XXQ6Xus", "YwcknlhzUEU", "tinS3wZQZu0", "HWH4PB4RVpo", "aDHfYXROc5A", "qzm_Dy_rilA", "MHICU_ehVZk", "I0ZNxiVwykM", "-OsGSH3KGbA", "N00x4OkBGu8", "zqAinHuD6Yo", "cv4FVPWWF8I", "2DysQO78Y3k", "byYpxLw97ic", "8KsVvEyjEpg", "QZIJ2atHpFo", "IH0DS0Hqi1I", "6RbFcKVIMTo", "8DI46MmEzts", "JCyRL-BCGrY", "CKGoJAuUbRw", "zB12EMayFig", "jbcagG6xgqg", "VGjk8hhgRYs", "zqhKlBQ9xWI", "1SKsmmYdYng", "6lt75J3-9lY", "4-f2sw7IWPw", "WMLsLgiPFks", "TOO3B46BiGc", "5oCRsyA3ZLQ", "BWLb5EI620w", "Av1kcYca1yI", "o4yxwefSKrg", "v4aMSQBA6GY", "1v1uQJfn7mU", "wzd5JlenK7U", "lqg9v9c50PQ", "bfsLRqnZBMI", "-L8pp9DEvrs", "48tZLvPwq1A", "HMzzHdRb5bI", "VhPje4BiC6o", "vJfLhWzehCU", "GenA6mFVXtQ", "49YQZrruUlY", ...] 13:24:22.291 [debug] QUERY OK source="media_items" db=3.8ms idle=319.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")))) [407] 13:24:22.293 [debug] QUERY OK source="tasks" db=0.2ms idle=323.5ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2192114, 407, ~U[2026-04-15 13:24:22Z], ~U[2026-04-15 13:24:22Z]] 13:24:22.294 [info] {"args":{"id":407},"id":2192077,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":326122,"event":"job:stop","queue_time":467656,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:24:23.014 [debug] Current batch of media processed. Will check again in 1000ms 13:24:24.015 [debug] Current batch of media processed. Will check again in 1000ms 13:24:24.971 [info] {"args":{"id":137},"id":2192078,"meta":{},"system_time":1776259464971798006,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:24:24.972 [debug] QUERY OK source="sources" db=0.1ms idle=961.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" = ?) [137] 13:24:24.972 [debug] QUERY OK source="settings" db=0.1ms idle=962.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:24:24.973 [debug] QUERY OK source="media_profiles" db=0.2ms idle=962.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" = ?) [2] 13:24:24.973 [debug] QUERY OK source="settings" db=0.1ms idle=7.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:24:24.973 [debug] Fetching recent media IDs from YouTube API for playlist: UU6VEazPLsTwCHAq2XU0tRyA 13:24:24.973 [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 [] 13:24:24.973 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 13:24:25.016 [debug] Current batch of media processed. Will check again in 1000ms 13:24:25.296 [debug] QUERY OK source="media_items" db=1.2ms idle=322.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [137, "TYzW2hwb2eU", "Y0HbsrMblSY", "Ko2rEMjJDqc", "kGP1iyJ5JVk", "8X2Gp4JrjCc", "MEYfauKFQKM", "CCJCd8F_diQ", "jsWkXl3y2V8", "eKrqp-HV73w", "gXDgE1r0fmE", "xP_EQzF8VcA", "RfZpJRL7qPA", "UtFN8sG2dac", "f__SSRXQW_0", "APPiN4Oef3o", "q5MQnKjA87M", "zwkJ95N9B1M", "9l8J-8mZZwk", "F-TBX4m7Omw", "KKl0A-Y7xIU", "Psenv5CPh7w", "MP8WxJWv0VI", "Un04g6T0MBk", "e1dWuglj0wA", "ZnuWLqLfnYQ", "oUu62USr24A", "cRx1_mB9LxE", "PLAlGw5A21E", "hcpVRhBex9U", "LK2LTfPM2Qs", "Z5F2z1XcOSw", "CVaq9bG_tBY", "X-a2XbVX3-c", "apkWIdRFzpQ", "PANiqRRIbqw", "kiTdyj1OowM", "6dQkyg0e1c8", "Cf5yNSD5HGE", "_y3X1HIUBX4", "G-e7QMglAhc", "avXMv4RrRXI", "jC3yDlwTK2A", "myA5gcE-5KE", "bcJnqkTlunE", "nNArfQK259k", "ZG7Bikz9grA", "vo7HA72gZNQ", "TNz5GHFNBj0", "14XtzGLWUtw", ...] 13:24:25.300 [debug] QUERY OK source="media_items" db=2.1ms idle=325.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")))) [137] 13:24:25.302 [debug] QUERY OK source="tasks" db=0.3ms idle=328.0ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2192115, 137, ~U[2026-04-15 13:24:25Z], ~U[2026-04-15 13:24:25Z]] 13:24:25.302 [info] {"args":{"id":137},"id":2192078,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":330299,"event":"job:stop","queue_time":452531,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:24:26.017 [debug] Current batch of media processed. Will check again in 1000ms 13:24:27.018 [debug] Current batch of media processed. Will check again in 1000ms 13:24:28.019 [debug] Current batch of media processed. Will check again in 1000ms 13:24:29.020 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "\"أكبر وهم ممكن تعيش فيه إنك تفتكر إنك هتنجح لوحدك، لأن الحقيقة إن أي نجاح حقيقي وراه فريق، علاقات، وتكامل مش فرد واحد، يوفوريا الأنا ممكن تخليك تحس إنك شايف كل حاجة وإنك تقدر تعمل كل حاجة، لكنها في نفس الوقت بتقفلك عن التعلم وبتمنعك تسمع وتستفيد من اللي حواليك، والنتيجة إنك تبطّأ نفسك من غير ما تحس، النجاح مش في إنك تعمل كل حاجة بإيدك، النجاح إنك تعرف إمتى تحتاج غيرك وتبني معاه وتكملوا بعض، لأن اللي بيفهم كده بدري بيكبر أسرع، واللي يفضل متمسك بفكرة “أنا لوحدي” غالبًا بيوصل متأخر… أو مبيوصلش. \n\n🟧 ضيف الحلقة هو:\nعمر مندور الرئيس التفيذي لشركة MIFAD\n🔶شاهد الحلقة على يوتيوب: إزاي تكبر البزنس بدون ما تخسره - مع عمر مندور الرئيس التفيذي لشركة MIFAD\n.\n.\nهذه الحلقـــة برعايــــة:\n\n📌 Hydepark Developments\nإحدى أبرز شركات التطوير العقاري في مصر، بخبرة تمتد لـ15 عامًا، ومحفظة مشروعات متنوعة تضم 8 تطويرات بحضور قوي في شمال وشرق وغرب القاهرة.\n🟠للمزيد من التفاصيل Hydepark Developments قم بزيارة الـ ⬅️ الـ Bio\n\n📌 CIB \n\nكونك عميل CIB Business Banking يعني أنك تستفيد من أفضل المنتجات والحلول المالية وغير المالية، بالإضافة إلى خدمات مخصصة تلبي احتياجات شركتك، مع دعم مستمر يضمن لك راحة البال لتتمكن من التركيز على نمو أعمالك. وللتعرف على المزيد، أرسل كلمة \"\"بيزنس\"\" في رسالة نصية إلى الرقم 4435.\n 🟠للمزيد من التفاصيل عن CIB Business Banking قم بزيارة الـ ⬅️ الـ Bio \n\r\"", "duration" => 24, "filename" => "/downloads/shorts/بزنس بالعربي (Business بالعربى )/بزنس بالعربي (Business بالعربى ) - 2026-03-31 - [V3Js-ew19NU].mp4", "id" => "V3Js-ew19NU", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/V3Js-ew19NU", "playlist_index" => 15, "timestamp" => 1774940400, "title" => "يوفوريا الأنا بتدمّر النجاح - عمر مندور", "upload_date" => "20260331"} 13:24:29.021 [debug] QUERY OK source="sources" db=0.2ms idle=49.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" IN (?)) [115] 13:24:29.021 [debug] QUERY OK source="sources" db=0.1ms idle=11.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [115] 13:24:29.023 [debug] QUERY OK source="media_items" db=2.0ms idle=11.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-31 07:00:00Z], 115] 13:24:29.026 [debug] QUERY OK source="media_items" db=1.6ms idle=13.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" ["\"أكبر وهم ممكن تعيش فيه إنك تفتكر إنك هتنجح لوحدك، لأن الحقيقة إن أي نجاح حقيقي وراه فريق، علاقات، وتكامل مش فرد واحد، يوفوريا الأنا ممكن تخليك تحس إنك شايف كل حاجة وإنك تقدر تعمل كل حاجة، لكنها في نفس الوقت بتقفلك عن التعلم وبتمنعك تسمع وتستفيد من اللي حواليك، والنتيجة إنك تبطّأ نفسك من غير ما تحس، النجاح مش في إنك تعمل كل حاجة بإيدك، النجاح إنك تعرف إمتى تحتاج غيرك وتبني معاه وتكملوا بعض، لأن اللي بيفهم كده بدري بيكبر أسرع، واللي يفضل متمسك بفكرة “أنا لوحدي” غالبًا بيوصل متأخر… أو مبيوصلش. \n\n🟧 ضيف الحلقة هو:\nعمر مندور الرئيس التفيذي لشركة MIFAD\n🔶شاهد الحلقة على يوتيوب: إزاي تكبر البزنس بدون ما تخسره - مع عمر مندور الرئيس التفيذي لشركة MIFAD\n.\n.\nهذه الحلقـــة برعايــــة:\n\n📌 Hydepark Developments\nإحدى أبرز شركات التطوير العقاري في مصر، بخبرة تمتد لـ15 عامًا، ومحفظة مشروعات متنوعة تضم 8 تطويرات بحضور قوي في شمال وشرق وغرب القاهرة.\n🟠للمزيد من التفاصيل Hydepark Developments قم بزيارة الـ ⬅️ الـ Bio\n\n📌 CIB \n\nكونك عميل CIB Business Banking يعني أنك تستفيد من أفضل المنتجات والحلول المالية وغير المالية، بالإضافة إلى خدمات مخصصة تلبي احتياجات شركتك، مع دعم مستمر يضمن لك راحة البال لتتمكن من التركيز على نمو أعمالك. وللتعرف على المزيد، أرسل كلمة \"\"بيزنس\"\" في رسالة نصية إلى الرقم 4435.\n 🟠للمزيد من التفاصيل عن CIB Business Banking قم بزيارة الـ ⬅️ الـ Bio \n\r\"", "يوفوريا الأنا بتدمّر النجاح - عمر مندور", "5022405f-79ed-4c42-b40a-4e722bad6a78", 24, false, "V3Js-ew19NU", "https://www.youtube.com/shorts/V3Js-ew19NU", 15, "/downloads/shorts/بزنس بالعربي (Business بالعربى )/بزنس بالعربي (Business بالعربى ) - 2026-03-31 - [V3Js-ew19NU].mp4", false, false, true, 115, [], 98, ~U[2026-03-31 07:00:00Z], ~U[2026-04-15 13:24:29Z], ~U[2026-04-15 13:24:29Z], "\"أكبر وهم ممكن تعيش فيه إنك تفتكر إنك هتنجح لوحدك، لأن الحقيقة إن أي نجاح حقيقي وراه فريق، علاقات، وتكامل مش فرد واحد، يوفوريا الأنا ممكن تخليك تحس إنك شايف كل حاجة وإنك تقدر تعمل كل حاجة، لكنها في نفس الوقت بتقفلك عن التعلم وبتمنعك تسمع وتستفيد من اللي حواليك، والنتيجة إنك تبطّأ نفسك من غير ما تحس، النجاح مش في إنك تعمل كل حاجة بإيدك، النجاح إنك تعرف إمتى تحتاج غيرك وتبني معاه وتكملوا بعض، لأن اللي بيفهم كده بدري بيكبر أسرع، واللي يفضل متمسك بفكرة “أنا لوحدي” غالبًا بيوصل متأخر… أو مبيوصلش. \n\n🟧 ضيف الحلقة هو:\nعمر مندور الرئيس التفيذي لشركة MIFAD\n🔶شاهد الحلقة على يوتيوب: إزاي تكبر البزنس بدون ما تخسره - مع عمر مندور الرئيس التفيذي لشركة MIFAD\n.\n.\nهذه الحلقـــة برعايــــة:\n\n📌 Hydepark Developments\nإحدى أبرز شركات التطوير العقاري في مصر، بخبرة تمتد لـ15 عامًا، ومحفظة مشروعات متنوعة تضم 8 تطويرات بحضور قوي في شمال وشرق وغرب القاهرة.\n🟠للمزيد من التفاصيل Hydepark Developments قم بزيارة الـ ⬅️ الـ Bio\n\n📌 CIB \n\nكونك عميل CIB Business Banking يعني أنك تستفيد من أفضل المنتجات والحلول المالية وغير المالية، بالإضافة إلى خدمات مخصصة تلبي احتياجات شركتك، مع دعم مستمر يضمن لك راحة البال لتتمكن من التركيز على نمو أعمالك. وللتعرف على المزيد، أرسل كلمة \"\"بيزنس\"\" في رسالة نصية إلى الرقم 4435.\n 🟠للمزيد من التفاصيل عن CIB Business Banking قم بزيارة الـ ⬅️ الـ Bio \n\r\"", "يوفوريا الأنا بتدمّر النجاح - عمر مندور", 24, false, "V3Js-ew19NU", "https://www.youtube.com/shorts/V3Js-ew19NU", "/downloads/shorts/بزنس بالعربي (Business بالعربى )/بزنس بالعربي (Business بالعربى ) - 2026-03-31 - [V3Js-ew19NU].mp4", true, 115, ~U[2026-03-31 07:00:00Z]] 13:24:29.027 [debug] QUERY OK source="sources" db=0.3ms idle=16.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [115] 13:24:29.027 [debug] QUERY OK source="media_profiles" db=0.2ms idle=5.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 13:24:29.028 [debug] QUERY OK source="media_items" db=0.4ms idle=6.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 [4647966] 13:24:29.028 [debug] Current batch of media processed. Will check again in 1000ms 13:24:30.029 [debug] Current batch of media processed. Will check again in 1000ms 13:24:31.030 [debug] Current batch of media processed. Will check again in 1000ms 13:24:32.031 [debug] Current batch of media processed. Will check again in 1000ms 13:24:33.032 [debug] Current batch of media processed. Will check again in 1000ms 13:24:33.705 [info] GET /sources/352/media/3430826 13:24:33.705 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "3430826", "prevent_download" => "true", "source_id" => "352"} Pipelines: [:browser] 13:24:33.706 [debug] QUERY OK source="media_items" db=0.2ms idle=729.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" = ?) [3430826] 13:24:33.707 [debug] QUERY OK source="tasks" db=0.1ms idle=696.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" [3430826] 13:24:33.707 [debug] QUERY OK source="sources" db=0.3ms idle=696.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" = ?) [352] 13:24:33.707 [debug] QUERY OK source="settings" db=0.1ms idle=697.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:24:33.708 [debug] QUERY OK source="settings" db=0.2ms idle=697.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:24:33.708 [debug] QUERY OK source="settings" db=0.2ms 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 [] 13:24:33.709 [debug] QUERY OK source="media_profiles" db=0.2ms idle=2.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:24:33.711 [info] Sent 200 in 5ms 13:24:34.033 [debug] Current batch of media processed. Will check again in 1000ms 13:24:35.034 [debug] Current batch of media processed. Will check again in 1000ms 13:24:36.035 [debug] Current batch of media processed. Will check again in 1000ms 13:24:37.036 [debug] Current batch of media processed. Will check again in 1000ms 13:24:38.037 [debug] Current batch of media processed. Will check again in 1000ms 13:24:39.038 [debug] Current batch of media processed. Will check again in 1000ms 13:24:40.039 [debug] Current batch of media processed. Will check again in 1000ms 13:24:41.040 [debug] Current batch of media processed. Will check again in 1000ms 13:24:42.041 [debug] Current batch of media processed. Will check again in 1000ms 13:24:43.042 [debug] Current batch of media processed. Will check again in 1000ms 13:24:43.206 [info] {"source":"oban","duration":17497,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:24:44.043 [debug] Current batch of media processed. Will check again in 1000ms 13:24:45.044 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "تجربة العميل أم خدمة العملاء؟\nخدمة العملاء جزء من تجربة العميل، لكنها ليست التجربة كاملة ، الخلط بين المفهومين هو أول سبب لتجربة ضعيفة حتى مع منتج جيد.\nتجربة العميل تبدأ قبل البيع، وتستمر بعده، وتشمل كل ما يراه ويشعر به العميل في تعامله مع العلامة التجارية.\n\nتابع السلسلة لتفهم التجربة كمنظومة كاملة، وانضم إلى مجتمع أثر تجربة العميل لتبادل الخبرات والتجارب الواقعية.\n\nهذا المحتوى مُقدَّم من Tactful AI لمشاهدة الحلقة كاملة:\nرابط الحلقة: https://f.mtr.cool/rjpsqakzvn\n\nتاكتفُل هي نظام ذكي لإدارة التواصل مع العملاء لفرق المبيعات وخدمة العملاء.\nللإنضمام لمجتمع تجربة العميل من تاكتفُل، استخدم الرابط:\nhttps://f.mtr.cool/oonnknzews\n\n#بزنس_بالعربي\u00A0\n#القيادة_تسبق_الطموح\n#TactfulAI", "duration" => 50, "filename" => "/downloads/shorts/بزنس بالعربي (Business بالعربى )/بزنس بالعربي (Business بالعربى ) - 2026-03-14 - [dZdXjjOwEow].mp4", "id" => "dZdXjjOwEow", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/dZdXjjOwEow", "playlist_index" => 16, "timestamp" => 1773519139, "title" => "تجربة العميل أم خدمة العملاء؟", "upload_date" => "20260314"} 13:24:45.044 [debug] QUERY OK source="sources" db=0.2ms idle=55.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" IN (?)) [115] 13:24:45.045 [debug] QUERY OK source="sources" db=0.1ms idle=34.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" = ?) [115] 13:24:45.047 [debug] QUERY OK source="media_items" db=1.6ms idle=35.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-14 20:12:19Z], 115] 13:24:45.048 [debug] QUERY OK source="media_items" db=0.9ms idle=37.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" ["تجربة العميل أم خدمة العملاء؟\nخدمة العملاء جزء من تجربة العميل، لكنها ليست التجربة كاملة ، الخلط بين المفهومين هو أول سبب لتجربة ضعيفة حتى مع منتج جيد.\nتجربة العميل تبدأ قبل البيع، وتستمر بعده، وتشمل كل ما يراه ويشعر به العميل في تعامله مع العلامة التجارية.\n\nتابع السلسلة لتفهم التجربة كمنظومة كاملة، وانضم إلى مجتمع أثر تجربة العميل لتبادل الخبرات والتجارب الواقعية.\n\nهذا المحتوى مُقدَّم من Tactful AI لمشاهدة الحلقة كاملة:\nرابط الحلقة: https://f.mtr.cool/rjpsqakzvn\n\nتاكتفُل هي نظام ذكي لإدارة التواصل مع العملاء لفرق المبيعات وخدمة العملاء.\nللإنضمام لمجتمع تجربة العميل من تاكتفُل، استخدم الرابط:\nhttps://f.mtr.cool/oonnknzews\n\n#بزنس_بالعربي\u00A0\n#القيادة_تسبق_الطموح\n#TactfulAI", "تجربة العميل أم خدمة العملاء؟", "202bbd7e-c9fb-4def-82ae-43c5b2eb5a30", 50, false, "dZdXjjOwEow", "https://www.youtube.com/shorts/dZdXjjOwEow", 16, "/downloads/shorts/بزنس بالعربي (Business بالعربى )/بزنس بالعربي (Business بالعربى ) - 2026-03-14 - [dZdXjjOwEow].mp4", false, false, true, 115, [], 98, ~U[2026-03-14 20:12:19Z], ~U[2026-04-15 13:24:45Z], ~U[2026-04-15 13:24:45Z], "تجربة العميل أم خدمة العملاء؟\nخدمة العملاء جزء من تجربة العميل، لكنها ليست التجربة كاملة ، الخلط بين المفهومين هو أول سبب لتجربة ضعيفة حتى مع منتج جيد.\nتجربة العميل تبدأ قبل البيع، وتستمر بعده، وتشمل كل ما يراه ويشعر به العميل في تعامله مع العلامة التجارية.\n\nتابع السلسلة لتفهم التجربة كمنظومة كاملة، وانضم إلى مجتمع أثر تجربة العميل لتبادل الخبرات والتجارب الواقعية.\n\nهذا المحتوى مُقدَّم من Tactful AI لمشاهدة الحلقة كاملة:\nرابط الحلقة: https://f.mtr.cool/rjpsqakzvn\n\nتاكتفُل هي نظام ذكي لإدارة التواصل مع العملاء لفرق المبيعات وخدمة العملاء.\nللإنضمام لمجتمع تجربة العميل من تاكتفُل، استخدم الرابط:\nhttps://f.mtr.cool/oonnknzews\n\n#بزنس_بالعربي\u00A0\n#القيادة_تسبق_الطموح\n#TactfulAI", "تجربة العميل أم خدمة العملاء؟", 50, false, "dZdXjjOwEow", "https://www.youtube.com/shorts/dZdXjjOwEow", "/downloads/shorts/بزنس بالعربي (Business بالعربى )/بزنس بالعربي (Business بالعربى ) - 2026-03-14 - [dZdXjjOwEow].mp4", true, 115, ~U[2026-03-14 20:12:19Z]] 13:24:45.048 [debug] QUERY OK source="sources" db=0.2ms idle=38.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" = ?) [115] 13:24:45.049 [debug] QUERY OK source="media_profiles" db=0.3ms idle=4.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 13:24:45.050 [debug] QUERY OK source="media_items" db=0.4ms idle=4.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4631236] 13:24:45.050 [debug] Current batch of media processed. Will check again in 1000ms 13:24:46.051 [debug] Current batch of media processed. Will check again in 1000ms 13:24:47.052 [debug] Current batch of media processed. Will check again in 1000ms 13:24:48.002 [info] {"args":{"id":195},"id":2192079,"meta":{},"system_time":1776259488002127281,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:24:48.002 [debug] QUERY OK source="sources" db=0.2ms idle=992.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" = ?) [195] 13:24:48.003 [debug] QUERY OK source="settings" db=0.1ms idle=992.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:24:48.003 [debug] QUERY OK source="media_profiles" db=0.2ms idle=992.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" = ?) [2] 13:24:48.004 [debug] QUERY OK source="settings" db=0.7ms idle=8.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:24:48.004 [debug] Fetching recent media IDs from YouTube API for playlist: UUBRMiH3Aivfkmh24Sa2dOew 13:24:48.004 [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 [] 13:24:48.005 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 13:24:48.053 [debug] Current batch of media processed. Will check again in 1000ms 13:24:48.344 [debug] QUERY OK source="media_items" db=1.3ms idle=340.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [195, "p8SWCk5bHV4", "lGF5Y7n_vLA", "MCEgp0nDF_s", "eT8WC3vCNpM", "FdtHhPaD850", "efb72vQ-B5w", "T8yhYw2qYpU", "rxTb8olkoPk", "04sdzvBin2M", "FmxxJMMfjIQ", "DsF8tlvZfQU", "_nwUUMj2ihk", "ddP7GahgvdE", "igdQ646Rczo", "e6bNcQn6H8U", "VTaZnN2r-C4", "6s0PkW4X18k", "nq4j2vn85k0", "zSg2dCltMlE", "mMLIwZ1Hm-o", "pB0UeWaKMAk", "Zbd7ZR96fhs", "8431epN9yQY", "q9cidfvLSAQ", "TFtz5CBcSaA", "IHxBsWkSNC8", "KFnFetow2Fk", "l-66gKQOFFo", "9hrMhbVRqaQ", "nB7DXM3aXaM", "aJqijOOspFA", "XwtlpPm7d8Y", "XQ7i8_iskPU", "JDvpnFZiW-s", "Sg2smBn7oy4", "J7pPlV84TvE", "z3pnYIzRFNU", "QXwBbQYU1b0", "2EY_87Qp5es", "7oi6e-2M_jw", "5AW4xpNiS9w", "pbu9h-Ed45w", "XiUfyDi-vJA", "8sjUDoIvz3k", "Q4w7S0_bRNE", "IjBWwvWDNeA", "ENJS0N-wJrM", "vZzfd3fTI1I", "jFHXZyZwkzo", ...] 13:24:48.349 [debug] QUERY OK source="media_items" db=3.1ms idle=342.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")))) [195] 13:24:48.350 [debug] QUERY OK source="tasks" db=0.2ms idle=345.4ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2192116, 195, ~U[2026-04-15 13:24:48Z], ~U[2026-04-15 13:24:48Z]] 13:24:48.351 [info] {"args":{"id":195},"id":2192079,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":348641,"event":"job:stop","queue_time":486777,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:24:49.054 [debug] Current batch of media processed. Will check again in 1000ms 13:24:50.055 [debug] Current batch of media processed. Will check again in 1000ms 13:24:51.056 [debug] Current batch of media processed. Will check again in 1000ms 13:24:52.057 [debug] Current batch of media processed. Will check again in 1000ms 13:24:53.058 [debug] Current batch of media processed. Will check again in 1000ms 13:24:54.059 [debug] Current batch of media processed. Will check again in 1000ms 13:24:55.060 [debug] Current batch of media processed. Will check again in 1000ms 13:24:56.061 [debug] Current batch of media processed. Will check again in 1000ms 13:24:57.062 [debug] Current batch of media processed. Will check again in 1000ms 13:24:58.063 [debug] Current batch of media processed. Will check again in 1000ms 13:24:59.064 [debug] Current batch of media processed. Will check again in 1000ms 13:25:00.065 [debug] Current batch of media processed. Will check again in 1000ms 13:25:00.861 [info] {"source":"oban","duration":161,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:25:01.019 [info] {"args":{"id":180},"id":2187247,"meta":{},"system_time":1776259501019186060,"max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 13:25:01.019 [debug] QUERY OK source="sources" db=0.2ms 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" = ?) [180] 13:25:01.020 [debug] QUERY OK source="settings" db=0.2ms 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 [] 13:25:01.022 [debug] QUERY OK source="media_items" db=1.7ms idle=159.1ms SELECT count(*) FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [180] 13:25:01.022 [debug] QUERY OK source="media_items" db=0.4ms idle=10.1ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [180] 13:25:01.023 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 13:25:01.023 [debug] QUERY OK source="settings" db=0.1ms idle=3.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:25:01.023 [debug] QUERY OK source="settings" db=0.1ms idle=3.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:25:01.027 [debug] QUERY OK source="media_items" db=3.3ms 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 WHERE (m0."source_id" = ?) ORDER BY m0."uploaded_at" DESC LIMIT 50 OFFSET 20 [180] 13:25:01.029 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 13:25:01.029 [debug] Current batch of media processed. Will check again in 1000ms 13:25:01.029 [debug] QUERY OK source="settings" db=0.2ms idle=6.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:25:01.030 [debug] QUERY OK source="settings" db=0.1ms idle=6.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:25:01.030 [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 [] 13:25:01.030 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@podcastwithnayla/shorts --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/shorts/Podcast With Nayla /Podcast With Nayla - %(upload_date>%Y-%m-%d)S - [%(id)S].%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --break-on-existing --download-archive /tmp/pinchflat/data/c1/1d/c11d432d3b845ca23147ae11bfc5cd1498a847b856e7a527f82225d0c2c2654e.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/5b/fc/5bfc0451a0c8773cdc8c07ad29db7514fe397513ded80b0d88c5b89ec20086f2.json --sleep-requests 4 --sleep-interval 4 --sleep-subtitles 5 --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:25:01.066 [debug] Current batch of media processed. Will check again in 1000ms 13:25:02.030 [debug] Current batch of media processed. Will check again in 1000ms 13:25:02.067 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "\"ميزة التكنولوجيا إنها ملهاش حدود حقيقية، لأن في الأساس الإبداع نفسه ملوش سقف، كل فكرة جديدة بتفتح باب لفكرة أكبر منها، وكل أداة بتتطور عشان تخدم خيال أوسع وطموح أعلى، التطور مش بيقف عند منتج أو تطبيق أو اختراع معين لكن بيكمل طول ما في حد بيسأل “طب ليه لأ؟”، وده اللي بيخلّي التكنولوجيا دايمًا في حالة نمو مستمر \n\n🟧 ضيف الحلقة هو:\nمصطفى مدحت الرئيس التنفيذي لشركة نايس دير\n🔶شاهد الحلقة على يوتيوب: الذكاء الاصطناعي وتآثيره علي مستقبل الشركات الناشئة - مع مصطفى مدحت الرئيس التنفيذي لشركة نايس دير\n.\n.\nهذه الحلقـــة برعايــــة:\n\n📌 \u200Eاورنچ بيزنس\nتابع الصفحة الرسمية لاورنچ بيزنس لخدمة جميع عملائها من قطاع الشركات، لتكن على اطلاع دائم بأحدث الحلول والعروض والخدمات المصممة خصيصًا لاحتياجات شركتك، على مدار الساعة.\n🟠للمزيد من التفاصيل عن اورنچ بيزنس قم بزيارة الـ ⬅️ الـ Bio\n\n📌 Hydepark Developments\nإحدى أبرز شركات التطوير العقاري في مصر، بخبرة تمتد لـ15 عامًا، ومحفظة مشروعات متنوعة تضم 8 تطويرات بحضور قوي في شمال وشرق وغرب القاهرة.\n🟠للمزيد من التفاصيل Hydepark Developments قم بزيارة الـ ⬅️ الـ Bio\n\n📌 CIB \n\nكونك عميل CIB Business Banking يعني أنك تستفيد من أفضل المنتجات والحلول المالية وغير المالية، بالإضافة إلى خدمات مخصصة تلبي احتياجات شركتك، مع دعم مستمر يضمن لك راحة البال لتتمكن من التركيز على نمو أعمالك. وللتعرف على المزيد، أرسل كلمة \"\"بيزنس\"\" في رسالة نصية إلى الرقم 4435.\n 🟠للمزيد من التفاصيل عن CIB Business Banking قم بزيارة الـ ⬅️ الـ Bio \n\r\"", "duration" => 33, "filename" => "/downloads/shorts/بزنس بالعربي (Business بالعربى )/بزنس بالعربي (Business بالعربى ) - 2026-03-06 - [BXtl8a0tIyI].mp4", "id" => "BXtl8a0tIyI", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/BXtl8a0tIyI", "playlist_index" => 17, "timestamp" => 1772802031, "title" => "\"حدود التكنولوجيا عند حدود خيالك - مصطفى مدحت\"", "upload_date" => "20260306"} 13:25:02.068 [debug] QUERY OK source="sources" db=0.2ms idle=1039.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" IN (?)) [115] 13:25:02.068 [debug] QUERY OK source="sources" db=0.2ms idle=1038.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" = ?) [115] 13:25:02.070 [debug] QUERY OK source="media_items" db=1.9ms idle=1038.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-06 13:00:31Z], 115] 13:25:02.073 [debug] QUERY OK source="media_items" db=1.5ms idle=1040.5ms 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" ["\"ميزة التكنولوجيا إنها ملهاش حدود حقيقية، لأن في الأساس الإبداع نفسه ملوش سقف، كل فكرة جديدة بتفتح باب لفكرة أكبر منها، وكل أداة بتتطور عشان تخدم خيال أوسع وطموح أعلى، التطور مش بيقف عند منتج أو تطبيق أو اختراع معين لكن بيكمل طول ما في حد بيسأل “طب ليه لأ؟”، وده اللي بيخلّي التكنولوجيا دايمًا في حالة نمو مستمر \n\n🟧 ضيف الحلقة هو:\nمصطفى مدحت الرئيس التنفيذي لشركة نايس دير\n🔶شاهد الحلقة على يوتيوب: الذكاء الاصطناعي وتآثيره علي مستقبل الشركات الناشئة - مع مصطفى مدحت الرئيس التنفيذي لشركة نايس دير\n.\n.\nهذه الحلقـــة برعايــــة:\n\n📌 \u200Eاورنچ بيزنس\nتابع الصفحة الرسمية لاورنچ بيزنس لخدمة جميع عملائها من قطاع الشركات، لتكن على اطلاع دائم بأحدث الحلول والعروض والخدمات المصممة خصيصًا لاحتياجات شركتك، على مدار الساعة.\n🟠للمزيد من التفاصيل عن اورنچ بيزنس قم بزيارة الـ ⬅️ الـ Bio\n\n📌 Hydepark Developments\nإحدى أبرز شركات التطوير العقاري في مصر، بخبرة تمتد لـ15 عامًا، ومحفظة مشروعات متنوعة تضم 8 تطويرات بحضور قوي في شمال وشرق وغرب القاهرة.\n🟠للمزيد من التفاصيل Hydepark Developments قم بزيارة الـ ⬅️ الـ Bio\n\n📌 CIB \n\nكونك عميل CIB Business Banking يعني أنك تستفيد من أفضل المنتجات والحلول المالية وغير المالية، بالإضافة إلى خدمات مخصصة تلبي احتياجات شركتك، مع دعم مستمر يضمن لك راحة البال لتتمكن من التركيز على نمو أعمالك. وللتعرف على المزيد، أرسل كلمة \"\"بيزنس\"\" في رسالة نصية إلى الرقم 4435.\n 🟠للمزيد من التفاصيل عن CIB Business Banking قم بزيارة الـ ⬅️ الـ Bio \n\r\"", "\"حدود التكنولوجيا عند حدود خيالك - مصطفى مدحت\"", "95081935-9ea9-4dfa-aa06-eac4f937209e", 33, false, "BXtl8a0tIyI", "https://www.youtube.com/shorts/BXtl8a0tIyI", 17, "/downloads/shorts/بزنس بالعربي (Business بالعربى )/بزنس بالعربي (Business بالعربى ) - 2026-03-06 - [BXtl8a0tIyI].mp4", false, false, true, 115, [], 98, ~U[2026-03-06 13:00:31Z], ~U[2026-04-15 13:25:02Z], ~U[2026-04-15 13:25:02Z], "\"ميزة التكنولوجيا إنها ملهاش حدود حقيقية، لأن في الأساس الإبداع نفسه ملوش سقف، كل فكرة جديدة بتفتح باب لفكرة أكبر منها، وكل أداة بتتطور عشان تخدم خيال أوسع وطموح أعلى، التطور مش بيقف عند منتج أو تطبيق أو اختراع معين لكن بيكمل طول ما في حد بيسأل “طب ليه لأ؟”، وده اللي بيخلّي التكنولوجيا دايمًا في حالة نمو مستمر \n\n🟧 ضيف الحلقة هو:\nمصطفى مدحت الرئيس التنفيذي لشركة نايس دير\n🔶شاهد الحلقة على يوتيوب: الذكاء الاصطناعي وتآثيره علي مستقبل الشركات الناشئة - مع مصطفى مدحت الرئيس التنفيذي لشركة نايس دير\n.\n.\nهذه الحلقـــة برعايــــة:\n\n📌 \u200Eاورنچ بيزنس\nتابع الصفحة الرسمية لاورنچ بيزنس لخدمة جميع عملائها من قطاع الشركات، لتكن على اطلاع دائم بأحدث الحلول والعروض والخدمات المصممة خصيصًا لاحتياجات شركتك، على مدار الساعة.\n🟠للمزيد من التفاصيل عن اورنچ بيزنس قم بزيارة الـ ⬅️ الـ Bio\n\n📌 Hydepark Developments\nإحدى أبرز شركات التطوير العقاري في مصر، بخبرة تمتد لـ15 عامًا، ومحفظة مشروعات متنوعة تضم 8 تطويرات بحضور قوي في شمال وشرق وغرب القاهرة.\n🟠للمزيد من التفاصيل Hydepark Developments قم بزيارة الـ ⬅️ الـ Bio\n\n📌 CIB \n\nكونك عميل CIB Business Banking يعني أنك تستفيد من أفضل المنتجات والحلول المالية وغير المالية، بالإضافة إلى خدمات مخصصة تلبي احتياجات شركتك، مع دعم مستمر يضمن لك راحة البال لتتمكن من التركيز على نمو أعمالك. وللتعرف على المزيد، أرسل كلمة \"\"بيزنس\"\" في رسالة نصية إلى الرقم 4435.\n 🟠للمزيد من التفاصيل عن CIB Business Banking قم بزيارة الـ ⬅️ الـ Bio \n\r\"", "\"حدود التكنولوجيا عند حدود خيالك - مصطفى مدحت\"", 33, false, "BXtl8a0tIyI", "https://www.youtube.com/shorts/BXtl8a0tIyI", "/downloads/shorts/بزنس بالعربي (Business بالعربى )/بزنس بالعربي (Business بالعربى ) - 2026-03-06 - [BXtl8a0tIyI].mp4", true, 115, ~U[2026-03-06 13:00:31Z]] 13:25:02.073 [debug] QUERY OK source="sources" db=0.3ms idle=59.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" = ?) [115] 13:25:02.074 [debug] QUERY OK source="media_profiles" db=0.3ms idle=5.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 13:25:02.075 [debug] QUERY OK source="media_items" db=0.3ms idle=6.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 [4631237] 13:25:02.075 [debug] Current batch of media processed. Will check again in 1000ms 13:25:03.031 [debug] Current batch of media processed. Will check again in 1000ms 13:25:03.076 [debug] Current batch of media processed. Will check again in 1000ms 13:25:04.032 [debug] Current batch of media processed. Will check again in 1000ms 13:25:04.077 [debug] Current batch of media processed. Will check again in 1000ms 13:25:05.033 [debug] Current batch of media processed. Will check again in 1000ms 13:25:05.078 [debug] Current batch of media processed. Will check again in 1000ms 13:25:05.767 [info] GET /sources/346/media/4702250 13:25:05.767 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "4702250", "prevent_download" => "true", "source_id" => "346"} Pipelines: [:browser] 13:25:05.768 [debug] QUERY OK source="media_items" db=0.3ms idle=1757.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" = ?) [4702250] 13:25:05.768 [debug] QUERY OK source="tasks" db=0.1ms idle=1758.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" [4702250] 13:25:05.768 [debug] QUERY OK source="sources" db=0.2ms idle=1758.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" = ?) [346] 13:25:05.769 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=1752.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" = ?) [2191153] 13:25:05.769 [debug] QUERY OK source="settings" db=0.1ms idle=751.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:25:05.770 [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 [] 13:25:05.770 [debug] QUERY OK source="settings" db=0.1ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:25:05.771 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 13:25:05.773 [info] Sent 200 in 5ms 13:25:06.034 [debug] Current batch of media processed. Will check again in 1000ms 13:25:06.079 [debug] Current batch of media processed. Will check again in 1000ms 13:25:07.035 [debug] Current batch of media processed. Will check again in 1000ms 13:25:07.080 [debug] Current batch of media processed. Will check again in 1000ms 13:25:08.036 [debug] Current batch of media processed. Will check again in 1000ms 13:25:08.081 [debug] Current batch of media processed. Will check again in 1000ms 13:25:09.037 [debug] Current batch of media processed. Will check again in 1000ms 13:25:09.082 [debug] Current batch of media processed. Will check again in 1000ms 13:25:10.038 [debug] Current batch of media processed. Will check again in 1000ms 13:25:10.083 [debug] Current batch of media processed. Will check again in 1000ms 13:25:11.039 [debug] Current batch of media processed. Will check again in 1000ms 13:25:11.084 [debug] Current batch of media processed. Will check again in 1000ms 13:25:12.040 [debug] Current batch of media processed. Will check again in 1000ms 13:25:12.085 [debug] Current batch of media processed. Will check again in 1000ms 13:25:13.041 [debug] Current batch of media processed. Will check again in 1000ms 13:25:13.086 [debug] Current batch of media processed. Will check again in 1000ms 13:25:13.225 [info] {"source":"oban","duration":17949,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:25:14.042 [debug] Current batch of media processed. Will check again in 1000ms 13:25:14.087 [debug] Current batch of media processed. Will check again in 1000ms 13:25:15.043 [debug] Current batch of media processed. Will check again in 1000ms 13:25:15.088 [debug] Current batch of media processed. Will check again in 1000ms 13:25:16.044 [debug] Current batch of media processed. Will check again in 1000ms 13:25:16.089 [debug] Current batch of media processed. Will check again in 1000ms 13:25:17.045 [debug] Current batch of media processed. Will check again in 1000ms 13:25:17.090 [debug] Current batch of media processed. Will check again in 1000ms 13:25:18.046 [debug] Current batch of media processed. Will check again in 1000ms 13:25:18.091 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "\"كتير بنسمع إن أنظمة الذكاء الاصطناعي بقت “بتتكلم مع بعض” وإن ده ممكن يكون بداية خطر على البشر، لكن الحقيقة أبسط من كده بكتير… أنظمة زي ChatGPT أو غيرها مش عندها وعي ولا نية ولا أهداف خاصة بيها، هي مجرد نماذج بتستقبل مدخلات وتطلع مخرجات بناءً على بيانات وأنماط اتدربت عليها، آه ممكن نظامين يتبادلوا بيانات لو حد برمجهم يعملوا كده، لكن ده بيكون بتصميم وإشراف بشري كامل \n\n🟧 ضيف الحلقة هو:\nمصطفى مدحت الرئيس التنفيذي لشركة نايس دير\n🔶شاهد الحلقة على يوتيوب: الذكاء الاصطناعي وتآثيره علي مستقبل الشركات الناشئة - مع مصطفى مدحت الرئيس التنفيذي لشركة نايس دير\n.\n.\nهذه الحلقـــة برعايــــة:\n\n📌 \u200Eاورنچ بيزنس\nتابع الصفحة الرسمية لاورنچ بيزنس لخدمة جميع عملائها من قطاع الشركات، لتكن على اطلاع دائم بأحدث الحلول والعروض والخدمات المصممة خصيصًا لاحتياجات شركتك، على مدار الساعة.\n🟠للمزيد من التفاصيل عن اورنچ بيزنس قم بزيارة الـ ⬅️ الـ Bio\n\n📌 Hydepark Developments\nإحدى أبرز شركات التطوير العقاري في مصر، بخبرة تمتد لـ15 عامًا، ومحفظة مشروعات متنوعة تضم 8 تطويرات بحضور قوي في شمال وشرق وغرب القاهرة.\n🟠للمزيد من التفاصيل Hydepark Developments قم بزيارة الـ ⬅️ الـ Bio\n\n📌 CIB \n\nكونك عميل CIB Business Banking يعني أنك تستفيد من أفضل المنتجات والحلول المالية وغير المالية، بالإضافة إلى خدمات مخصصة تلبي احتياجات شركتك، مع دعم مستمر يضمن لك راحة البال لتتمكن من التركيز على نمو أعمالك. وللتعرف على المزيد، أرسل كلمة \"\"بيزنس\"\" في رسالة نصية إلى الرقم 4435.\n 🟠للمزيد من التفاصيل عن CIB Business Banking قم بزيارة الـ ⬅️ الـ Bio \n\r\"", "duration" => 84, "filename" => "/downloads/shorts/بزنس بالعربي (Business بالعربى )/بزنس بالعربي (Business بالعربى ) - 2026-03-05 - [9Pg5YmV35A0].mp4", "id" => "9Pg5YmV35A0", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/9Pg5YmV35A0", "playlist_index" => 18, "timestamp" => 1772715629, "title" => "\"الحقيقة الكاملة وراء خوف الناس من الـ AI - مصطفى مدحت\"", "upload_date" => "20260305"} 13:25:18.092 [debug] QUERY OK source="sources" db=0.2ms idle=1081.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" IN (?)) [115] 13:25:18.092 [debug] QUERY OK source="sources" db=0.2ms idle=1082.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" = ?) [115] 13:25:18.095 [debug] QUERY OK source="media_items" db=1.9ms idle=1082.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-05 13:00:29Z], 115] 13:25:18.097 [debug] QUERY OK source="media_items" db=1.6ms idle=1063.4ms 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" ["\"كتير بنسمع إن أنظمة الذكاء الاصطناعي بقت “بتتكلم مع بعض” وإن ده ممكن يكون بداية خطر على البشر، لكن الحقيقة أبسط من كده بكتير… أنظمة زي ChatGPT أو غيرها مش عندها وعي ولا نية ولا أهداف خاصة بيها، هي مجرد نماذج بتستقبل مدخلات وتطلع مخرجات بناءً على بيانات وأنماط اتدربت عليها، آه ممكن نظامين يتبادلوا بيانات لو حد برمجهم يعملوا كده، لكن ده بيكون بتصميم وإشراف بشري كامل \n\n🟧 ضيف الحلقة هو:\nمصطفى مدحت الرئيس التنفيذي لشركة نايس دير\n🔶شاهد الحلقة على يوتيوب: الذكاء الاصطناعي وتآثيره علي مستقبل الشركات الناشئة - مع مصطفى مدحت الرئيس التنفيذي لشركة نايس دير\n.\n.\nهذه الحلقـــة برعايــــة:\n\n📌 \u200Eاورنچ بيزنس\nتابع الصفحة الرسمية لاورنچ بيزنس لخدمة جميع عملائها من قطاع الشركات، لتكن على اطلاع دائم بأحدث الحلول والعروض والخدمات المصممة خصيصًا لاحتياجات شركتك، على مدار الساعة.\n🟠للمزيد من التفاصيل عن اورنچ بيزنس قم بزيارة الـ ⬅️ الـ Bio\n\n📌 Hydepark Developments\nإحدى أبرز شركات التطوير العقاري في مصر، بخبرة تمتد لـ15 عامًا، ومحفظة مشروعات متنوعة تضم 8 تطويرات بحضور قوي في شمال وشرق وغرب القاهرة.\n🟠للمزيد من التفاصيل Hydepark Developments قم بزيارة الـ ⬅️ الـ Bio\n\n📌 CIB \n\nكونك عميل CIB Business Banking يعني أنك تستفيد من أفضل المنتجات والحلول المالية وغير المالية، بالإضافة إلى خدمات مخصصة تلبي احتياجات شركتك، مع دعم مستمر يضمن لك راحة البال لتتمكن من التركيز على نمو أعمالك. وللتعرف على المزيد، أرسل كلمة \"\"بيزنس\"\" في رسالة نصية إلى الرقم 4435.\n 🟠للمزيد من التفاصيل عن CIB Business Banking قم بزيارة الـ ⬅️ الـ Bio \n\r\"", "\"الحقيقة الكاملة وراء خوف الناس من الـ AI - مصطفى مدحت\"", "77d611ec-06e3-47db-ad47-385a257c4a54", 84, false, "9Pg5YmV35A0", "https://www.youtube.com/shorts/9Pg5YmV35A0", 18, "/downloads/shorts/بزنس بالعربي (Business بالعربى )/بزنس بالعربي (Business بالعربى ) - 2026-03-05 - [9Pg5YmV35A0].mp4", false, false, true, 115, [], 98, ~U[2026-03-05 13:00:29Z], ~U[2026-04-15 13:25:18Z], ~U[2026-04-15 13:25:18Z], "\"كتير بنسمع إن أنظمة الذكاء الاصطناعي بقت “بتتكلم مع بعض” وإن ده ممكن يكون بداية خطر على البشر، لكن الحقيقة أبسط من كده بكتير… أنظمة زي ChatGPT أو غيرها مش عندها وعي ولا نية ولا أهداف خاصة بيها، هي مجرد نماذج بتستقبل مدخلات وتطلع مخرجات بناءً على بيانات وأنماط اتدربت عليها، آه ممكن نظامين يتبادلوا بيانات لو حد برمجهم يعملوا كده، لكن ده بيكون بتصميم وإشراف بشري كامل \n\n🟧 ضيف الحلقة هو:\nمصطفى مدحت الرئيس التنفيذي لشركة نايس دير\n🔶شاهد الحلقة على يوتيوب: الذكاء الاصطناعي وتآثيره علي مستقبل الشركات الناشئة - مع مصطفى مدحت الرئيس التنفيذي لشركة نايس دير\n.\n.\nهذه الحلقـــة برعايــــة:\n\n📌 \u200Eاورنچ بيزنس\nتابع الصفحة الرسمية لاورنچ بيزنس لخدمة جميع عملائها من قطاع الشركات، لتكن على اطلاع دائم بأحدث الحلول والعروض والخدمات المصممة خصيصًا لاحتياجات شركتك، على مدار الساعة.\n🟠للمزيد من التفاصيل عن اورنچ بيزنس قم بزيارة الـ ⬅️ الـ Bio\n\n📌 Hydepark Developments\nإحدى أبرز شركات التطوير العقاري في مصر، بخبرة تمتد لـ15 عامًا، ومحفظة مشروعات متنوعة تضم 8 تطويرات بحضور قوي في شمال وشرق وغرب القاهرة.\n🟠للمزيد من التفاصيل Hydepark Developments قم بزيارة الـ ⬅️ الـ Bio\n\n📌 CIB \n\nكونك عميل CIB Business Banking يعني أنك تستفيد من أفضل المنتجات والحلول المالية وغير المالية، بالإضافة إلى خدمات مخصصة تلبي احتياجات شركتك، مع دعم مستمر يضمن لك راحة البال لتتمكن من التركيز على نمو أعمالك. وللتعرف على المزيد، أرسل كلمة \"\"بيزنس\"\" في رسالة نصية إلى الرقم 4435.\n 🟠للمزيد من التفاصيل عن CIB Business Banking قم بزيارة الـ ⬅️ الـ Bio \n\r\"", "\"الحقيقة الكاملة وراء خوف الناس من الـ AI - مصطفى مدحت\"", 84, false, "9Pg5YmV35A0", "https://www.youtube.com/shorts/9Pg5YmV35A0", "/downloads/shorts/بزنس بالعربي (Business بالعربى )/بزنس بالعربي (Business بالعربى ) - 2026-03-05 - [9Pg5YmV35A0].mp4", true, 115, ~U[2026-03-05 13:00:29Z]] 13:25:18.098 [debug] QUERY OK source="sources" db=0.3ms idle=64.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" = ?) [115] 13:25:18.098 [debug] QUERY OK source="media_profiles" db=0.3ms idle=5.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 13:25:18.099 [debug] QUERY OK source="media_items" db=0.9ms idle=6.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4631239] 13:25:18.100 [debug] Current batch of media processed. Will check again in 1000ms 13:25:19.047 [debug] Current batch of media processed. Will check again in 1000ms 13:25:19.101 [debug] Current batch of media processed. Will check again in 1000ms 13:25:20.043 [info] {"args":{"id":96},"id":2192080,"meta":{},"system_time":1776259520043241341,"max_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:25:20.043 [debug] QUERY OK source="sources" db=0.1ms idle=33.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" = ?) [96] 13:25:20.044 [debug] QUERY OK source="settings" db=0.2ms idle=33.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:25:20.044 [debug] QUERY OK source="media_profiles" db=0.2ms idle=34.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" = ?) [2] 13:25:20.045 [debug] QUERY OK source="settings" db=0.2ms idle=8.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:25:20.045 [debug] Fetching recent media IDs from YouTube API for playlist: UUKlJwuBeBliMD0OS9AN1LqA 13:25:20.045 [debug] QUERY OK source="settings" db=0.1ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:25:20.045 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 13:25:20.048 [debug] Current batch of media processed. Will check again in 1000ms 13:25:20.102 [debug] Current batch of media processed. Will check again in 1000ms 13:25:20.316 [debug] QUERY OK source="media_items" db=1.2ms idle=271.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [96, "lgi0gk0izVw", "iwGrG2LwuUU", "x62omneLjUQ", "7ZLylxGWhc8", "2JYaUJayC7M", "8MhWFLNJLcI", "z6uHcqDrdOU", "Cm-5wl2sGAk", "3mYv9NAhrwI", "_zGarVwlhrI", "UenlD8RnRzw", "k8GdyHR_PKI", "ph3d_UDtJmg", "sk3EIXCnj2Y", "gaPNo4hjpOA", "MfBOjMSaUlQ", "4kFWFkA5tzQ", "v4P3-qv5apE", "6sXolxcGHV8", "L0oqBbEp4Do", "eHOMLS47yRg", "fixM4HJ_t0c", "Z49bpbSmeqo", "lFk09LRAqoE", "UCFgrFMnq-M", "mX-ZHvm0EqQ", "6BeHK2sBAsU", "nVxb_6-i4vo", "5AWb3uGaGnM", "U6_uygrlXLQ", "hH-kmDMUdbM", "bECZSbJSUN4", "4NLmKeucGeQ", "So1_9zobHfI", "Q0dEwIee2QU", "owVM8htcVMY", "KdPcD4V4wwI", "ZiNb8EywGWk", "_sDNcewGKdA", "C1T0dqbQ8wY", "aOJPNjwzVoM", "ZnJE8cWMlek", "bLKHwG-zIBA", "gI5W6288Nqg", "PvlO47XZj74", "Sh9pKvCsBaw", "dGqaASnOllk", "J4aKYDp7efI", "V1hn7k2amaQ", ...] 13:25:20.331 [debug] QUERY OK source="media_items" db=13.2ms idle=273.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")))) [96] 13:25:20.332 [debug] QUERY OK source="tasks" db=0.3ms idle=287.0ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2192117, 96, ~U[2026-04-15 13:25:20Z], ~U[2026-04-15 13:25:20Z]] 13:25:20.333 [info] {"args":{"id":96},"id":2192080,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":289816,"event":"job:stop","queue_time":514321,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:25:21.049 [debug] Current batch of media processed. Will check again in 1000ms 13:25:21.103 [debug] Current batch of media processed. Will check again in 1000ms 13:25:22.047 [info] {"args":{"id":98},"id":2192081,"meta":{},"system_time":1776259522047070169,"max_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:25:22.047 [debug] QUERY OK source="sources" db=0.3ms idle=36.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" = ?) [98] 13:25:22.048 [debug] QUERY OK source="settings" db=0.2ms idle=37.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:25:22.048 [debug] QUERY OK source="media_profiles" db=0.2ms idle=37.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" = ?) [2] 13:25:22.049 [debug] QUERY OK source="settings" db=0.2ms idle=8.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:25:22.049 [debug] Fetching recent media IDs from YouTube API for playlist: UUAZb4c10tPnyyAPhEo-vS1w 13:25:22.049 [debug] QUERY OK source="settings" db=0.1ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:25:22.049 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 13:25:22.050 [debug] Current batch of media processed. Will check again in 1000ms 13:25:22.104 [debug] Current batch of media processed. Will check again in 1000ms 13:25:22.361 [debug] QUERY OK source="media_items" db=1.3ms idle=311.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [98, "Ev9FN-nBkho", "G85Ah7FqgJw", "NMWezFTpuyA", "wpwVJMVDreg", "katvUb1-VtA", "j8v0Ci3CyCM", "39M5ZIuq5R0", "aezweDUgIYI", "o7yt-kZE8Ns", "ryQ2XQL7DM8", "yRENM57s7pk", "s1QGX8WMUIA", "JoMya8mFvqw", "Kl9b5jHoi0g", "MPstTZo5ZTI", "ufjD8yVfMyM", "hkPoP9qiNFc", "uJR-FImplgI", "AJMdBafruQQ", "_3YV1GNd8YM", "48-62pf9pVU", "TSCWJLqr7ts", "yXu61yOXpSE", "BEPkOy3AM9A", "-A3XI4Nev-I", "pWqiicpnZbs", "CjnYvDUygjA", "enO_DLOpBXk", "8-cvEj2h9Jw", "BRoLiutnbv0", "rFTGwrEkzcg", "KQaz_l3M1Zk", "zgLl_BLdBUU", "jcLjRB0wu2M", "bZj0l4Omo6Y", "bf-6IUrtFb4", "ICRJYx5e50Q", "AnEHzdsKX1I", "6yAcLo_1ez0", "kVAVTj64ZYI", "C0JE-lBoYig", "PyoZ_hdaI_E", "rHX8xNJAqgs", "CYFSuOfgFCs", "GPgPJrBC2Ss", "Jn7VbYmvfrc", "utK0QZwBRSw", "s6gLJF7hR6o", "9Awsk83VIIY", ...] 13:25:22.363 [debug] QUERY OK source="media_items" db=0.6ms idle=314.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")))) [98] 13:25:22.364 [debug] QUERY OK source="tasks" db=0.2ms idle=315.1ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2192118, 98, ~U[2026-04-15 13:25:22Z], ~U[2026-04-15 13:25:22Z]] 13:25:22.365 [info] {"args":{"id":98},"id":2192081,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":317816,"event":"job:stop","queue_time":479049,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:25:23.051 [debug] Current batch of media processed. Will check again in 1000ms 13:25:23.105 [debug] Current batch of media processed. Will check again in 1000ms 13:25:24.052 [debug] Current batch of media processed. Will check again in 1000ms 13:25:24.106 [debug] Current batch of media processed. Will check again in 1000ms 13:25:25.053 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "في ظلّ الضغوط اليومية والصدمات المستمرة، أصبح الحفاظ على صحتنا النفسية وحماية أطفالنا أكثر أهمية من أيّ وقت مضى. في هذه الحلقة، يشرح الدكتور سامي ريشا، رئيس قسم الطب النفسي في كلية الطب بجامعة القديس يوسف، كيفية التعرّف إلى تأثير الصدمات النفسية على حياتنا اليومية، وطرق التعامل معها بطريقة عملية، إضافة إلى أدوات تساعد على حماية الأفراد والأطفال من الضغوط النفسية المستمرة.", "duration" => 77, "filename" => "/downloads/shorts/Podcast With Nayla#/Podcast With Nayla - 2026-04-02 - [BgKY0xCYzZw].mp4", "id" => "BgKY0xCYzZw", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/BgKY0xCYzZw", "playlist_index" => 1, "timestamp" => 1775145616, "title" => "كيف ننجو من الصدمات النفسية؟", "upload_date" => "20260402"} 13:25:25.054 [debug] QUERY OK source="sources" db=0.2ms idle=1043.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" IN (?)) [180] 13:25:25.054 [debug] QUERY OK source="sources" db=0.3ms idle=1044.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [180] 13:25:25.056 [debug] QUERY OK source="media_items" db=1.3ms idle=1044.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-02 16:00:16Z], 180] 13:25:25.057 [debug] QUERY OK source="media_items" db=0.9ms idle=1013.7ms 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" ["في ظلّ الضغوط اليومية والصدمات المستمرة، أصبح الحفاظ على صحتنا النفسية وحماية أطفالنا أكثر أهمية من أيّ وقت مضى. في هذه الحلقة، يشرح الدكتور سامي ريشا، رئيس قسم الطب النفسي في كلية الطب بجامعة القديس يوسف، كيفية التعرّف إلى تأثير الصدمات النفسية على حياتنا اليومية، وطرق التعامل معها بطريقة عملية، إضافة إلى أدوات تساعد على حماية الأفراد والأطفال من الضغوط النفسية المستمرة.", "كيف ننجو من الصدمات النفسية؟", "bab1a339-b18b-4501-98f0-5b9fe114b7e7", 77, false, "BgKY0xCYzZw", "https://www.youtube.com/shorts/BgKY0xCYzZw", 1, "/downloads/shorts/Podcast With Nayla#/Podcast With Nayla - 2026-04-02 - [BgKY0xCYzZw].mp4", false, false, true, 180, [], 98, ~U[2026-04-02 16:00:16Z], ~U[2026-04-15 13:25:25Z], ~U[2026-04-15 13:25:25Z], "في ظلّ الضغوط اليومية والصدمات المستمرة، أصبح الحفاظ على صحتنا النفسية وحماية أطفالنا أكثر أهمية من أيّ وقت مضى. في هذه الحلقة، يشرح الدكتور سامي ريشا، رئيس قسم الطب النفسي في كلية الطب بجامعة القديس يوسف، كيفية التعرّف إلى تأثير الصدمات النفسية على حياتنا اليومية، وطرق التعامل معها بطريقة عملية، إضافة إلى أدوات تساعد على حماية الأفراد والأطفال من الضغوط النفسية المستمرة.", "كيف ننجو من الصدمات النفسية؟", 77, false, "BgKY0xCYzZw", "https://www.youtube.com/shorts/BgKY0xCYzZw", "/downloads/shorts/Podcast With Nayla#/Podcast With Nayla - 2026-04-02 - [BgKY0xCYzZw].mp4", true, 180, ~U[2026-04-02 16:00:16Z]] 13:25:25.058 [debug] QUERY OK source="sources" db=0.3ms idle=13.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [180] 13:25:25.059 [debug] QUERY OK source="media_profiles" db=0.3ms idle=4.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 13:25:25.059 [debug] QUERY OK source="media_items" db=0.3ms idle=4.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 [4658922] 13:25:25.059 [debug] Current batch of media processed. Will check again in 1000ms 13:25:25.107 [debug] Current batch of media processed. Will check again in 1000ms 13:25:26.060 [debug] Current batch of media processed. Will check again in 1000ms 13:25:26.108 [debug] Current batch of media processed. Will check again in 1000ms 13:25:27.061 [debug] Current batch of media processed. Will check again in 1000ms 13:25:27.109 [debug] Current batch of media processed. Will check again in 1000ms 13:25:28.062 [debug] Current batch of media processed. Will check again in 1000ms 13:25:28.110 [debug] Current batch of media processed. Will check again in 1000ms 13:25:29.063 [debug] Current batch of media processed. Will check again in 1000ms 13:25:29.111 [debug] Current batch of media processed. Will check again in 1000ms 13:25:30.064 [debug] Current batch of media processed. Will check again in 1000ms 13:25:30.112 [debug] Current batch of media processed. Will check again in 1000ms 13:25:31.065 [debug] Current batch of media processed. Will check again in 1000ms 13:25:31.113 [debug] Current batch of media processed. Will check again in 1000ms 13:25:32.066 [debug] Current batch of media processed. Will check again in 1000ms 13:25:32.114 [debug] Current batch of media processed. Will check again in 1000ms 13:25:33.061 [info] {"args":{"id":179},"id":2192082,"meta":{},"system_time":1776259533061269850,"max_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:25:33.062 [debug] QUERY OK source="sources" db=0.3ms idle=51.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" = ?) [179] 13:25:33.062 [debug] QUERY OK source="settings" db=0.2ms idle=51.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:25:33.063 [debug] QUERY OK source="media_profiles" db=0.3ms idle=52.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" = ?) [2] 13:25:33.063 [debug] QUERY OK source="settings" db=0.2ms idle=9.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:25:33.063 [debug] Fetching recent media IDs from YouTube API for playlist: UUqyUIejEzM0o-weuEpnDi3Q 13:25:33.063 [debug] QUERY OK source="settings" db=0.0ms idle=2.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:25:33.064 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 13:25:33.067 [debug] Current batch of media processed. Will check again in 1000ms 13:25:33.115 [debug] Current batch of media processed. Will check again in 1000ms 13:25:33.444 [debug] QUERY OK source="media_items" db=1.7ms idle=380.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [179, "pKXdilyXxAI", "GlncALbDrw8", "zf1ggra0IvY", "a6h5d-tGm6c", "uX6xwAMoZZo", "35efgolAJnQ", "6Y7p1LFvufE", "dO5F9yWjbpc", "41s3cMSb7j8", "zGinpJX6IK8", "GpwHRN69eck", "kK2cfv05DUo", "SBnnyouT6Jo", "gUIb3RFsZbM", "v-j7EdHnc2g", "Cs1y_qfIYP8", "uYzepecNaAw", "DgDtCp_z8Q0", "1TEhu1_Tv5U", "ezCec4ndn88", "x9dGduuEFHQ", "YYSe9GnVTF8", "0V6Snvm7WDM", "uml0Z4AZaK0", "5D_o1PuFNBU", "ZNkhOZYGWCo", "HnPtQuRuHjs", "fssPKb80GAk", "uCMuZv0LfQo", "wolCPbqmPKI", "P7hizGN3Qac", "oEjcEbXFr-0", "8ZJwuxwNEVY", "rFQGEqS1Jec", "JG-lowxduWk", "55cfeTeiBrU", "2H6XsOWSSCc", "mALFGAJ4Ank", "AWB5APi4yb8", "QO51is_uUwM", "AVbaqwT6wjA", "dDDhx5UY_bg", "7IGJcXIwM7c", "1286woUnTPg", "i3fhiv7KrnY", "hc5hbCiIt9E", "2nyFunyTN1Q", "9-l8VJK2Ivw", "1g1r_vTXaBE", ...] 13:25:33.449 [debug] QUERY OK source="media_items" db=2.7ms idle=383.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")))) [179] 13:25:33.454 [debug] QUERY OK source="tasks" db=0.3ms idle=3.4ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2192119, 179, ~U[2026-04-15 13:25:33Z], ~U[2026-04-15 13:25:33Z]] 13:25:33.455 [info] {"args":{"id":179},"id":2192082,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":393181,"event":"job:stop","queue_time":513630,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:25:34.068 [debug] Current batch of media processed. Will check again in 1000ms 13:25:34.116 [debug] Current batch of media processed. Will check again in 1000ms 13:25:35.069 [debug] Current batch of media processed. Will check again in 1000ms 13:25:35.117 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "\"لذكاء الاصطناعي بيشتغل على احتمالات وأنماط كلام مش على تشخيص حقيقي، فممكن يطبطب عليك بكلام مريح لكنه مش بالضرورة يكون الأدق أو الأنسب لحالتك، وده فرق كبير بين أداة مساعدة في التفكير أو جمع المعلومات وبين شخص متخصص مسؤول عن صحتك النفسية، فلازم نستخدم التكنولوجيا بوعي ونعرف حدودها قبل ما نعتمد عليها في قرارات أو جوانب حساسة في حياتنا. \n\n🟧 ضيف الحلقة هو:\nمصطفى مدحت الرئيس التنفيذي لشركة نايس دير\n🔶شاهد الحلقة على يوتيوب: الذكاء الاصطناعي وتآثيره علي مستقبل الشركات الناشئة - مع مصطفى مدحت الرئيس التنفيذي لشركة نايس دير\n.\n.\nهذه الحلقـــة برعايــــة:\n\n📌 \u200Eاورنچ بيزنس\nتابع الصفحة الرسمية لاورنچ بيزنس لخدمة جميع عملائها من قطاع الشركات، لتكن على اطلاع دائم بأحدث الحلول والعروض والخدمات المصممة خصيصًا لاحتياجات شركتك، على مدار الساعة.\n🟠للمزيد من التفاصيل عن اورنچ بيزنس قم بزيارة الـ ⬅️ الـ Bio\n\n📌 Hydepark Developments\nإحدى أبرز شركات التطوير العقاري في مصر، بخبرة تمتد لـ15 عامًا، ومحفظة مشروعات متنوعة تضم 8 تطويرات بحضور قوي في شمال وشرق وغرب القاهرة.\n🟠للمزيد من التفاصيل Hydepark Developments قم بزيارة الـ ⬅️ الـ Bio\n\n📌 CIB \n\nكونك عميل CIB Business Banking يعني أنك تستفيد من أفضل المنتجات والحلول المالية وغير المالية، بالإضافة إلى خدمات مخصصة تلبي احتياجات شركتك، مع دعم مستمر يضمن لك راحة البال لتتمكن من التركيز على نمو أعمالك. وللتعرف على المزيد، أرسل كلمة \"\"بيزنس\"\" في رسالة نصية إلى الرقم 4435.\n 🟠للمزيد من التفاصيل عن CIB Business Banking قم بزيارة الـ ⬅️ الـ Bio \n\n\"", "duration" => 80, "filename" => "/downloads/shorts/بزنس بالعربي (Business بالعربى )/بزنس بالعربي (Business بالعربى ) - 2026-03-04 - [3HOIJ4QgcOo].mp4", "id" => "3HOIJ4QgcOo", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/3HOIJ4QgcOo", "playlist_index" => 19, "timestamp" => 1772629204, "title" => "هل ChatGPT بيقول الحقيقة دايمًا؟ - مصطفى مدحت", "upload_date" => "20260304"} 13:25:35.118 [debug] QUERY OK source="sources" db=0.3ms idle=107.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" IN (?)) [115] 13:25:35.119 [debug] QUERY OK source="sources" db=0.4ms idle=108.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" = ?) [115] 13:25:35.121 [debug] QUERY OK source="media_items" db=2.0ms idle=109.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-04 13:00:04Z], 115] 13:25:35.123 [debug] QUERY OK source="media_items" db=1.7ms idle=111.4ms 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" ["\"لذكاء الاصطناعي بيشتغل على احتمالات وأنماط كلام مش على تشخيص حقيقي، فممكن يطبطب عليك بكلام مريح لكنه مش بالضرورة يكون الأدق أو الأنسب لحالتك، وده فرق كبير بين أداة مساعدة في التفكير أو جمع المعلومات وبين شخص متخصص مسؤول عن صحتك النفسية، فلازم نستخدم التكنولوجيا بوعي ونعرف حدودها قبل ما نعتمد عليها في قرارات أو جوانب حساسة في حياتنا. \n\n🟧 ضيف الحلقة هو:\nمصطفى مدحت الرئيس التنفيذي لشركة نايس دير\n🔶شاهد الحلقة على يوتيوب: الذكاء الاصطناعي وتآثيره علي مستقبل الشركات الناشئة - مع مصطفى مدحت الرئيس التنفيذي لشركة نايس دير\n.\n.\nهذه الحلقـــة برعايــــة:\n\n📌 \u200Eاورنچ بيزنس\nتابع الصفحة الرسمية لاورنچ بيزنس لخدمة جميع عملائها من قطاع الشركات، لتكن على اطلاع دائم بأحدث الحلول والعروض والخدمات المصممة خصيصًا لاحتياجات شركتك، على مدار الساعة.\n🟠للمزيد من التفاصيل عن اورنچ بيزنس قم بزيارة الـ ⬅️ الـ Bio\n\n📌 Hydepark Developments\nإحدى أبرز شركات التطوير العقاري في مصر، بخبرة تمتد لـ15 عامًا، ومحفظة مشروعات متنوعة تضم 8 تطويرات بحضور قوي في شمال وشرق وغرب القاهرة.\n🟠للمزيد من التفاصيل Hydepark Developments قم بزيارة الـ ⬅️ الـ Bio\n\n📌 CIB \n\nكونك عميل CIB Business Banking يعني أنك تستفيد من أفضل المنتجات والحلول المالية وغير المالية، بالإضافة إلى خدمات مخصصة تلبي احتياجات شركتك، مع دعم مستمر يضمن لك راحة البال لتتمكن من التركيز على نمو أعمالك. وللتعرف على المزيد، أرسل كلمة \"\"بيزنس\"\" في رسالة نصية إلى الرقم 4435.\n 🟠للمزيد من التفاصيل عن CIB Business Banking قم بزيارة الـ ⬅️ الـ Bio \n\n\"", "هل ChatGPT بيقول الحقيقة دايمًا؟ - مصطفى مدحت", "50fe3c0b-8bec-4117-951b-1269784ce44a", 80, false, "3HOIJ4QgcOo", "https://www.youtube.com/shorts/3HOIJ4QgcOo", 19, "/downloads/shorts/بزنس بالعربي (Business بالعربى )/بزنس بالعربي (Business بالعربى ) - 2026-03-04 - [3HOIJ4QgcOo].mp4", false, false, true, 115, [], 98, ~U[2026-03-04 13:00:04Z], ~U[2026-04-15 13:25:35Z], ~U[2026-04-15 13:25:35Z], "\"لذكاء الاصطناعي بيشتغل على احتمالات وأنماط كلام مش على تشخيص حقيقي، فممكن يطبطب عليك بكلام مريح لكنه مش بالضرورة يكون الأدق أو الأنسب لحالتك، وده فرق كبير بين أداة مساعدة في التفكير أو جمع المعلومات وبين شخص متخصص مسؤول عن صحتك النفسية، فلازم نستخدم التكنولوجيا بوعي ونعرف حدودها قبل ما نعتمد عليها في قرارات أو جوانب حساسة في حياتنا. \n\n🟧 ضيف الحلقة هو:\nمصطفى مدحت الرئيس التنفيذي لشركة نايس دير\n🔶شاهد الحلقة على يوتيوب: الذكاء الاصطناعي وتآثيره علي مستقبل الشركات الناشئة - مع مصطفى مدحت الرئيس التنفيذي لشركة نايس دير\n.\n.\nهذه الحلقـــة برعايــــة:\n\n📌 \u200Eاورنچ بيزنس\nتابع الصفحة الرسمية لاورنچ بيزنس لخدمة جميع عملائها من قطاع الشركات، لتكن على اطلاع دائم بأحدث الحلول والعروض والخدمات المصممة خصيصًا لاحتياجات شركتك، على مدار الساعة.\n🟠للمزيد من التفاصيل عن اورنچ بيزنس قم بزيارة الـ ⬅️ الـ Bio\n\n📌 Hydepark Developments\nإحدى أبرز شركات التطوير العقاري في مصر، بخبرة تمتد لـ15 عامًا، ومحفظة مشروعات متنوعة تضم 8 تطويرات بحضور قوي في شمال وشرق وغرب القاهرة.\n🟠للمزيد من التفاصيل Hydepark Developments قم بزيارة الـ ⬅️ الـ Bio\n\n📌 CIB \n\nكونك عميل CIB Business Banking يعني أنك تستفيد من أفضل المنتجات والحلول المالية وغير المالية، بالإضافة إلى خدمات مخصصة تلبي احتياجات شركتك، مع دعم مستمر يضمن لك راحة البال لتتمكن من التركيز على نمو أعمالك. وللتعرف على المزيد، أرسل كلمة \"\"بيزنس\"\" في رسالة نصية إلى الرقم 4435.\n 🟠للمزيد من التفاصيل عن CIB Business Banking قم بزيارة الـ ⬅️ الـ Bio \n\n\"", "هل ChatGPT بيقول الحقيقة دايمًا؟ - مصطفى مدحت", 80, false, "3HOIJ4QgcOo", "https://www.youtube.com/shorts/3HOIJ4QgcOo", "/downloads/shorts/بزنس بالعربي (Business بالعربى )/بزنس بالعربي (Business بالعربى ) - 2026-03-04 - [3HOIJ4QgcOo].mp4", true, 115, ~U[2026-03-04 13:00:04Z]] 13:25:35.124 [debug] QUERY OK source="sources" db=0.3ms idle=67.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" = ?) [115] 13:25:35.125 [debug] QUERY OK source="media_profiles" db=0.3ms 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" = ?) [2] 13:25:35.125 [debug] QUERY OK source="media_items" db=0.3ms idle=6.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4631241] 13:25:35.125 [debug] Current batch of media processed. Will check again in 1000ms 13:25:36.070 [debug] Current batch of media processed. Will check again in 1000ms 13:25:36.126 [debug] Current batch of media processed. Will check again in 1000ms 13:25:37.071 [debug] Current batch of media processed. Will check again in 1000ms 13:25:37.127 [debug] Current batch of media processed. Will check again in 1000ms 13:25:38.072 [debug] Current batch of media processed. Will check again in 1000ms 13:25:38.128 [debug] Current batch of media processed. Will check again in 1000ms 13:25:38.964 [info] GET /sources/402/media/4611808/force_download 13:25:38.965 [debug] QUERY OK source="settings" db=0.2ms idle=1954.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:25:38.965 [debug] QUERY OK source="settings" db=0.1ms idle=1954.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:25:38.965 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 13:25:38.965 [error] #PID<0.6125.0> running PinchflatWeb.Endpoint (connection #PID<0.6124.0>, stream id 1) terminated Server: jak.hibeex.com:80 (http) Request: GET /sources/402/media/4611808/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/402/media/4611808/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.6124.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/402/media/4611808/force_download", host: "jak.hibeex.com", peer: {{172, 22, 0, 1}, 44892}, bindings: %{}, sock: {{172, 22, 0, 4}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYb2dHdW5qQ0YwLThLMW1XMjFGdVhxM0I5.rFq0SpYnG7Ff8yH2OylQa1ZsLf_noAuNpOiyw0SPG0U", "from" => "gptbot(at)openai.com", "host" => "jak.hibeex.com", "referer" => "https://jak.hibeex.com/sources/402/media/4611808?prevent_download=true", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.232", "x-forwarded-proto" => "https", "x-openai-host-hash" => "41517590", "x-real-ip" => "74.7.243.232" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYb2dHdW5qQ0YwLThLMW1XMjFGdVhxM0I5.rFq0SpYnG7Ff8yH2OylQa1ZsLf_noAuNpOiyw0SPG0U" }, halted: false, host: "jak.hibeex.com", method: "GET", owner: #PID<0.6125.0>, params: %{}, path_info: ["sources", "402", "media", "4611808", "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://jak.hibeex.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 22, 0, 1}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYb2dHdW5qQ0YwLThLMW1XMjFGdVhxM0I5.rFq0SpYnG7Ff8yH2OylQa1ZsLf_noAuNpOiyw0SPG0U" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"connection", "close"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYb2dHdW5qQ0YwLThLMW1XMjFGdVhxM0I5.rFq0SpYnG7Ff8yH2OylQa1ZsLf_noAuNpOiyw0SPG0U"}, {"from", "gptbot(at)openai.com"}, {"host", "jak.hibeex.com"}, {"referer", "https://jak.hibeex.com/sources/402/media/4611808?prevent_download=true"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)"}, {"x-forwarded-for", "74.7.243.232"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "41517590"}, {"x-real-ip", "74.7.243.232"} ], request_path: "/sources/402/media/4611808/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKaKo8De1LujGPcAA-cB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.6124.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/402/media/4611808/force_download", host: "jak.hibeex.com", peer: {{172, 22, 0, 1}, 44892}, bindings: %{}, sock: {{172, 22, 0, 4}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYb2dHdW5qQ0YwLThLMW1XMjFGdVhxM0I5.rFq0SpYnG7Ff8yH2OylQa1ZsLf_noAuNpOiyw0SPG0U", "from" => "gptbot(at)openai.com", "host" => "jak.hibeex.com", "referer" => "https://jak.hibeex.com/sources/402/media/4611808?prevent_download=true", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.232", "x-forwarded-proto" => "https", "x-openai-host-hash" => "41517590", "x-real-ip" => "74.7.243.232" }, method: "GET", body_length: 0, path_info: :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/402/media/4611808/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.6124.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/402/media/4611808/force_download", host: "jak.hibeex.com", peer: {{172, 22, 0, 1}, 44892}, bindings: %{}, sock: {{172, 22, 0, 4}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYb2dHdW5qQ0YwLThLMW1XMjFGdVhxM0I5.rFq0SpYnG7Ff8yH2OylQa1ZsLf_noAuNpOiyw0SPG0U", "from" => "gptbot(at)openai.com", "host" => "jak.hibeex.com", "referer" => "https://jak.hibeex.com/sources/402/media/4611808?prevent_download=true", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.232", "x-forwarded-proto" => "https", "x-openai-host-hash" => "41517590", "x-real-ip" => "74.7.243.232" }, method: "GET", body_length: 0, path_info: :und (truncated) 13:25:39.073 [debug] Current batch of media processed. Will check again in 1000ms 13:25:39.129 [debug] Current batch of media processed. Will check again in 1000ms 13:25:39.806 [info] GET /media_profiles 13:25:39.807 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.index/2 Parameters: %{} Pipelines: [:browser] 13:25:39.808 [debug] QUERY OK source="media_profiles" db=0.2ms queue=0.3ms idle=842.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" [] 13:25:39.808 [debug] QUERY OK source="settings" db=0.1ms idle=842.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:25:39.808 [debug] QUERY OK source="settings" db=0.1ms idle=798.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:25:39.809 [debug] QUERY OK source="settings" db=0.1ms idle=798.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:25:39.810 [info] Sent 200 in 3ms 13:25:40.074 [debug] Current batch of media processed. Will check again in 1000ms 13:25:40.130 [debug] Current batch of media processed. Will check again in 1000ms 13:25:41.075 [debug] Current batch of media processed. Will check again in 1000ms 13:25:41.131 [debug] Current batch of media processed. Will check again in 1000ms 13:25:42.073 [info] {"args":{"id":170},"id":2192083,"meta":{},"system_time":1776259542072954599,"max_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:25:42.073 [debug] QUERY OK source="sources" db=0.4ms idle=1063.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" = ?) [170] 13:25:42.074 [debug] QUERY OK source="settings" db=0.3ms idle=1063.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:25:42.074 [debug] QUERY OK source="media_profiles" db=0.3ms idle=1009.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" = ?) [2] 13:25:42.075 [debug] QUERY OK source="settings" db=0.3ms idle=8.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:25:42.075 [debug] Fetching recent media IDs from YouTube API for playlist: UUNdRu8acJfOSM5j3ybyp_8Q 13:25:42.075 [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 [] 13:25:42.075 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 13:25:42.076 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "في حلقة جديدة من “بودكاست مع نايلة”، تستضيف الإعلامية نايلة تويني الفنان والرسام اللبناني رؤوف الرفاعي في حوار فلسفي عميق يتناول فيه شخصية “الدرويش” التي شكّلت محور أعماله الفنية على مدى سنوات.\n\nيتحدث الرفاعي عن رحلته من بعلبك إلى بيروت وباريس، وعن تأثير التجارب الشخصية على رؤيته الفنية، مؤكداً أن “الدرويش” يمثل الإنسان في مختلف حالاته، ويعكس واقع المجتمع والهوية الإنسانية.\n\nكما يناقش مفهوم الصدق في الفن، الأقنعة التي يرتديها الإنسان، العلاقة بين الفن والسياسة، ودور الذكاء الاصطناعي في مستقبل الإبداع، مشدداً على أن الفن يبقى انعكاساً صادقاً للروح\n\nالحلقة الكاملة عبر يوتيوب \"Podcast With Nayla\"", "duration" => 62, "filename" => "/downloads/shorts/Podcast With Nayla#/Podcast With Nayla - 2026-02-26 - [jq1nXNk99PI].mp4", "id" => "jq1nXNk99PI", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/jq1nXNk99PI", "playlist_index" => 2, "timestamp" => 1772125276, "title" => "رؤوف الرفاعي في بودكاست مع نايلة: “الدرويش” مرآة الإنسان والفن الحقيقي", "upload_date" => "20260226"} 13:25:42.077 [debug] QUERY OK source="sources" db=0.3ms 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" IN (?)) [180] 13:25:42.077 [debug] QUERY OK source="sources" db=0.2ms 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" = ?) [180] 13:25:42.079 [debug] QUERY OK source="media_items" db=1.3ms idle=2.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-26 17:01:16Z], 180] 13:25:42.080 [debug] QUERY OK source="media_items" db=1.1ms idle=3.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" ["في حلقة جديدة من “بودكاست مع نايلة”، تستضيف الإعلامية نايلة تويني الفنان والرسام اللبناني رؤوف الرفاعي في حوار فلسفي عميق يتناول فيه شخصية “الدرويش” التي شكّلت محور أعماله الفنية على مدى سنوات.\n\nيتحدث الرفاعي عن رحلته من بعلبك إلى بيروت وباريس، وعن تأثير التجارب الشخصية على رؤيته الفنية، مؤكداً أن “الدرويش” يمثل الإنسان في مختلف حالاته، ويعكس واقع المجتمع والهوية الإنسانية.\n\nكما يناقش مفهوم الصدق في الفن، الأقنعة التي يرتديها الإنسان، العلاقة بين الفن والسياسة، ودور الذكاء الاصطناعي في مستقبل الإبداع، مشدداً على أن الفن يبقى انعكاساً صادقاً للروح\n\nالحلقة الكاملة عبر يوتيوب \"Podcast With Nayla\"", "رؤوف الرفاعي في بودكاست مع نايلة: “الدرويش” مرآة الإنسان والفن الحقيقي", "94f45a22-5edc-4a20-8c44-ddc483112e6e", 62, false, "jq1nXNk99PI", "https://www.youtube.com/shorts/jq1nXNk99PI", 2, "/downloads/shorts/Podcast With Nayla#/Podcast With Nayla - 2026-02-26 - [jq1nXNk99PI].mp4", false, false, true, 180, [], 98, ~U[2026-02-26 17:01:16Z], ~U[2026-04-15 13:25:42Z], ~U[2026-04-15 13:25:42Z], "في حلقة جديدة من “بودكاست مع نايلة”، تستضيف الإعلامية نايلة تويني الفنان والرسام اللبناني رؤوف الرفاعي في حوار فلسفي عميق يتناول فيه شخصية “الدرويش” التي شكّلت محور أعماله الفنية على مدى سنوات.\n\nيتحدث الرفاعي عن رحلته من بعلبك إلى بيروت وباريس، وعن تأثير التجارب الشخصية على رؤيته الفنية، مؤكداً أن “الدرويش” يمثل الإنسان في مختلف حالاته، ويعكس واقع المجتمع والهوية الإنسانية.\n\nكما يناقش مفهوم الصدق في الفن، الأقنعة التي يرتديها الإنسان، العلاقة بين الفن والسياسة، ودور الذكاء الاصطناعي في مستقبل الإبداع، مشدداً على أن الفن يبقى انعكاساً صادقاً للروح\n\nالحلقة الكاملة عبر يوتيوب \"Podcast With Nayla\"", "رؤوف الرفاعي في بودكاست مع نايلة: “الدرويش” مرآة الإنسان والفن الحقيقي", 62, false, "jq1nXNk99PI", "https://www.youtube.com/shorts/jq1nXNk99PI", "/downloads/shorts/Podcast With Nayla#/Podcast With Nayla - 2026-02-26 - [jq1nXNk99PI].mp4", true, 180, ~U[2026-02-26 17:01:16Z]] 13:25:42.081 [debug] QUERY OK source="sources" db=0.3ms 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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [180] 13:25:42.081 [debug] QUERY OK source="media_profiles" db=0.3ms idle=4.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 13:25:42.082 [debug] QUERY OK source="media_items" db=0.4ms idle=4.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4633060] 13:25:42.082 [debug] Current batch of media processed. Will check again in 1000ms 13:25:42.132 [debug] Current batch of media processed. Will check again in 1000ms 13:25:42.433 [debug] QUERY OK source="media_items" db=1.5ms idle=353.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [170, "2dII7fUtUYg", "B-nIGwHbAVs", "-CEceffxGFA", "KIZWJA513Ao", "QneeftA53KU", "8CWL7ppNA3o", "cOxCyazeCJw", "0cWGCaFuguk", "6QMfibl-SnI", "jC5eSFR8OCs", "FVDqcFTBKVY", "bNp8eoSN4nA", "FNs2bjyYdtY", "wkMVgzvQNJk", "UcAzsfkB5qg", "zlKNqgl80nM", "NOPKBI0xLhs", "gk_TAIbLoiA", "J6xcM7Qz7UQ", "3H4TvwkjcPQ", "JID7hDNO1P0", "nhxhPipgkRA", "4znyT54MUOA", "XZqby1gGpqk", "JKvUsl_2Ow0", "1KtDgc7yWBo", "07JhQX49XVM", "WIL0xXuMeVs", "ZhZ69ws2rkw", "X7qsGLZmBQU", "2kSaPVi5IEI", "SGr5g0G00zc", "XZeXUHAyVRg", "nGe0RBK8UJE", "oU-MArspg04", "-1jFdB-QkLM", "EP0eS5Z6USo", "cZ6gjlY_KjU", "OmoT95T7a9E", "F0-EPZUydzw", "Ar-wbxmesW4", "I9nthd03SOA", "e2TH7alqLJE", "h6JxkZwuIUI", "cDlpEFf5RjY", "tpD9Yz67hBw", "mejuzJnmSMA", "2X--RidFiDg", "-xh8HQlKlog", ...] 13:25:42.437 [debug] QUERY OK source="media_items" db=2.2ms 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 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [170] 13:25:42.439 [debug] QUERY OK source="tasks" db=0.3ms idle=356.3ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2192120, 170, ~U[2026-04-15 13:25:42Z], ~U[2026-04-15 13:25:42Z]] 13:25:42.440 [info] {"args":{"id":170},"id":2192083,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":366620,"event":"job:stop","queue_time":447219,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:25:43.075 [info] {"args":{"id":187},"id":2192084,"meta":{},"system_time":1776259543074992275,"max_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:25:43.075 [debug] QUERY OK source="sources" db=0.2ms idle=635.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" = ?) [187] 13:25:43.076 [debug] QUERY OK source="settings" db=0.2ms idle=635.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:25:43.076 [debug] QUERY OK source="media_profiles" db=0.2ms idle=629.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" = ?) [2] 13:25:43.076 [debug] QUERY OK source="settings" db=0.2ms idle=8.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:25:43.077 [debug] Fetching recent media IDs from YouTube API for playlist: UUigbBPzo9jjMgdG_CcnzJhQ 13:25:43.077 [debug] QUERY OK source="settings" db=0.1ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:25:43.077 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 13:25:43.083 [debug] Current batch of media processed. Will check again in 1000ms 13:25:43.133 [debug] Current batch of media processed. Will check again in 1000ms 13:25:43.244 [info] {"source":"oban","duration":17960,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:25:43.352 [debug] QUERY OK source="media_items" db=1.4ms idle=275.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [187, "GWvaTlVbPNs", "84qfh3sRUAM", "ZlQo0Wg0kXE", "0ItF-y4uWew", "kyLG-9ClFFQ", "9Ci4G3TKIlw", "Ah2q5T91oBg", "G1SE0NM-Tbg", "cXLEVcF0DIU", "b5XQ9YhBNJg", "9_mnZd-1qAU", "yE3KKPh9vAk", "VQHaBfC_nWM", "hySWP5Xgqt0", "JlzRUtS79yc", "4Yup64cv6PU", "KDP--RC8T7c", "OlUBw4nrNvk", "kkTQeftsc1c", "jxsIjZJ3P3s", "CtK09-qlSxs", "pf9Rs02F65k", "rg5D_0SVYFs", "kl5PxYGHuTU", "eK4-7gVRdew", "j3ufeFuHN6Q", "fiVtSvdBv-8", "tN32kgkT0a4", "qkIvBGnVwSo", "UDsmYWUHvUE", "VegutkNwCEc", "H2LypidNEJk", "Rwfrdq2bCMc", "ueJbWMXwBKA", "cgJq4MyGTNY", "FBXo_CjG-5o", "0Xesauk55io", "pkb7MavLwuI", "RR5IHrnvHQE", "zHzrDgTVgmc", "2avyAUueWYE", "0WAVmj-UtIM", "VM5JWhfmf8c", "BGk1eSr6IUE", "T-oT349yB0U", "fB4Ex_Hw0pk", "CV2GjlGSxz4", "zPHZ2dRA7cg", "8Z3929e1YW4", ...] 13:25:43.355 [debug] QUERY OK source="media_items" db=1.3ms idle=277.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")))) [187] 13:25:43.358 [debug] QUERY OK source="tasks" db=0.9ms idle=113.0ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2192121, 187, ~U[2026-04-15 13:25:43Z], ~U[2026-04-15 13:25:43Z]] 13:25:43.358 [info] {"args":{"id":187},"id":2192084,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":283094,"event":"job:stop","queue_time":538030,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:25:44.077 [info] {"args":{"id":424},"id":2192085,"meta":{},"system_time":1776259544077132021,"max_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:25:44.077 [debug] QUERY OK source="sources" db=0.2ms 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" = ?) [424] 13:25:44.078 [debug] QUERY OK source="settings" db=0.2ms idle=719.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:25:44.078 [debug] QUERY OK source="media_profiles" db=0.2ms idle=713.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" = ?) [2] 13:25:44.079 [debug] QUERY OK source="settings" db=0.2ms idle=8.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:25:44.079 [debug] Fetching recent media IDs from YouTube API for playlist: UUduD22OSc9f98Fg4NuJHU3Q 13:25:44.079 [debug] QUERY OK source="settings" db=0.1ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:25:44.079 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 13:25:44.084 [debug] Current batch of media processed. Will check again in 1000ms 13:25:44.134 [debug] Current batch of media processed. Will check again in 1000ms 13:25:44.508 [debug] QUERY OK source="media_items" db=1.5ms idle=429.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [424, "l-KXAJueeE4", "z6yloe8BVaU", "dZox-F9NY6Y", "Jzdco7kmG84", "PpT5cwX2J2k", "Wizm3xaYchc", "aGi5SNIySXE", "rO9X83U-9bE", "bpQK-NitpVg", "EMyelTKShBo", "c8_G0jFr5NQ", "aJCZzjOOv6g", "X7CxcWOcoUA", "_Urj9iKo5H4", "iXa5pmY_VCg", "gMWyJcoFnVY", "fz2LHk9pSdk", "Rs2ZZgrYK58", "L5Mjxge1yY0", "MpZ-VKedx7A", "zxIif2RJm38", "pf858AX4_U8", "MRMScf-DsO4", "0ftbeL6Y7qU", "qsiKWRrehzQ", "mkjwjTgdMmM", "Fo90Bdg8rNo", "aXG1UPQQofQ", "rTs81amP49Y", "fGSjULrPsx8", "toFpR-wyjfk", "9ElrpAc6_Bw", "l_mOZIne88k", "pHZAnjB8bws", "2m_Uh7xhQGo", "5h5ATFJs09U", "xgVOq6Bfn8A", "2grmoSe0Zrk", "kLWNObhY_tU", "JR2UuHcQH7w", "H_VB0gHAPMo", "tp5TYhBYYCg", "BZF41PXtYmU", "hVKtxCEwPvY", "9_a8vaqhvSY", "V4VJjvZQ_gY", "t4nG1fjFzng", "_ESHmhwSGro", "fhwAZIJtpCM", ...] 13:25:44.516 [debug] QUERY OK source="media_items" db=6.6ms idle=431.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")))) [424] 13:25:44.519 [debug] QUERY OK source="tasks" db=0.3ms idle=439.3ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2192122, 424, ~U[2026-04-15 13:25:44Z], ~U[2026-04-15 13:25:44Z]] 13:25:44.519 [info] {"args":{"id":424},"id":2192085,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":442103,"event":"job:stop","queue_time":132782,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:25:45.085 [debug] Current batch of media processed. Will check again in 1000ms 13:25:45.135 [debug] Current batch of media processed. Will check again in 1000ms 13:25:46.086 [debug] Current batch of media processed. Will check again in 1000ms 13:25:46.136 [debug] Current batch of media processed. Will check again in 1000ms 13:25:47.087 [debug] Current batch of media processed. Will check again in 1000ms 13:25:47.137 [debug] Current batch of media processed. Will check again in 1000ms 13:25:48.083 [info] {"args":{"id":402},"id":2192086,"meta":{},"system_time":1776259548083103311,"max_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:25:48.083 [debug] QUERY OK source="sources" db=0.3ms idle=73.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [402] 13:25:48.084 [debug] QUERY OK source="settings" db=0.2ms idle=73.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:25:48.084 [debug] QUERY OK source="media_profiles" db=0.2ms idle=74.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" = ?) [2] 13:25:48.085 [debug] QUERY OK source="settings" db=0.1ms idle=8.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:25:48.085 [debug] Fetching recent media IDs from YouTube API for playlist: UUv9CRhIdmLdRXwyqWLqT-1Q 13:25:48.085 [debug] QUERY OK source="settings" db=0.1ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:25:48.085 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 13:25:48.088 [debug] Current batch of media processed. Will check again in 1000ms 13:25:48.138 [debug] Current batch of media processed. Will check again in 1000ms 13:25:48.466 [debug] QUERY OK source="media_items" db=1.2ms 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 WHERE ((m0."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [402, "3j4xjklMoo4", "gZqaauRhZhs", "JZsQt_4QXgI", "5loSCFTOEb4", "zaih20lw4bs", "SgGtBFbw1kI", "mcgcu1JuGao", "d2GSwD0Il-k", "LxOugY_w3q0", "QGf453DDz1g", "rdmAe2CIRcc", "cxorSoldV_k", "GYTHnZR2Id8", "rowYQBlqD-Y", "U7m925r48Jk", "Iz_79p_yVE0", "dVpdpoG9xZ8", "EW-EpQnW2rM", "Gu8aUxdMI18", "2kOrlz4Nw60", "KrLslSzReHE", "HCjDOBHpbuU", "yBoY59dq0o0", "l57SqLe4IjQ", "TtoNGT10GMQ", "CurEIX5egYY", "epLEnwmvneE", "wZmAnXwbbkM", "V4mfjEXo2jQ", "kvTUlZ4EtlM", "4DWJDctae_w", "bFIKDKTUjyU", "XXE0whBrOe8", "hb64fr-vXyM", "kBfJu4Lr9-g", "ahzLQawdLYU", "7Pw6MSgHz5A", "wZYqqWU3DoU", "E-ZcRNdvjoM", "JV_dskh0-ws", "koGDw3vHTKY", "JC3sGWRDdbs", "e5dO2XUalWY", "aDlVWlAjbV8", "Hq7-l88KNzY", "_GY3Or8ZgYY", "W354MKgc8AM", "X9MULCFLPyg", "psW2wmVYvDk", ...] 13:25:48.469 [debug] QUERY OK source="media_items" db=2.3ms idle=383.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")))) [402] 13:25:48.471 [debug] QUERY OK source="tasks" db=0.3ms idle=385.7ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2192123, 402, ~U[2026-04-15 13:25:48Z], ~U[2026-04-15 13:25:48Z]] 13:25:48.472 [info] {"args":{"id":402},"id":2192086,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":388704,"event":"job:stop","queue_time":416846,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:25:49.089 [debug] Current batch of media processed. Will check again in 1000ms 13:25:49.139 [debug] Current batch of media processed. Will check again in 1000ms 13:25:50.090 [debug] Current batch of media processed. Will check again in 1000ms 13:25:50.140 [debug] Current batch of media processed. Will check again in 1000ms 13:25:51.091 [debug] Current batch of media processed. Will check again in 1000ms 13:25:51.141 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "لذكاء الاصطناعي بيشتغل على احتمالات وأنماط كلام مش على تشخيص حقيقي، فممكن يطبطب عليك بكلام مريح لكنه مش بالضرورة يكون الأدق أو الأنسب لحالتك، وده فرق كبير بين أداة مساعدة في التفكير أو جمع المعلومات وبين شخص متخصص مسؤول عن صحتك النفسية، فلازم نستخدم التكنولوجيا بوعي ونعرف حدودها قبل ما نعتمد عليها في قرارات أو جوانب حساسة في حياتنا.\n\n🟧 ضيف الحلقة هو:\nمصطفى مدحت الرئيس التنفيذي لشركة نايس دير\n🔸شاهد الحلقة على يوتيوب: https://youtu.be/1bsJMy85re0\n.\n🔶خليك ديماً متابع الجديد في مكان واحد وحمل تطبيق بزنس بالعربي👇\nhttps://m.mtrbio.com/BBA-Application\n\nهذه الحلقـــة برعايــــة:\n📌 \u200Eاورنچ بيزنس\n\nتابع الصفحة الرسمية لاورنچ بيزنس لخدمة جميع عملائها من قطاع الشركات، لتكن على اطلاع دائم بأحدث الحلول والعروض والخدمات المصممة خصيصًا لاحتياجات شركتك، على مدار الساعة.\n\n🟠Facebook\nhttps://www.facebook.com/OrangeBusinessEgypt\n🟠Instagram\nhttps://www.instagram.com/orangebusinessegypt\n\n📌 Hydepark Developments\nإحدى أبرز شركات التطوير العقاري في مصر، بخبرة تمتد لـ15 عامًا، ومحفظة مشروعات متنوعة تضم 8 تطويرات بحضور قوي في شمال وشرق وغرب القاهرة، زُر موقع Hydepark Developments من خلال https://www.hydeparkdevelopments.com/ar/who-we-are\n\n📌 CIB\u00A0\nكونك عميل CIB Business Banking يعني أنك تستفيد من أفضل المنتجات والحلول المالية وغير المالية، بالإضافة إلى خدمات مخصصة تلبي احتياجات شركتك، مع دعم مستمر يضمن لك راحة البال لتتمكن من التركيز على نمو أعمالك. وللتعرف على المزيد، أرسل كلمة \"بيزنس\" في رسالة نصية إلى الرقم 4435\nhttps://share.google/gdK9EUdVpgkNRVd28", "duration" => 83, "filename" => "/downloads/shorts/بزنس بالعربي (Business بالعربى )/بزنس بالعربي (Business بالعربى ) - 2026-03-03 - [gXcpU2NDILM].mp4", "id" => "gXcpU2NDILM", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/gXcpU2NDILM", "playlist_index" => 20, "timestamp" => 1772558223, "title" => "هل ChatGPT بيقول الحقيقة دايمًا؟ - مصطفى مدحت", "upload_date" => "20260303"} 13:25:51.142 [debug] QUERY OK source="sources" db=0.2ms idle=1131.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" IN (?)) [115] 13:25:51.142 [debug] QUERY OK source="sources" db=0.2ms idle=1132.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" = ?) [115] 13:25:51.144 [debug] QUERY OK source="media_items" db=1.9ms idle=1132.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-03 17:17:03Z], 115] 13:25:51.147 [debug] QUERY OK source="media_items" db=1.7ms idle=1065.2ms 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" ["لذكاء الاصطناعي بيشتغل على احتمالات وأنماط كلام مش على تشخيص حقيقي، فممكن يطبطب عليك بكلام مريح لكنه مش بالضرورة يكون الأدق أو الأنسب لحالتك، وده فرق كبير بين أداة مساعدة في التفكير أو جمع المعلومات وبين شخص متخصص مسؤول عن صحتك النفسية، فلازم نستخدم التكنولوجيا بوعي ونعرف حدودها قبل ما نعتمد عليها في قرارات أو جوانب حساسة في حياتنا.\n\n🟧 ضيف الحلقة هو:\nمصطفى مدحت الرئيس التنفيذي لشركة نايس دير\n🔸شاهد الحلقة على يوتيوب: https://youtu.be/1bsJMy85re0\n.\n🔶خليك ديماً متابع الجديد في مكان واحد وحمل تطبيق بزنس بالعربي👇\nhttps://m.mtrbio.com/BBA-Application\n\nهذه الحلقـــة برعايــــة:\n📌 \u200Eاورنچ بيزنس\n\nتابع الصفحة الرسمية لاورنچ بيزنس لخدمة جميع عملائها من قطاع الشركات، لتكن على اطلاع دائم بأحدث الحلول والعروض والخدمات المصممة خصيصًا لاحتياجات شركتك، على مدار الساعة.\n\n🟠Facebook\nhttps://www.facebook.com/OrangeBusinessEgypt\n🟠Instagram\nhttps://www.instagram.com/orangebusinessegypt\n\n📌 Hydepark Developments\nإحدى أبرز شركات التطوير العقاري في مصر، بخبرة تمتد لـ15 عامًا، ومحفظة مشروعات متنوعة تضم 8 تطويرات بحضور قوي في شمال وشرق وغرب القاهرة، زُر موقع Hydepark Developments من خلال https://www.hydeparkdevelopments.com/ar/who-we-are\n\n📌 CIB\u00A0\nكونك عميل CIB Business Banking يعني أنك تستفيد من أفضل المنتجات والحلول المالية وغير المالية، بالإضافة إلى خدمات مخصصة تلبي احتياجات شركتك، مع دعم مستمر يضمن لك راحة البال لتتمكن من التركيز على نمو أعمالك. وللتعرف على المزيد، أرسل كلمة \"بيزنس\" في رسالة نصية إلى الرقم 4435\nhttps://share.google/gdK9EUdVpgkNRVd28", "هل ChatGPT بيقول الحقيقة دايمًا؟ - مصطفى مدحت", "6fdc2b35-3cbb-4228-819a-50bcea4c5b39", 83, false, "gXcpU2NDILM", "https://www.youtube.com/shorts/gXcpU2NDILM", 20, "/downloads/shorts/بزنس بالعربي (Business بالعربى )/بزنس بالعربي (Business بالعربى ) - 2026-03-03 - [gXcpU2NDILM].mp4", false, false, true, 115, [], 98, ~U[2026-03-03 17:17:03Z], ~U[2026-04-15 13:25:51Z], ~U[2026-04-15 13:25:51Z], "لذكاء الاصطناعي بيشتغل على احتمالات وأنماط كلام مش على تشخيص حقيقي، فممكن يطبطب عليك بكلام مريح لكنه مش بالضرورة يكون الأدق أو الأنسب لحالتك، وده فرق كبير بين أداة مساعدة في التفكير أو جمع المعلومات وبين شخص متخصص مسؤول عن صحتك النفسية، فلازم نستخدم التكنولوجيا بوعي ونعرف حدودها قبل ما نعتمد عليها في قرارات أو جوانب حساسة في حياتنا.\n\n🟧 ضيف الحلقة هو:\nمصطفى مدحت الرئيس التنفيذي لشركة نايس دير\n🔸شاهد الحلقة على يوتيوب: https://youtu.be/1bsJMy85re0\n.\n🔶خليك ديماً متابع الجديد في مكان واحد وحمل تطبيق بزنس بالعربي👇\nhttps://m.mtrbio.com/BBA-Application\n\nهذه الحلقـــة برعايــــة:\n📌 \u200Eاورنچ بيزنس\n\nتابع الصفحة الرسمية لاورنچ بيزنس لخدمة جميع عملائها من قطاع الشركات، لتكن على اطلاع دائم بأحدث الحلول والعروض والخدمات المصممة خصيصًا لاحتياجات شركتك، على مدار الساعة.\n\n🟠Facebook\nhttps://www.facebook.com/OrangeBusinessEgypt\n🟠Instagram\nhttps://www.instagram.com/orangebusinessegypt\n\n📌 Hydepark Developments\nإحدى أبرز شركات التطوير العقاري في مصر، بخبرة تمتد لـ15 عامًا، ومحفظة مشروعات متنوعة تضم 8 تطويرات بحضور قوي في شمال وشرق وغرب القاهرة، زُر موقع Hydepark Developments من خلال https://www.hydeparkdevelopments.com/ar/who-we-are\n\n📌 CIB\u00A0\nكونك عميل CIB Business Banking يعني أنك تستفيد من أفضل المنتجات والحلول المالية وغير المالية، بالإضافة إلى خدمات مخصصة تلبي احتياجات شركتك، مع دعم مستمر يضمن لك راحة البال لتتمكن من التركيز على نمو أعمالك. وللتعرف على المزيد، أرسل كلمة \"بيزنس\" في رسالة نصية إلى الرقم 4435\nhttps://share.google/gdK9EUdVpgkNRVd28", "هل ChatGPT بيقول الحقيقة دايمًا؟ - مصطفى مدحت", 83, false, "gXcpU2NDILM", "https://www.youtube.com/shorts/gXcpU2NDILM", "/downloads/shorts/بزنس بالعربي (Business بالعربى )/بزنس بالعربي (Business بالعربى ) - 2026-03-03 - [gXcpU2NDILM].mp4", true, 115, ~U[2026-03-03 17:17:03Z]] 13:25:51.147 [debug] QUERY OK source="sources" db=0.3ms idle=66.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" = ?) [115] 13:25:51.148 [debug] QUERY OK source="media_profiles" db=0.3ms idle=5.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 13:25:51.149 [debug] QUERY OK source="media_items" db=0.3ms idle=6.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 [4631243] 13:25:51.149 [debug] Current batch of media processed. Will check again in 1000ms 13:25:52.092 [debug] Current batch of media processed. Will check again in 1000ms 13:25:52.150 [debug] Current batch of media processed. Will check again in 1000ms 13:25:53.093 [debug] Current batch of media processed. Will check again in 1000ms 13:25:53.151 [debug] Current batch of media processed. Will check again in 1000ms 13:25:54.094 [debug] Current batch of media processed. Will check again in 1000ms 13:25:54.152 [debug] Current batch of media processed. Will check again in 1000ms 13:25:55.095 [debug] Current batch of media processed. Will check again in 1000ms 13:25:55.153 [debug] Current batch of media processed. Will check again in 1000ms 13:25:56.096 [debug] Current batch of media processed. Will check again in 1000ms 13:25:56.154 [debug] Current batch of media processed. Will check again in 1000ms 13:25:57.097 [debug] Current batch of media processed. Will check again in 1000ms 13:25:57.155 [debug] Current batch of media processed. Will check again in 1000ms 13:25:58.098 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "في \"بودكاست مع نايلة\"، يقدّم الفنان التشكيلي اللبناني شارل خوري رؤيته للحياة بوصفها تحدّياً متواصلاً وتجارب تصنع الإنسان وتعلّمه معنى الفرح والألم. ينتقد واقع البشرية التي ما زالت، برأيه، محكومة بشريعة الغابة، حيث يتفوّق الجشع على القيم، مؤكداً أن الفن كان خلاصه الشخصي والطريق الذي أنقذه ومنحه توازنه ومعنى وجوده", "duration" => 98, "filename" => "/downloads/shorts/Podcast With Nayla#/Podcast With Nayla - 2026-02-22 - [IlnGbaU5GYs].mp4", "id" => "IlnGbaU5GYs", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/IlnGbaU5GYs", "playlist_index" => 3, "timestamp" => 1771779625, "title" => "شارل خوري: الحياة تحدٍّ والفنّ إنقاذ", "upload_date" => "20260222"} 13:25:58.098 [debug] QUERY OK source="sources" db=0.2ms idle=1088.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" IN (?)) [180] 13:25:58.099 [debug] QUERY OK source="sources" db=0.1ms idle=1089.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" = ?) [180] 13:25:58.101 [debug] QUERY OK source="media_items" db=1.3ms idle=1089.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-22 17:00:25Z], 180] 13:25:58.102 [debug] QUERY OK source="media_items" db=0.9ms idle=1011.7ms 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" ["في \"بودكاست مع نايلة\"، يقدّم الفنان التشكيلي اللبناني شارل خوري رؤيته للحياة بوصفها تحدّياً متواصلاً وتجارب تصنع الإنسان وتعلّمه معنى الفرح والألم. ينتقد واقع البشرية التي ما زالت، برأيه، محكومة بشريعة الغابة، حيث يتفوّق الجشع على القيم، مؤكداً أن الفن كان خلاصه الشخصي والطريق الذي أنقذه ومنحه توازنه ومعنى وجوده", "شارل خوري: الحياة تحدٍّ والفنّ إنقاذ", "c4aa6dcc-28b3-4707-bc70-5ec351cc73c4", 98, false, "IlnGbaU5GYs", "https://www.youtube.com/shorts/IlnGbaU5GYs", 3, "/downloads/shorts/Podcast With Nayla#/Podcast With Nayla - 2026-02-22 - [IlnGbaU5GYs].mp4", false, false, true, 180, [], 98, ~U[2026-02-22 17:00:25Z], ~U[2026-04-15 13:25:58Z], ~U[2026-04-15 13:25:58Z], "في \"بودكاست مع نايلة\"، يقدّم الفنان التشكيلي اللبناني شارل خوري رؤيته للحياة بوصفها تحدّياً متواصلاً وتجارب تصنع الإنسان وتعلّمه معنى الفرح والألم. ينتقد واقع البشرية التي ما زالت، برأيه، محكومة بشريعة الغابة، حيث يتفوّق الجشع على القيم، مؤكداً أن الفن كان خلاصه الشخصي والطريق الذي أنقذه ومنحه توازنه ومعنى وجوده", "شارل خوري: الحياة تحدٍّ والفنّ إنقاذ", 98, false, "IlnGbaU5GYs", "https://www.youtube.com/shorts/IlnGbaU5GYs", "/downloads/shorts/Podcast With Nayla#/Podcast With Nayla - 2026-02-22 - [IlnGbaU5GYs].mp4", true, 180, ~U[2026-02-22 17:00:25Z]] 13:25:58.103 [debug] QUERY OK source="sources" db=0.3ms idle=11.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [180] 13:25:58.103 [debug] QUERY OK source="media_profiles" db=0.3ms 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" = ?) [2] 13:25:58.104 [debug] QUERY OK source="media_items" db=0.3ms idle=4.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4633062] 13:25:58.104 [debug] Current batch of media processed. Will check again in 1000ms 13:25:58.156 [debug] Current batch of media processed. Will check again in 1000ms 13:25:59.105 [debug] Current batch of media processed. Will check again in 1000ms 13:25:59.157 [debug] Current batch of media processed. Will check again in 1000ms 13:26:00.106 [debug] Current batch of media processed. Will check again in 1000ms 13:26:00.158 [debug] Current batch of media processed. Will check again in 1000ms 13:26:00.862 [info] {"source":"oban","duration":172,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:26:01.107 [debug] Current batch of media processed. Will check again in 1000ms 13:26:01.159 [debug] Current batch of media processed. Will check again in 1000ms 13:26:02.067 [info] GET /sources/163/media/4702247 13:26:02.067 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "4702247", "prevent_download" => "true", "source_id" => "163"} Pipelines: [:browser] 13:26:02.068 [debug] QUERY OK source="media_items" db=0.2ms idle=973.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" = ?) [4702247] 13:26:02.068 [debug] QUERY OK source="tasks" db=0.2ms idle=58.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" [4702247] 13:26:02.068 [debug] QUERY OK source="sources" db=0.3ms idle=58.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" = ?) [163] 13:26:02.069 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=58.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" = ?) [2191111] 13:26:02.069 [debug] QUERY OK source="settings" db=0.1ms idle=59.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:26:02.070 [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 [] 13:26:02.070 [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 [] 13:26:02.071 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 13:26:02.073 [info] Sent 200 in 5ms 13:26:02.108 [debug] Current batch of media processed. Will check again in 1000ms 13:26:02.160 [debug] Current batch of media processed. Will check again in 1000ms 13:26:03.109 [debug] Current batch of media processed. Will check again in 1000ms 13:26:03.161 [debug] Current batch of media processed. Will check again in 1000ms 13:26:04.110 [debug] Current batch of media processed. Will check again in 1000ms 13:26:04.162 [debug] Current batch of media processed. Will check again in 1000ms 13:26:05.111 [debug] Current batch of media processed. Will check again in 1000ms 13:26:05.163 [debug] Current batch of media processed. Will check again in 1000ms 13:26:06.112 [debug] Current batch of media processed. Will check again in 1000ms 13:26:06.164 [debug] Current batch of media processed. Will check again in 1000ms 13:26:07.113 [debug] Current batch of media processed. Will check again in 1000ms 13:26:07.165 [debug] Current batch of media processed. Will check again in 1000ms 13:26:08.111 [info] {"args":{"id":163},"id":2192087,"meta":{},"system_time":1776259568110990253,"max_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:26:08.111 [debug] QUERY OK source="sources" db=0.3ms idle=101.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" = ?) [163] 13:26:08.112 [debug] QUERY OK source="settings" db=0.2ms idle=101.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:26:08.112 [debug] QUERY OK source="media_profiles" db=0.2ms idle=102.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" = ?) [2] 13:26:08.113 [debug] QUERY OK source="settings" db=0.2ms idle=8.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:26:08.113 [debug] Fetching recent media IDs from YouTube API for playlist: UU8vdjzu_0QMQlG9qNT5D_AQ 13:26:08.113 [debug] QUERY OK source="settings" db=0.1ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:26:08.113 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 13:26:08.114 [debug] Current batch of media processed. Will check again in 1000ms 13:26:08.166 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "لماذا تختار الشركات أدوات متخصصة؟\nليس الهدف هو استخدام أكبر عدد من الأدوات، بل استخدام الأداة التي تخدم تجربة العميل فعليًا.\nشركات كثيرة في مصراختارت Tactful AI لتساعد الفرق على العمل معًا بصورة أفضل، وتجمع بيانات لم تكن متاحة من قبل، وتحوّل آراء العملاء إلى معلومات يمكن البناء عليها.\n\nتابع السلسلة وانضم إلى مجتمع أثر تجربة العميل لتفهم تجربة العميل من زاويا عملية ..\n\nهذا المحتوى مُقدَّم من Tactful AI لمشاهدة الحلقة كاملة:\nرابط الحلقة: https://f.mtr.cool/shihdqjsmg\n\nتاكتفُل هي نظام ذكي لإدارة التواصل مع العملاء لفرق المبيعات وخدمة العملاء.\nللإنضمام لمجتمع تجربة العميل من تاكتفُل، استخدم الرابط:\nhttps://f.mtr.cool/oonnknzews\n\n#بزنس_بالعربي\u00A0\n#القيادة_تسبق_الطموح\n#TactfulAI", "duration" => 47, "filename" => "/downloads/shorts/بزنس بالعربي (Business بالعربى )/بزنس بالعربي (Business بالعربى ) - 2026-03-02 - [SYLVqAL4Quw].mp4", "id" => "SYLVqAL4Quw", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/SYLVqAL4Quw", "playlist_index" => 21, "timestamp" => 1772479606, "title" => "البيع ليس نهاية الرحلة، بل بدايتها الحقيقية", "upload_date" => "20260302"} 13:26:08.167 [debug] QUERY OK source="sources" db=0.3ms idle=54.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" IN (?)) [115] 13:26:08.167 [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" FROM "sources" AS s0 WHERE (s0."id" = ?) [115] 13:26:08.169 [debug] QUERY OK source="media_items" db=2.0ms idle=54.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-02 19:26:46Z], 115] 13:26:08.171 [debug] QUERY OK source="media_items" db=1.2ms idle=56.8ms 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" ["لماذا تختار الشركات أدوات متخصصة؟\nليس الهدف هو استخدام أكبر عدد من الأدوات، بل استخدام الأداة التي تخدم تجربة العميل فعليًا.\nشركات كثيرة في مصراختارت Tactful AI لتساعد الفرق على العمل معًا بصورة أفضل، وتجمع بيانات لم تكن متاحة من قبل، وتحوّل آراء العملاء إلى معلومات يمكن البناء عليها.\n\nتابع السلسلة وانضم إلى مجتمع أثر تجربة العميل لتفهم تجربة العميل من زاويا عملية ..\n\nهذا المحتوى مُقدَّم من Tactful AI لمشاهدة الحلقة كاملة:\nرابط الحلقة: https://f.mtr.cool/shihdqjsmg\n\nتاكتفُل هي نظام ذكي لإدارة التواصل مع العملاء لفرق المبيعات وخدمة العملاء.\nللإنضمام لمجتمع تجربة العميل من تاكتفُل، استخدم الرابط:\nhttps://f.mtr.cool/oonnknzews\n\n#بزنس_بالعربي\u00A0\n#القيادة_تسبق_الطموح\n#TactfulAI", "البيع ليس نهاية الرحلة، بل بدايتها الحقيقية", "5d6295c2-a3e2-45fd-8a88-b829594b88ab", 47, false, "SYLVqAL4Quw", "https://www.youtube.com/shorts/SYLVqAL4Quw", 21, "/downloads/shorts/بزنس بالعربي (Business بالعربى )/بزنس بالعربي (Business بالعربى ) - 2026-03-02 - [SYLVqAL4Quw].mp4", false, false, true, 115, [], 98, ~U[2026-03-02 19:26:46Z], ~U[2026-04-15 13:26:08Z], ~U[2026-04-15 13:26:08Z], "لماذا تختار الشركات أدوات متخصصة؟\nليس الهدف هو استخدام أكبر عدد من الأدوات، بل استخدام الأداة التي تخدم تجربة العميل فعليًا.\nشركات كثيرة في مصراختارت Tactful AI لتساعد الفرق على العمل معًا بصورة أفضل، وتجمع بيانات لم تكن متاحة من قبل، وتحوّل آراء العملاء إلى معلومات يمكن البناء عليها.\n\nتابع السلسلة وانضم إلى مجتمع أثر تجربة العميل لتفهم تجربة العميل من زاويا عملية ..\n\nهذا المحتوى مُقدَّم من Tactful AI لمشاهدة الحلقة كاملة:\nرابط الحلقة: https://f.mtr.cool/shihdqjsmg\n\nتاكتفُل هي نظام ذكي لإدارة التواصل مع العملاء لفرق المبيعات وخدمة العملاء.\nللإنضمام لمجتمع تجربة العميل من تاكتفُل، استخدم الرابط:\nhttps://f.mtr.cool/oonnknzews\n\n#بزنس_بالعربي\u00A0\n#القيادة_تسبق_الطموح\n#TactfulAI", "البيع ليس نهاية الرحلة، بل بدايتها الحقيقية", 47, false, "SYLVqAL4Quw", "https://www.youtube.com/shorts/SYLVqAL4Quw", "/downloads/shorts/بزنس بالعربي (Business بالعربى )/بزنس بالعربي (Business بالعربى ) - 2026-03-02 - [SYLVqAL4Quw].mp4", true, 115, ~U[2026-03-02 19:26:46Z]] 13:26:08.172 [debug] QUERY OK source="sources" db=0.3ms idle=58.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" = ?) [115] 13:26:08.172 [debug] QUERY OK source="media_profiles" db=0.3ms idle=5.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 13:26:08.173 [debug] QUERY OK source="media_items" db=0.3ms idle=5.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4631245] 13:26:08.173 [debug] Current batch of media processed. Will check again in 1000ms 13:26:08.901 [debug] QUERY OK source="media_items" db=1.6ms idle=730.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [163, "AK_QSHnLvjQ", "qALXsYRF_cA", "smnHpsqBLms", "yqdOCd-jdeo", "jyUJuJhWHrs", "ZNHoFwAGFrc", "1srAVSvVOOw", "uk2FISKK7QQ", "2z-ztPJXjEU", "7L1pepENKXA", "Sv6q_F6r4DE", "mFS_V5zGaxs", "1PGqhUa4Bfg", "wbvPGTnY4Z0", "yBBSNz1Ymyo", "E6dquEKdz_M", "zD4_JqiQ7jw", "O_ynHoWd-ys", "ZkugEqFIqY4", "CfTmDWiVEqM", "iPb2DidxP48", "RFemTGJfb3Y", "_Tr7gM3Hzno", "UuvWpHA9eJ0", "0iDqCo9U78I", "b9HbLgu65cw", "2nwaI54hM2A", "2nFeIrPbzvo", "U3JjHuSfiog", "HRl29tSwTSI", "dNiviYe_iGc", "JLn7iuFdKL8", "zZRg322MXkE", "rvNKslgk6yQ", "lxVw40xOmNE", "Xw_9uYceyWo", "bD9_5xiDj8w", "jpfUutCaORQ", "nmxVTzLORDg", "7O9V1yRt15g", "n0oX65icbt4", "ry8AAFQwO-U", "1KPAD3URrFA", "ii1XRwxo04M", "jg0TYRxxYzQ", "8zv1MiJNXIk", "Z2jE4A-T2BU", "Zo9g-Mr4UXo", "qs7A7WPpjVU", ...] 13:26:08.911 [debug] QUERY OK source="media_items" db=7.9ms idle=731.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")))) [163] 13:26:08.913 [debug] QUERY OK source="tasks" db=0.3ms idle=12.0ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2192124, 163, ~U[2026-04-15 13:26:08Z], ~U[2026-04-15 13:26:08Z]] 13:26:08.915 [info] {"args":{"id":163},"id":2192087,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":802964,"event":"job:stop","queue_time":516590,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:26:09.115 [debug] Current batch of media processed. Will check again in 1000ms 13:26:09.174 [debug] Current batch of media processed. Will check again in 1000ms 13:26:10.116 [debug] Current batch of media processed. Will check again in 1000ms 13:26:10.175 [debug] Current batch of media processed. Will check again in 1000ms 13:26:11.117 [debug] Current batch of media processed. Will check again in 1000ms 13:26:11.176 [debug] Current batch of media processed. Will check again in 1000ms 13:26:12.118 [debug] Current batch of media processed. Will check again in 1000ms 13:26:12.177 [debug] Current batch of media processed. Will check again in 1000ms 13:26:13.119 [debug] Current batch of media processed. Will check again in 1000ms 13:26:13.178 [debug] Current batch of media processed. Will check again in 1000ms 13:26:13.263 [info] {"source":"oban","duration":18702,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:26:14.120 [debug] Current batch of media processed. Will check again in 1000ms 13:26:14.179 [debug] Current batch of media processed. Will check again in 1000ms 13:26:15.121 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "في حلقة جديدة من \"بودكاست مع نايلة\"، تحاور نايلة تويني الفنان التشكيلي اللبناني شارل خوري في لقاءٍ عميق يكشف رحلة بحثٍ استمرت أكثر من عشرين عاماً لاكتشاف هويته الفنية والإنسانية.\n\nمن جيل الحرب الذي رفض السلاح واختار اللوحة مساحةً للثورة، إلى تجربةٍ حوّل فيها غضبه إلى أعمالٍ فانتازية تُجسّد سحق الإنسان في زمن العنف، وصولاً إلى مرحلةٍ جديدة أصبحت رسالتها الجمال والتعلّم من المآسي كي لا تتكرّر، يقدّم خوري شهادة حيّة عن الفن كخلاصٍ شخصي وموقفٍ إنساني.", "duration" => 52, "filename" => "/downloads/shorts/Podcast With Nayla#/Podcast With Nayla - 2026-02-19 - [PD9xw3-H8-g].mp4", "id" => "PD9xw3-H8-g", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/PD9xw3-H8-g", "playlist_index" => 4, "timestamp" => 1771520445, "title" => "الفنان التشكيلي اللبناني شارل خوري ضيف \"بودكاست مع نايلة\"", "upload_date" => "20260219"} 13:26:15.122 [debug] QUERY OK source="sources" db=0.2ms idle=1111.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" IN (?)) [180] 13:26:15.122 [debug] QUERY OK source="sources" db=0.2ms idle=1112.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" = ?) [180] 13:26:15.124 [debug] QUERY OK source="media_items" db=1.3ms idle=1010.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-19 17:00:45Z], 180] 13:26:15.142 [debug] QUERY OK source="media_items" db=17.5ms idle=114.1ms 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" ["في حلقة جديدة من \"بودكاست مع نايلة\"، تحاور نايلة تويني الفنان التشكيلي اللبناني شارل خوري في لقاءٍ عميق يكشف رحلة بحثٍ استمرت أكثر من عشرين عاماً لاكتشاف هويته الفنية والإنسانية.\n\nمن جيل الحرب الذي رفض السلاح واختار اللوحة مساحةً للثورة، إلى تجربةٍ حوّل فيها غضبه إلى أعمالٍ فانتازية تُجسّد سحق الإنسان في زمن العنف، وصولاً إلى مرحلةٍ جديدة أصبحت رسالتها الجمال والتعلّم من المآسي كي لا تتكرّر، يقدّم خوري شهادة حيّة عن الفن كخلاصٍ شخصي وموقفٍ إنساني.", "الفنان التشكيلي اللبناني شارل خوري ضيف \"بودكاست مع نايلة\"", "4d6b2afd-b935-470d-95c6-fe1bad481bdb", 52, false, "PD9xw3-H8-g", "https://www.youtube.com/shorts/PD9xw3-H8-g", 4, "/downloads/shorts/Podcast With Nayla#/Podcast With Nayla - 2026-02-19 - [PD9xw3-H8-g].mp4", false, false, true, 180, [], 98, ~U[2026-02-19 17:00:45Z], ~U[2026-04-15 13:26:15Z], ~U[2026-04-15 13:26:15Z], "في حلقة جديدة من \"بودكاست مع نايلة\"، تحاور نايلة تويني الفنان التشكيلي اللبناني شارل خوري في لقاءٍ عميق يكشف رحلة بحثٍ استمرت أكثر من عشرين عاماً لاكتشاف هويته الفنية والإنسانية.\n\nمن جيل الحرب الذي رفض السلاح واختار اللوحة مساحةً للثورة، إلى تجربةٍ حوّل فيها غضبه إلى أعمالٍ فانتازية تُجسّد سحق الإنسان في زمن العنف، وصولاً إلى مرحلةٍ جديدة أصبحت رسالتها الجمال والتعلّم من المآسي كي لا تتكرّر، يقدّم خوري شهادة حيّة عن الفن كخلاصٍ شخصي وموقفٍ إنساني.", "الفنان التشكيلي اللبناني شارل خوري ضيف \"بودكاست مع نايلة\"", 52, false, "PD9xw3-H8-g", "https://www.youtube.com/shorts/PD9xw3-H8-g", "/downloads/shorts/Podcast With Nayla#/Podcast With Nayla - 2026-02-19 - [PD9xw3-H8-g].mp4", true, 180, ~U[2026-02-19 17:00:45Z]] 13:26:15.142 [debug] QUERY OK source="sources" db=0.3ms idle=29.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [180] 13:26:15.143 [debug] QUERY OK source="media_profiles" db=0.3ms idle=20.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" = ?) [2] 13:26:15.143 [debug] QUERY OK source="media_items" db=0.4ms idle=20.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 [4633063] 13:26:15.144 [debug] Current batch of media processed. Will check again in 1000ms 13:26:15.180 [debug] Current batch of media processed. Will check again in 1000ms 13:26:16.145 [debug] Current batch of media processed. Will check again in 1000ms 13:26:16.181 [debug] Current batch of media processed. Will check again in 1000ms 13:26:17.146 [debug] Current batch of media processed. Will check again in 1000ms 13:26:17.182 [debug] Current batch of media processed. Will check again in 1000ms 13:26:18.147 [debug] Current batch of media processed. Will check again in 1000ms 13:26:18.183 [debug] Current batch of media processed. Will check again in 1000ms 13:26:19.148 [debug] Current batch of media processed. Will check again in 1000ms 13:26:19.184 [debug] Current batch of media processed. Will check again in 1000ms 13:26:20.149 [debug] Current batch of media processed. Will check again in 1000ms 13:26:20.185 [debug] Current batch of media processed. Will check again in 1000ms 13:26:21.150 [debug] Current batch of media processed. Will check again in 1000ms 13:26:21.186 [debug] Current batch of media processed. Will check again in 1000ms 13:26:22.151 [debug] Current batch of media processed. Will check again in 1000ms 13:26:22.187 [debug] Current batch of media processed. Will check again in 1000ms 13:26:23.152 [debug] Current batch of media processed. Will check again in 1000ms 13:26:23.188 [debug] Current batch of media processed. Will check again in 1000ms 13:26:24.153 [debug] Current batch of media processed. Will check again in 1000ms 13:26:24.189 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "البيع ليس نهاية الرحلة، بل بدايتها الحقيقية\n\nكثير من العلامات التجارية تخسر عملاءها ليس بسبب المنتج، بل بسبب ما يحدث بعد الشراء.\nخدمة ما بعد البيع هي ما تحدد هل سيعود العميل، أم ينتهي الأمر عند صفقة واحدة ..\n\nتابع السلسلة وانضم إلى مجتمع أثر تجربة العميل لفهم تجربة العميل كعلاقة طويلة الأمد لا كمعاملة مؤقتة.\n\n\nتابع السلسلة وانضم إلى مجتمع أثر تجربة العميل لفهم تجربة العميل كعلاقة طويلة الأمد لا كمعاملة مؤقتة\u00A0\n\nهذا المحتوى مُقدَّم من Tactful AI لمشاهدة الحلقة كاملة:\nرابط الحلقة: https://f.mtr.cool/shihdqjsmg\n\nتاكتفُل هي نظام ذكي لإدارة التواصل مع العملاء لفرق المبيعات وخدمة العملاء.\nللإنضمام لمجتمع تجربة العميل من تاكتفُل، استخدم الرابط:\nhttps://f.mtr.cool/oonnknzews\n\n#بزنس_بالعربي\u00A0\n#القيادة_تسبق_الطموح\n#TactfulAI", "duration" => 31, "filename" => "/downloads/shorts/بزنس بالعربي (Business بالعربى )/بزنس بالعربي (Business بالعربى ) - 2026-02-27 - [8uauFrxMZsM].mp4", "id" => "8uauFrxMZsM", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/8uauFrxMZsM", "playlist_index" => 22, "timestamp" => 1772223660, "title" => "البيع ليس نهاية الرحلة، بل بدايتها الحقيقية", "upload_date" => "20260227"} 13:26:24.190 [debug] QUERY OK source="sources" db=0.2ms idle=1179.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" IN (?)) [115] 13:26:24.190 [debug] QUERY OK source="sources" db=0.1ms idle=1180.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" = ?) [115] 13:26:24.192 [debug] QUERY OK source="media_items" db=1.9ms idle=1180.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-27 20:21:00Z], 115] 13:26:24.204 [debug] QUERY OK source="media_items" db=10.8ms idle=1068.1ms 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" ["البيع ليس نهاية الرحلة، بل بدايتها الحقيقية\n\nكثير من العلامات التجارية تخسر عملاءها ليس بسبب المنتج، بل بسبب ما يحدث بعد الشراء.\nخدمة ما بعد البيع هي ما تحدد هل سيعود العميل، أم ينتهي الأمر عند صفقة واحدة ..\n\nتابع السلسلة وانضم إلى مجتمع أثر تجربة العميل لفهم تجربة العميل كعلاقة طويلة الأمد لا كمعاملة مؤقتة.\n\n\nتابع السلسلة وانضم إلى مجتمع أثر تجربة العميل لفهم تجربة العميل كعلاقة طويلة الأمد لا كمعاملة مؤقتة\u00A0\n\nهذا المحتوى مُقدَّم من Tactful AI لمشاهدة الحلقة كاملة:\nرابط الحلقة: https://f.mtr.cool/shihdqjsmg\n\nتاكتفُل هي نظام ذكي لإدارة التواصل مع العملاء لفرق المبيعات وخدمة العملاء.\nللإنضمام لمجتمع تجربة العميل من تاكتفُل، استخدم الرابط:\nhttps://f.mtr.cool/oonnknzews\n\n#بزنس_بالعربي\u00A0\n#القيادة_تسبق_الطموح\n#TactfulAI", "البيع ليس نهاية الرحلة، بل بدايتها الحقيقية", "3d1fa0cf-d212-4ee9-a183-f76fce8b2718", 31, false, "8uauFrxMZsM", "https://www.youtube.com/shorts/8uauFrxMZsM", 22, "/downloads/shorts/بزنس بالعربي (Business بالعربى )/بزنس بالعربي (Business بالعربى ) - 2026-02-27 - [8uauFrxMZsM].mp4", false, false, true, 115, [], 98, ~U[2026-02-27 20:21:00Z], ~U[2026-04-15 13:26:24Z], ~U[2026-04-15 13:26:24Z], "البيع ليس نهاية الرحلة، بل بدايتها الحقيقية\n\nكثير من العلامات التجارية تخسر عملاءها ليس بسبب المنتج، بل بسبب ما يحدث بعد الشراء.\nخدمة ما بعد البيع هي ما تحدد هل سيعود العميل، أم ينتهي الأمر عند صفقة واحدة ..\n\nتابع السلسلة وانضم إلى مجتمع أثر تجربة العميل لفهم تجربة العميل كعلاقة طويلة الأمد لا كمعاملة مؤقتة.\n\n\nتابع السلسلة وانضم إلى مجتمع أثر تجربة العميل لفهم تجربة العميل كعلاقة طويلة الأمد لا كمعاملة مؤقتة\u00A0\n\nهذا المحتوى مُقدَّم من Tactful AI لمشاهدة الحلقة كاملة:\nرابط الحلقة: https://f.mtr.cool/shihdqjsmg\n\nتاكتفُل هي نظام ذكي لإدارة التواصل مع العملاء لفرق المبيعات وخدمة العملاء.\nللإنضمام لمجتمع تجربة العميل من تاكتفُل، استخدم الرابط:\nhttps://f.mtr.cool/oonnknzews\n\n#بزنس_بالعربي\u00A0\n#القيادة_تسبق_الطموح\n#TactfulAI", "البيع ليس نهاية الرحلة، بل بدايتها الحقيقية", 31, false, "8uauFrxMZsM", "https://www.youtube.com/shorts/8uauFrxMZsM", "/downloads/shorts/بزنس بالعربي (Business بالعربى )/بزنس بالعربي (Business بالعربى ) - 2026-02-27 - [8uauFrxMZsM].mp4", true, 115, ~U[2026-02-27 20:21:00Z]] 13:26:24.204 [debug] QUERY OK source="sources" db=0.3ms idle=78.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" = ?) [115] 13:26:24.205 [debug] QUERY OK source="media_profiles" db=0.3ms idle=14.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" = ?) [2] 13:26:24.206 [debug] QUERY OK source="media_items" db=0.3ms idle=15.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4631247] 13:26:24.206 [debug] Current batch of media processed. Will check again in 1000ms 13:26:25.135 [info] {"args":{"id":391},"id":2192088,"meta":{},"system_time":1776259585135158926,"max_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:26:25.135 [debug] QUERY OK source="sources" db=0.3ms idle=930.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" = ?) [391] 13:26:25.136 [debug] QUERY OK source="settings" db=0.1ms 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 [] 13:26:25.136 [debug] QUERY OK source="media_profiles" db=0.2ms idle=930.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" = ?) [2] 13:26:25.137 [debug] QUERY OK source="settings" db=0.2ms idle=8.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:26:25.137 [debug] Fetching recent media IDs from YouTube API for playlist: UUqeCtPANEJ9yBQlEDmls7-g 13:26:25.137 [debug] QUERY OK source="settings" db=0.1ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:26:25.137 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 13:26:25.154 [debug] Current batch of media processed. Will check again in 1000ms 13:26:25.207 [debug] Current batch of media processed. Will check again in 1000ms 13:26:25.521 [debug] QUERY OK source="media_items" db=0.7ms idle=385.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [391, "fFGYg9Gv-PI", "Nz-IM8VFixQ", "CqBny6zVHgo", "gq4b-6y6fjg", "msNdXd-oH0g", "lKxykq3G-A0", "VUAkGy6N4AE", "YqObusJsgS8", "zm6eC_ly39Y", "9yEs_PiP91Y", "4FXTLipWWwo", "oS5oki_lq9U", "bFoaCNYCRJc", "_aMlBzxNdjs", "2ixudzh0OLs", "ABE_3uUXV5g", "PmdbLY-aHHQ", "2Nf3W31ARvI", "UzMQ9VNE9X4", "2BzFKxLtM5g", "k0BcDAp202Y", "AS8ZpSFzevg", "2lmcFhQukbI", "LBgXoEFhEZU", "ampWD1a4UJ8", "GwW4gaxsZ30", "Nt2W_LcRvHY", "A3owMXjvxow", "3mc8IV3hQcc", "5cFgzLZrLAQ", "p1NjYE-fBlI", "jvehHAuvLxw", "OyQUOPxRn38", "5uv3uK7cGgY", "jPQSSVZM7Rg", "rNu1K9oLo34", "0W-Y07_EURc", "L86F24V6J4Y", "0Mw6vu_ccZo", "mvnx10KZs2U", "KwtY240O9FE", "LihDSBkbZmQ", "2NSTkXZrUrU", "TQQqCfeebXs", "7l1F7EUEjiM", "_2vatrsVUxw", "c2wPUyxwoV4", "s_XgXgOzizM", "czocgai2km4", ...] 13:26:25.524 [debug] QUERY OK source="media_items" db=1.7ms idle=386.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")))) [391] 13:26:25.525 [debug] QUERY OK source="tasks" db=0.1ms idle=387.5ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2192125, 391, ~U[2026-04-15 13:26:25Z], ~U[2026-04-15 13:26:25Z]] 13:26:25.525 [info] {"args":{"id":391},"id":2192088,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":390091,"event":"job:stop","queue_time":455088,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:26:26.155 [debug] Current batch of media processed. Will check again in 1000ms 13:26:26.208 [debug] Current batch of media processed. Will check again in 1000ms 13:26:27.156 [debug] Current batch of media processed. Will check again in 1000ms 13:26:27.209 [debug] Current batch of media processed. Will check again in 1000ms 13:26:28.157 [debug] Current batch of media processed. Will check again in 1000ms 13:26:28.210 [debug] Current batch of media processed. Will check again in 1000ms 13:26:29.158 [debug] Current batch of media processed. Will check again in 1000ms 13:26:29.211 [debug] Current batch of media processed. Will check again in 1000ms 13:26:30.159 [debug] Current batch of media processed. Will check again in 1000ms 13:26:30.212 [debug] Current batch of media processed. Will check again in 1000ms 13:26:31.160 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "جراح التجميل والترميم الدكتور ميشال مطران في بودكاست مع نايلة يتحدّث عن معايير اللجوء إلى الحقن التجميلية، ويشدّد على رفضه إجراء أي عملية قبل سن الـ18، أو من دون حاجة طبية واضحة\n\nالبودكاست الكامل عبر يوتيوب \"Podcast With Nayla\"", "duration" => 42, "filename" => "/downloads/shorts/Podcast With Nayla#/Podcast With Nayla - 2026-02-15 - [2WqggzIddGs].mp4", "id" => "2WqggzIddGs", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/2WqggzIddGs", "playlist_index" => 5, "timestamp" => 1771174805, "title" => "متى يُنصح بالحقن التجميلية؟", "upload_date" => "20260215"} 13:26:31.160 [debug] QUERY OK source="sources" db=0.2ms idle=150.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [180] 13:26:31.161 [debug] QUERY OK source="sources" db=0.2ms idle=150.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" = ?) [180] 13:26:31.163 [debug] QUERY OK source="media_items" db=1.3ms idle=151.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-15 17:00:05Z], 180] 13:26:31.164 [debug] QUERY OK source="media_items" db=0.8ms idle=153.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" ["جراح التجميل والترميم الدكتور ميشال مطران في بودكاست مع نايلة يتحدّث عن معايير اللجوء إلى الحقن التجميلية، ويشدّد على رفضه إجراء أي عملية قبل سن الـ18، أو من دون حاجة طبية واضحة\n\nالبودكاست الكامل عبر يوتيوب \"Podcast With Nayla\"", "متى يُنصح بالحقن التجميلية؟", "2b4ac94a-3bef-420e-a306-f3ee87c60044", 42, false, "2WqggzIddGs", "https://www.youtube.com/shorts/2WqggzIddGs", 5, "/downloads/shorts/Podcast With Nayla#/Podcast With Nayla - 2026-02-15 - [2WqggzIddGs].mp4", false, false, true, 180, [], 98, ~U[2026-02-15 17:00:05Z], ~U[2026-04-15 13:26:31Z], ~U[2026-04-15 13:26:31Z], "جراح التجميل والترميم الدكتور ميشال مطران في بودكاست مع نايلة يتحدّث عن معايير اللجوء إلى الحقن التجميلية، ويشدّد على رفضه إجراء أي عملية قبل سن الـ18، أو من دون حاجة طبية واضحة\n\nالبودكاست الكامل عبر يوتيوب \"Podcast With Nayla\"", "متى يُنصح بالحقن التجميلية؟", 42, false, "2WqggzIddGs", "https://www.youtube.com/shorts/2WqggzIddGs", "/downloads/shorts/Podcast With Nayla#/Podcast With Nayla - 2026-02-15 - [2WqggzIddGs].mp4", true, 180, ~U[2026-02-15 17:00:05Z]] 13:26:31.165 [debug] QUERY OK source="sources" db=0.3ms 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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [180] 13:26:31.165 [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" = ?) [2] 13:26:31.166 [debug] QUERY OK source="media_items" db=0.3ms idle=4.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4633065] 13:26:31.166 [debug] Current batch of media processed. Will check again in 1000ms 13:26:31.213 [debug] Current batch of media processed. Will check again in 1000ms 13:26:32.167 [debug] Current batch of media processed. Will check again in 1000ms 13:26:32.214 [debug] Current batch of media processed. Will check again in 1000ms 13:26:33.168 [debug] Current batch of media processed. Will check again in 1000ms 13:26:33.215 [debug] Current batch of media processed. Will check again in 1000ms 13:26:34.169 [debug] Current batch of media processed. Will check again in 1000ms 13:26:34.216 [debug] Current batch of media processed. Will check again in 1000ms 13:26:35.170 [debug] Current batch of media processed. Will check again in 1000ms 13:26:35.217 [debug] Current batch of media processed. Will check again in 1000ms 13:26:36.171 [debug] Current batch of media processed. Will check again in 1000ms 13:26:36.218 [debug] Current batch of media processed. Will check again in 1000ms 13:26:37.172 [debug] Current batch of media processed. Will check again in 1000ms 13:26:37.219 [debug] Current batch of media processed. Will check again in 1000ms 13:26:38.150 [info] GET /sources/161/media/4623275 13:26:38.150 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "4623275", "prevent_download" => "true", "source_id" => "161"} Pipelines: [:browser] 13:26:38.150 [debug] QUERY OK source="media_items" db=0.1ms idle=1140.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" = ?) [4623275] 13:26:38.151 [debug] QUERY OK source="tasks" db=0.1ms idle=1140.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" [4623275] 13:26:38.151 [debug] QUERY OK source="sources" db=0.3ms idle=1140.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" = ?) [161] 13:26:38.152 [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 [] 13:26:38.152 [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 [] 13:26:38.153 [debug] QUERY OK source="settings" db=0.0ms 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 [] 13:26:38.153 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 13:26:38.155 [info] Sent 200 in 5ms 13:26:38.173 [debug] Current batch of media processed. Will check again in 1000ms 13:26:38.220 [debug] Current batch of media processed. Will check again in 1000ms 13:26:39.174 [debug] Current batch of media processed. Will check again in 1000ms 13:26:39.221 [debug] Current batch of media processed. Will check again in 1000ms 13:26:40.175 [debug] Current batch of media processed. Will check again in 1000ms 13:26:40.211 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@Businessbelarabi/shorts --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/shorts/بزنس بالعربي (Business بالعربى )/بزنس بالعربي (Business بالعربى ) - %(upload_date>%Y-%m-%d)S - [%(id)S].%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --break-on-existing --download-archive /tmp/pinchflat/data/f4/aa/f4aa7c16d7380d3268c761a0ff18ab6d2ebc8b054dfa2f6710f5616a888f1adb.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/b3/ba/b3baef1804f8762d895e2abbefe023dcc0e0eaa2467817183152dff149cb86a2.json --sleep-requests 4 --sleep-interval 4 --sleep-subtitles 4 --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 101 with: 13:26:40.215 [debug] Gracefully stopping file follower 13:26:40.216 [debug] QUERY OK source="sources" db=0.2ms idle=205.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" IN (?)) [115] 13:26:40.216 [debug] QUERY OK source="sources" db=0.2ms idle=206.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" = ?) [115] 13:26:40.218 [debug] QUERY OK source="media_items" db=1.9ms idle=206.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-15 13:01:16Z], 115] 13:26:40.220 [debug] QUERY OK source="media_items" db=1.0ms idle=208.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" ["\"تجربة العميل تبنى بالتواصل الواضح وقدرة على التعامل مع العميل في كل نقطة احتكاك\nهذا الرييل يناقش كيف يكون حُسن الخلق هو الأساس، وتعلّم مهارات التواصل هو ما يحوّله إلى تجربة عميل ناجحة ومستدامة\nجزء من سلسلة تجربة العميل تابع السلسلة، وانضم إلى مجتمع تجربة العميل لتفهم كيف تُصنع التجربة على أرض الواقع.\n\nهذا المحتوى مُقدَّم من Tactful AI لمشاهدة الحلقة كاملة: رابط الحلقة هنا : https://youtu.be/vZrRbiI1e5w?si=RatAxoGAEWvpGNCz\n تاكتفُل هي نظام ذكي لإدارة التواصل مع العملاء لفرق المبيعات وخدمة العملاء. للإنضمام لمجتمع تجربة العميل من تاكتفُل، استخدم الرابط: https://tactful.ai/cx?src\"", "\"تجربة العميل تبنى بالتواصل الواضح وقدرة على التعامل مع العميل في كل نقطة احتكاك", "97a65d66-eb82-4204-a945-95ab4c2bd617", 60, false, "eyRDYDPCQII", "https://www.youtube.com/shorts/eyRDYDPCQII", 1, "/downloads/shorts/بزنس بالعربي (Business بالعربى )/بزنس بالعربي (Business بالعربى ) - 2026-04-15 - [eyRDYDPCQII].mp4", false, false, true, 115, [], 97, ~U[2026-04-15 13:01:16Z], ~U[2026-04-15 13:26:40Z], ~U[2026-04-15 13:26:40Z], "\"تجربة العميل تبنى بالتواصل الواضح وقدرة على التعامل مع العميل في كل نقطة احتكاك\nهذا الرييل يناقش كيف يكون حُسن الخلق هو الأساس، وتعلّم مهارات التواصل هو ما يحوّله إلى تجربة عميل ناجحة ومستدامة\nجزء من سلسلة تجربة العميل تابع السلسلة، وانضم إلى مجتمع تجربة العميل لتفهم كيف تُصنع التجربة على أرض الواقع.\n\nهذا المحتوى مُقدَّم من Tactful AI لمشاهدة الحلقة كاملة: رابط الحلقة هنا : https://youtu.be/vZrRbiI1e5w?si=RatAxoGAEWvpGNCz\n تاكتفُل هي نظام ذكي لإدارة التواصل مع العملاء لفرق المبيعات وخدمة العملاء. للإنضمام لمجتمع تجربة العميل من تاكتفُل، استخدم الرابط: https://tactful.ai/cx?src\"", "\"تجربة العميل تبنى بالتواصل الواضح وقدرة على التعامل مع العميل في كل نقطة احتكاك", 60, false, "eyRDYDPCQII", "https://www.youtube.com/shorts/eyRDYDPCQII", "/downloads/shorts/بزنس بالعربي (Business بالعربى )/بزنس بالعربي (Business بالعربى ) - 2026-04-15 - [eyRDYDPCQII].mp4", true, 115, ~U[2026-04-15 13:01:16Z]] 13:26:40.220 [debug] QUERY OK source="sources" db=0.3ms idle=73.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" = ?) [115] 13:26:40.222 [debug] QUERY OK source="media_items" db=2.0ms idle=4.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-15 07:00:42Z], 115] 13:26:40.229 [debug] QUERY OK source="media_items" db=5.7ms idle=6.5ms 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" ["\"أهم مهارة ممكن أي حد يشتغل عليها سواء مدير أو صاحب بزنس هي الوعي الذاتي، لأن فهمك لنفسك بيأثر بشكل مباشر على قراراتك وطريقة إدارتك وتعاملاتك مع الناس، لما تبقى عارف نقاط قوتك وضعفك وطريقة تفكيرك وردود أفعالك، بتبقى أهدى في قراراتك وأوضح في رؤيتك، وبتعرف إمتى تاخد خطوة وإمتى تراجع نفسك، المشكلة إن ناس كتير بتركز على تطوير المهارات الخارجية وتنسى الأساس اللي بيحرك كل ده، وهو وعيك بنفسك، لأن أي تطوير حقيقي بيبدأ من جواك مش من بره. \n\n🟧 ضيف الحلقة هو: حنان ناجي الرئيس التنفيذي لشركة HNI \n🔸شاهد الحلقة على يوتيوب: https://youtu.be/zc1bbX25FMY\n🔶خليك ديماً متابع الجديد في مكان واحد وحمل تطبيق بزنس بالعربي👇\nhttps://m.mtrbio.com/BBA-Application\n\nهذه الحلقـــة برعايــــة: \n📌 Hydepark Developments\nإحدى أبرز شركات التطوير العقاري في مصر، بخبرة تمتد لـ15 عامًا، ومحفظة مشروعات متنوعة تضم 8 تطويرات بحضور قوي في شمال وشرق وغرب القاهرة، زُر موقع Hydepark Developments من خلال https://www.hydeparkdevelopments.com/ar/who-we-are\n\n📌 CIB \nكونك عميل CIB Business Banking يعني أنك تستفيد من أفضل المنتجات والحلول المالية وغير المالية، بالإضافة إلى خدمات مخصصة تلبي احتياجات شركتك، مع دعم مستمر يضمن لك راحة البال لتتمكن من التركيز على نمو أعمالك. وللتعرف على المزيد، أرسل كلمة \"\"بيزنس\"\" في رسالة نصية إلى الرقم 4435.\n \nhttps://share.google/gdK9EUdVpgkNRVd28\"", "راحة الـ AI لها ثمن - حنان ناجي", "cd86c307-796b-4556-a97e-15963bff6add", 58, false, "kSnig4AsIg4", "https://www.youtube.com/shorts/kSnig4AsIg4", 2, "/downloads/shorts/بزنس بالعربي (Business بالعربى )/بزنس بالعربي (Business بالعربى ) - 2026-04-15 - [kSnig4AsIg4].mp4", false, false, true, 115, [], 97, ~U[2026-04-15 07:00:42Z], ~U[2026-04-15 13:26:40Z], ~U[2026-04-15 13:26:40Z], "\"أهم مهارة ممكن أي حد يشتغل عليها سواء مدير أو صاحب بزنس هي الوعي الذاتي، لأن فهمك لنفسك بيأثر بشكل مباشر على قراراتك وطريقة إدارتك وتعاملاتك مع الناس، لما تبقى عارف نقاط قوتك وضعفك وطريقة تفكيرك وردود أفعالك، بتبقى أهدى في قراراتك وأوضح في رؤيتك، وبتعرف إمتى تاخد خطوة وإمتى تراجع نفسك، المشكلة إن ناس كتير بتركز على تطوير المهارات الخارجية وتنسى الأساس اللي بيحرك كل ده، وهو وعيك بنفسك، لأن أي تطوير حقيقي بيبدأ من جواك مش من بره. \n\n🟧 ضيف الحلقة هو: حنان ناجي الرئيس التنفيذي لشركة HNI \n🔸شاهد الحلقة على يوتيوب: https://youtu.be/zc1bbX25FMY\n🔶خليك ديماً متابع الجديد في مكان واحد وحمل تطبيق بزنس بالعربي👇\nhttps://m.mtrbio.com/BBA-Application\n\nهذه الحلقـــة برعايــــة: \n📌 Hydepark Developments\nإحدى أبرز شركات التطوير العقاري في مصر، بخبرة تمتد لـ15 عامًا، ومحفظة مشروعات متنوعة تضم 8 تطويرات بحضور قوي في شمال وشرق وغرب القاهرة، زُر موقع Hydepark Developments من خلال https://www.hydeparkdevelopments.com/ar/who-we-are\n\n📌 CIB \nكونك عميل CIB Business Banking يعني أنك تستفيد من أفضل المنتجات والحلول المالية وغير المالية، بالإضافة إلى خدمات مخصصة تلبي احتياجات شركتك، مع دعم مستمر يضمن لك راحة البال لتتمكن من التركيز على نمو أعمالك. وللتعرف على المزيد، أرسل كلمة \"\"بيزنس\"\" في رسالة نصية إلى الرقم 4435.\n \nhttps://share.google/gdK9EUdVpgkNRVd28\"", "راحة الـ AI لها ثمن - حنان ناجي", 58, false, "kSnig4AsIg4", "https://www.youtube.com/shorts/kSnig4AsIg4", "/downloads/shorts/بزنس بالعربي (Business بالعربى )/بزنس بالعربي (Business بالعربى ) - 2026-04-15 - [kSnig4AsIg4].mp4", true, 115, ~U[2026-04-15 07:00:42Z]] 13:26:40.230 [debug] QUERY OK source="sources" db=0.6ms idle=10.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [115] 13:26:40.232 [debug] QUERY OK source="media_items" db=1.9ms idle=10.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-14 18:00:51Z], 115] 13:26:40.234 [debug] QUERY OK source="media_items" db=1.2ms idle=11.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" ["\"اختارت أن تكون الأغلى فأصبحت الأقوى\nفي سوق ملئ بدائل أرخص، نافست هذه الشركة بالخدمة، والضمان، وبناء الثقة والنتيجة لم تكن مبيعات فقط، بل توسّع، مصانع تعمل، وحضور في أسواق التصدير.\nهذا الرييل يوضح لماذا لا يفوز الأرخص دائمًا، وكيف تتحول تجربة العميل إلى قوة سوقية حقيقية؟\n\nهذا المحتوى مُقدَّم من Tactful AI لمشاهدة الحلقة كاملة: رابط الحلقة هنا : https://youtu.be/vZrRbiI1e5w?si=RatAxoGAEWvpGNCz\n تاكتفُل هي نظام ذكي لإدارة التواصل مع العملاء لفرق المبيعات وخدمة العملاء. للإنضمام لمجتمع تجربة العميل من تاكتفُل، استخدم الرابط: https://tactful.ai/cx?src\"", "\"اختارت أن تكون الأغلى فأصبحت الأقوى", "f8ed62f1-3b9c-44ca-bafc-c44f7cab3679", 57, false, "eYwuLqxxIEU", "https://www.youtube.com/shorts/eYwuLqxxIEU", 3, "/downloads/shorts/بزنس بالعربي (Business بالعربى )/بزنس بالعربي (Business بالعربى ) - 2026-04-14 - [eYwuLqxxIEU].mp4", false, false, true, 115, [], 96, ~U[2026-04-14 18:00:51Z], ~U[2026-04-15 13:26:40Z], ~U[2026-04-15 13:26:40Z], "\"اختارت أن تكون الأغلى فأصبحت الأقوى\nفي سوق ملئ بدائل أرخص، نافست هذه الشركة بالخدمة، والضمان، وبناء الثقة والنتيجة لم تكن مبيعات فقط، بل توسّع، مصانع تعمل، وحضور في أسواق التصدير.\nهذا الرييل يوضح لماذا لا يفوز الأرخص دائمًا، وكيف تتحول تجربة العميل إلى قوة سوقية حقيقية؟\n\nهذا المحتوى مُقدَّم من Tactful AI لمشاهدة الحلقة كاملة: رابط الحلقة هنا : https://youtu.be/vZrRbiI1e5w?si=RatAxoGAEWvpGNCz\n تاكتفُل هي نظام ذكي لإدارة التواصل مع العملاء لفرق المبيعات وخدمة العملاء. للإنضمام لمجتمع تجربة العميل من تاكتفُل، استخدم الرابط: https://tactful.ai/cx?src\"", "\"اختارت أن تكون الأغلى فأصبحت الأقوى", 57, false, "eYwuLqxxIEU", "https://www.youtube.com/shorts/eYwuLqxxIEU", "/downloads/shorts/بزنس بالعربي (Business بالعربى )/بزنس بالعربي (Business بالعربى ) - 2026-04-14 - [eYwuLqxxIEU].mp4", true, 115, ~U[2026-04-14 18:00:51Z]] 13:26:40.234 [debug] QUERY OK source="sources" db=0.4ms idle=11.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" = ?) [115] 13:26:40.237 [debug] QUERY OK source="media_items" db=1.9ms idle=6.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-14 13:00:36Z], 115] 13:26:40.239 [debug] QUERY OK source="media_items" db=1.2ms idle=7.3ms 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" ["\"قرار واحد في خدمة العملاء قد يغيّر موقع شركتك في السوق \nفي أسواق تتشابه فيها المنتجات، تصبح جودة خدمة العملاء هي العامل الفاصل بين شركة تنافس وأخرى تقود\nهذا الرييل يوضح كيف استطاعت شركات حقيقة الانتقال من مجرد تقديم خدمة إلى بناء تجربة جعلتها في موقع القيادة.\n\n تابع السلسلة، وانضم إلى مجتمع أثر تجربة العميل لتصلك الرؤى التي تصنع الفارق داخل مؤسستك .. \n\n\nهذا المحتوى مُقدَّم من Tactful AI لمشاهدة الحلقة كاملة: رابط الحلقة هنا : https://youtu.be/vZrRbiI1e5w?si=RatAxoGAEWvpGNCz\n تاكتفُل هي نظام ذكي لإدارة التواصل مع العملاء لفرق المبيعات وخدمة العملاء. للإنضمام لمجتمع تجربة العميل من تاكتفُل، استخدم الرابط: https://tactful.ai/cx?src\"", "\"قرار واحد في خدمة العملاء قد يغيّر موقع شركتك في السوق", "d7915073-b5a9-43e8-84d5-3bc2f4513c70", 42, false, "JIxChm1YAkM", "https://www.youtube.com/shorts/JIxChm1YAkM", 4, "/downloads/shorts/بزنس بالعربي (Business بالعربى )/بزنس بالعربي (Business بالعربى ) - 2026-04-14 - [JIxChm1YAkM].mp4", false, false, true, 115, [], 96, ~U[2026-04-14 13:00:36Z], ~U[2026-04-15 13:26:40Z], ~U[2026-04-15 13:26:40Z], "\"قرار واحد في خدمة العملاء قد يغيّر موقع شركتك في السوق \nفي أسواق تتشابه فيها المنتجات، تصبح جودة خدمة العملاء هي العامل الفاصل بين شركة تنافس وأخرى تقود\nهذا الرييل يوضح كيف استطاعت شركات حقيقة الانتقال من مجرد تقديم خدمة إلى بناء تجربة جعلتها في موقع القيادة.\n\n تابع السلسلة، وانضم إلى مجتمع أثر تجربة العميل لتصلك الرؤى التي تصنع الفارق داخل مؤسستك .. \n\n\nهذا المحتوى مُقدَّم من Tactful AI لمشاهدة الحلقة كاملة: رابط الحلقة هنا : https://youtu.be/vZrRbiI1e5w?si=RatAxoGAEWvpGNCz\n تاكتفُل هي نظام ذكي لإدارة التواصل مع العملاء لفرق المبيعات وخدمة العملاء. للإنضمام لمجتمع تجربة العميل من تاكتفُل، استخدم الرابط: https://tactful.ai/cx?src\"", "\"قرار واحد في خدمة العملاء قد يغيّر موقع شركتك في السوق", 42, false, "JIxChm1YAkM", "https://www.youtube.com/shorts/JIxChm1YAkM", "/downloads/shorts/بزنس بالعربي (Business بالعربى )/بزنس بالعربي (Business بالعربى ) - 2026-04-14 - [JIxChm1YAkM].mp4", true, 115, ~U[2026-04-14 13:00:36Z]] 13:26:40.239 [debug] QUERY OK source="sources" db=0.5ms 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" FROM "sources" AS s0 WHERE (s0."id" = ?) [115] 13:26:40.241 [debug] QUERY OK source="media_items" db=1.9ms idle=6.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-14 11:17:24Z], 115] 13:26:40.244 [debug] QUERY OK source="media_items" db=1.8ms idle=7.3ms 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" ["\"أهم مهارة ممكن أي حد يشتغل عليها سواء مدير أو صاحب بزنس هي الوعي الذاتي، لأن فهمك لنفسك بيأثر بشكل مباشر على قراراتك وطريقة إدارتك وتعاملاتك مع الناس، لما تبقى عارف نقاط قوتك وضعفك وطريقة تفكيرك وردود أفعالك، بتبقى أهدى في قراراتك وأوضح في رؤيتك، وبتعرف إمتى تاخد خطوة وإمتى تراجع نفسك، المشكلة إن ناس كتير بتركز على تطوير المهارات الخارجية وتنسى الأساس اللي بيحرك كل ده، وهو وعيك بنفسك، لأن أي تطوير حقيقي بيبدأ من جواك مش من بره. \n\n🟧 ضيف الحلقة هو: حنان ناجي الرئيس التنفيذي لشركة HNI \n🔸شاهد الحلقة على يوتيوب: https://youtu.be/zc1bbX25FMY\n🔶خليك ديماً متابع الجديد في مكان واحد وحمل تطبيق بزنس بالعربي👇\nhttps://m.mtrbio.com/BBA-Application\n\nهذه الحلقـــة برعايــــة: \n📌 Hydepark Developments\nإحدى أبرز شركات التطوير العقاري في مصر، بخبرة تمتد لـ15 عامًا، ومحفظة مشروعات متنوعة تضم 8 تطويرات بحضور قوي في شمال وشرق وغرب القاهرة، زُر موقع Hydepark Developments من خلال https://www.hydeparkdevelopments.com/ar/who-we-are\n\n📌 CIB \nكونك عميل CIB Business Banking يعني أنك تستفيد من أفضل المنتجات والحلول المالية وغير المالية، بالإضافة إلى خدمات مخصصة تلبي احتياجات شركتك، مع دعم مستمر يضمن لك راحة البال لتتمكن من التركيز على نمو أعمالك. وللتعرف على المزيد، أرسل كلمة \"\"بيزنس\"\" في رسالة نصية إلى الرقم 4435.\n \nhttps://share.google/gdK9EUdVpgkNRVd28\"", "المهارة اللي بتحدد كل قراراتك - حنان ناجي", "ec3be326-0387-4c6a-9a99-b2f76bfa9598", 70, false, "akmzdnXcGPk", "https://www.youtube.com/shorts/akmzdnXcGPk", 5, "/downloads/shorts/بزنس بالعربي (Business بالعربى )/بزنس بالعربي (Business بالعربى ) - 2026-04-14 - [akmzdnXcGPk].mp4", false, false, true, 115, [], 96, ~U[2026-04-14 11:17:24Z], ~U[2026-04-15 13:26:40Z], ~U[2026-04-15 13:26:40Z], "\"أهم مهارة ممكن أي حد يشتغل عليها سواء مدير أو صاحب بزنس هي الوعي الذاتي، لأن فهمك لنفسك بيأثر بشكل مباشر على قراراتك وطريقة إدارتك وتعاملاتك مع الناس، لما تبقى عارف نقاط قوتك وضعفك وطريقة تفكيرك وردود أفعالك، بتبقى أهدى في قراراتك وأوضح في رؤيتك، وبتعرف إمتى تاخد خطوة وإمتى تراجع نفسك، المشكلة إن ناس كتير بتركز على تطوير المهارات الخارجية وتنسى الأساس اللي بيحرك كل ده، وهو وعيك بنفسك، لأن أي تطوير حقيقي بيبدأ من جواك مش من بره. \n\n🟧 ضيف الحلقة هو: حنان ناجي الرئيس التنفيذي لشركة HNI \n🔸شاهد الحلقة على يوتيوب: https://youtu.be/zc1bbX25FMY\n🔶خليك ديماً متابع الجديد في مكان واحد وحمل تطبيق بزنس بالعربي👇\nhttps://m.mtrbio.com/BBA-Application\n\nهذه الحلقـــة برعايــــة: \n📌 Hydepark Developments\nإحدى أبرز شركات التطوير العقاري في مصر، بخبرة تمتد لـ15 عامًا، ومحفظة مشروعات متنوعة تضم 8 تطويرات بحضور قوي في شمال وشرق وغرب القاهرة، زُر موقع Hydepark Developments من خلال https://www.hydeparkdevelopments.com/ar/who-we-are\n\n📌 CIB \nكونك عميل CIB Business Banking يعني أنك تستفيد من أفضل المنتجات والحلول المالية وغير المالية، بالإضافة إلى خدمات مخصصة تلبي احتياجات شركتك، مع دعم مستمر يضمن لك راحة البال لتتمكن من التركيز على نمو أعمالك. وللتعرف على المزيد، أرسل كلمة \"\"بيزنس\"\" في رسالة نصية إلى الرقم 4435.\n \nhttps://share.google/gdK9EUdVpgkNRVd28\"", "المهارة اللي بتحدد كل قراراتك - حنان ناجي", 70, false, "akmzdnXcGPk", "https://www.youtube.com/shorts/akmzdnXcGPk", "/downloads/shorts/بزنس بالعربي (Business بالعربى )/بزنس بالعربي (Business بالعربى ) - 2026-04-14 - [akmzdnXcGPk].mp4", true, 115, ~U[2026-04-14 11:17:24Z]] 13:26:40.245 [debug] QUERY OK source="sources" db=0.4ms 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" FROM "sources" AS s0 WHERE (s0."id" = ?) [115] 13:26:40.247 [debug] QUERY OK source="media_items" db=1.9ms idle=6.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-09 18:23:19Z], 115] 13:26:40.249 [debug] QUERY OK source="media_items" db=0.9ms idle=7.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" ["\"عشان تنجح محتاج تتعلم تزهق\"\nنصيحة غالية ومهمه لـ Gen Z من صلاح ابو المجد في Egypt career Summit، وضرورة ان يكون عندنا إلتزام وانضباط عشان نقدر نحقق اهدافنا، شوف الفيديو وإعرف صلاح بينصح بإيه تاني.", "\"عشان تنجح محتاج تتعلم تزهق\"", "81888966-fe00-4730-ae58-b548efa93580", 90, false, "Zs7E3H0vVd8", "https://www.youtube.com/shorts/Zs7E3H0vVd8", 6, "/downloads/shorts/بزنس بالعربي (Business بالعربى )/بزنس بالعربي (Business بالعربى ) - 2026-04-09 - [Zs7E3H0vVd8].mp4", false, false, true, 115, [], 98, ~U[2026-04-09 18:23:19Z], ~U[2026-04-15 13:26:40Z], ~U[2026-04-15 13:26:40Z], "\"عشان تنجح محتاج تتعلم تزهق\"\nنصيحة غالية ومهمه لـ Gen Z من صلاح ابو المجد في Egypt career Summit، وضرورة ان يكون عندنا إلتزام وانضباط عشان نقدر نحقق اهدافنا، شوف الفيديو وإعرف صلاح بينصح بإيه تاني.", "\"عشان تنجح محتاج تتعلم تزهق\"", 90, false, "Zs7E3H0vVd8", "https://www.youtube.com/shorts/Zs7E3H0vVd8", "/downloads/shorts/بزنس بالعربي (Business بالعربى )/بزنس بالعربي (Business بالعربى ) - 2026-04-09 - [Zs7E3H0vVd8].mp4", true, 115, ~U[2026-04-09 18:23:19Z]] 13:26:40.249 [debug] QUERY OK source="sources" db=0.5ms 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" FROM "sources" AS s0 WHERE (s0."id" = ?) [115] 13:26:40.251 [debug] QUERY OK source="media_items" db=1.9ms idle=5.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-08 13:01:55Z], 115] 13:26:40.253 [debug] QUERY OK source="media_items" db=1.2ms idle=6.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" ["لا توجد استراتيجية أقوى من عميل راضٍ\nالنمو الحقيقي لا يُشترى، ولا تصنعه الحملات التسويقية وحدها، بل يبنيه عميل حصل على قيمة حقيقية فقرر أن يتحدث عنك.\n فكّر بصدق: هل ما تقدّمه اليوم يجعل العميل يوصي بك؟\nتابع السلسلة لتفهم كيف يتحول رضا العميل إلى نمو مستدام\n\nهذا المحتوى مُقدَّم من Tactful AI لمشاهدة الحلقة كاملة:\nرابط الحلقة: \nhttps://youtu.be/jWMX-YHgPaA?si=aOY0r0GzpOoUMh1n\n\nتاكتفُل هي نظام ذكي لإدارة التواصل مع العملاء لفرق المبيعات وخدمة العملاء.\nللإنضمام لمجتمع تجربة العميل من تاكتفُل، استخدم الرابط:\nhttps://tactful.ai/fwd/vcs", "لا توجد استراتيجية أقوى من عميل راضٍ", "885f2359-9a8a-4202-ac41-79abcd72b6f5", 31, false, "uCBG0tcFlj4", "https://www.youtube.com/shorts/uCBG0tcFlj4", 7, "/downloads/shorts/بزنس بالعربي (Business بالعربى )/بزنس بالعربي (Business بالعربى ) - 2026-04-08 - [uCBG0tcFlj4].mp4", false, false, true, 115, [], 98, ~U[2026-04-08 13:01:55Z], ~U[2026-04-15 13:26:40Z], ~U[2026-04-15 13:26:40Z], "لا توجد استراتيجية أقوى من عميل راضٍ\nالنمو الحقيقي لا يُشترى، ولا تصنعه الحملات التسويقية وحدها، بل يبنيه عميل حصل على قيمة حقيقية فقرر أن يتحدث عنك.\n فكّر بصدق: هل ما تقدّمه اليوم يجعل العميل يوصي بك؟\nتابع السلسلة لتفهم كيف يتحول رضا العميل إلى نمو مستدام\n\nهذا المحتوى مُقدَّم من Tactful AI لمشاهدة الحلقة كاملة:\nرابط الحلقة: \nhttps://youtu.be/jWMX-YHgPaA?si=aOY0r0GzpOoUMh1n\n\nتاكتفُل هي نظام ذكي لإدارة التواصل مع العملاء لفرق المبيعات وخدمة العملاء.\nللإنضمام لمجتمع تجربة العميل من تاكتفُل، استخدم الرابط:\nhttps://tactful.ai/fwd/vcs", "لا توجد استراتيجية أقوى من عميل راضٍ", 31, false, "uCBG0tcFlj4", "https://www.youtube.com/shorts/uCBG0tcFlj4", "/downloads/shorts/بزنس بالعربي (Business بالعربى )/بزنس بالعربي (Business بالعربى ) - 2026-04-08 - [uCBG0tcFlj4].mp4", true, 115, ~U[2026-04-08 13:01:55Z]] 13:26:40.254 [debug] QUERY OK source="sources" db=0.4ms 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" FROM "sources" AS s0 WHERE (s0."id" = ?) [115] 13:26:40.256 [debug] QUERY OK source="media_items" db=2.0ms idle=5.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-07 13:01:11Z], 115] 13:26:40.258 [debug] QUERY OK source="media_items" db=1.1ms idle=7.3ms 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" ["\"الاستثمار يبدأ من تجربة العميل لا من التقييم المالي\nفالاستثمار قرار ثقة قبل أن يكون قرار أرقام وثقة المستثمر تبدأ من مكان واحد وهو تجربة العميل وشركة لا تملك عملاء أوفياء يصعب الوثوق في نموها\nتابع السلسلة لتفهم كيف تُبنى الثقة قبل التقييم\r\"\nهذا المحتوى مُقدَّم من Tactful AI لمشاهدة الحلقة كاملة:\nرابط الحلقة: \nhttps://youtu.be/jWMX-YHgPaA?si=aOY0r0GzpOoUMh1n\n\nتاكتفُل هي نظام ذكي لإدارة التواصل مع العملاء لفرق المبيعات وخدمة العملاء.\nللإنضمام لمجتمع تجربة العميل من تاكتفُل، استخدم الرابط:\nhttps://tactful.ai/fwd/vcs", "الاستثمار يبدأ من تجربة العميل لا من التقييم المالي", "b0a76754-4dfd-4875-863c-241b1a24396b", 39, false, "_heaOhsOJy4", "https://www.youtube.com/shorts/_heaOhsOJy4", 8, "/downloads/shorts/بزنس بالعربي (Business بالعربى )/بزنس بالعربي (Business بالعربى ) - 2026-04-07 - [_heaOhsOJy4].mp4", false, false, true, 115, [], 98, ~U[2026-04-07 13:01:11Z], ~U[2026-04-15 13:26:40Z], ~U[2026-04-15 13:26:40Z], "\"الاستثمار يبدأ من تجربة العميل لا من التقييم المالي\nفالاستثمار قرار ثقة قبل أن يكون قرار أرقام وثقة المستثمر تبدأ من مكان واحد وهو تجربة العميل وشركة لا تملك عملاء أوفياء يصعب الوثوق في نموها\nتابع السلسلة لتفهم كيف تُبنى الثقة قبل التقييم\r\"\nهذا المحتوى مُقدَّم من Tactful AI لمشاهدة الحلقة كاملة:\nرابط الحلقة: \nhttps://youtu.be/jWMX-YHgPaA?si=aOY0r0GzpOoUMh1n\n\nتاكتفُل هي نظام ذكي لإدارة التواصل مع العملاء لفرق المبيعات وخدمة العملاء.\nللإنضمام لمجتمع تجربة العميل من تاكتفُل، استخدم الرابط:\nhttps://tactful.ai/fwd/vcs", "الاستثمار يبدأ من تجربة العميل لا من التقييم المالي", 39, false, "_heaOhsOJy4", "https://www.youtube.com/shorts/_heaOhsOJy4", "/downloads/shorts/بزنس بالعربي (Business بالعربى )/بزنس بالعربي (Business بالعربى ) - 2026-04-07 - [_heaOhsOJy4].mp4", true, 115, ~U[2026-04-07 13:01:11Z]] 13:26:40.259 [debug] QUERY OK source="sources" db=0.4ms idle=6.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [115] 13:26:40.261 [debug] QUERY OK source="media_items" db=1.8ms idle=5.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-06 17:01:03Z], 115] 13:26:40.262 [debug] QUERY OK source="media_items" db=1.1ms idle=7.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" ["\"كل قرار لا يبدأ بالعميل ينتهي بمشكلة\nالهوس بالعميل ليست شعارًا، بل طريقة تفكير تحمي الشركة من أخطائها بما يعني أن تُبنى القرارات والمنتج والتجربة من منظور واحد وهو العميل .\nراجع قراراتك فعندما تُبنى القرارات من الداخل، وتُتجاهل احتياجات العميل، تظهر الفجوة ثم الأزمة \nتابع السلسلة وشاركنا رأيك\"\n \nهذا المحتوى مُقدَّم من Tactful AI لمشاهدة الحلقة كاملة:\nرابط الحلقة: \nhttps://youtu.be/jWMX-YHgPaA?si=aOY0r0GzpOoUMh1n\nتاكتفُل هي نظام ذكي لإدارة التواصل مع العملاء لفرق المبيعات وخدمة العملاء.\nللإنضمام لمجتمع تجربة العميل من تاكتفُل، استخدم الرابط:\nhttps://tactful.ai/fwd/vcs\n\"", "كل قرار لا يبدأ بالعميل ينتهي بمشكلة", "c76883e8-3043-4a79-b264-02eea2a383a3", 54, false, "mb4tB7KUDJ8", "https://www.youtube.com/shorts/mb4tB7KUDJ8", 9, "/downloads/shorts/بزنس بالعربي (Business بالعربى )/بزنس بالعربي (Business بالعربى ) - 2026-04-06 - [mb4tB7KUDJ8].mp4", false, false, true, 115, [], 98, ~U[2026-04-06 17:01:03Z], ~U[2026-04-15 13:26:40Z], ~U[2026-04-15 13:26:40Z], "\"كل قرار لا يبدأ بالعميل ينتهي بمشكلة\nالهوس بالعميل ليست شعارًا، بل طريقة تفكير تحمي الشركة من أخطائها بما يعني أن تُبنى القرارات والمنتج والتجربة من منظور واحد وهو العميل .\nراجع قراراتك فعندما تُبنى القرارات من الداخل، وتُتجاهل احتياجات العميل، تظهر الفجوة ثم الأزمة \nتابع السلسلة وشاركنا رأيك\"\n \nهذا المحتوى مُقدَّم من Tactful AI لمشاهدة الحلقة كاملة:\nرابط الحلقة: \nhttps://youtu.be/jWMX-YHgPaA?si=aOY0r0GzpOoUMh1n\nتاكتفُل هي نظام ذكي لإدارة التواصل مع العملاء لفرق المبيعات وخدمة العملاء.\nللإنضمام لمجتمع تجربة العميل من تاكتفُل، استخدم الرابط:\nhttps://tactful.ai/fwd/vcs\n\"", "كل قرار لا يبدأ بالعميل ينتهي بمشكلة", 54, false, "mb4tB7KUDJ8", "https://www.youtube.com/shorts/mb4tB7KUDJ8", "/downloads/shorts/بزنس بالعربي (Business بالعربى )/بزنس بالعربي (Business بالعربى ) - 2026-04-06 - [mb4tB7KUDJ8].mp4", true, 115, ~U[2026-04-06 17:01:03Z]] 13:26:40.263 [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" FROM "sources" AS s0 WHERE (s0."id" = ?) [115] 13:26:40.265 [debug] QUERY OK source="media_items" db=1.8ms idle=5.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-04 18:26:46Z], 115] 13:26:40.267 [debug] QUERY OK source="media_items" db=1.1ms idle=6.7ms 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" ["النمو الحقيقي لا يُشترى، ولا تصنعه الحملات التسويقية وحدها، بل يبنيه عميل حصل على قيمة حقيقية فقرر أن يتحدث عنك.\n\u00A0فكّر بصدق: هل ما تقدّمه اليوم يجعل العميل يوصي بك؟\n\nتابع السلسلة لتفهم كيف يتحول رضا العميل إلى نمو مستدام\n\nهذا المحتوى مُقدَّم من Tactful AI لمشاهدة الحلقة كاملة:\nرابط الحلقة: https://f.mtr.cool/jwqhwupmub\n\nتاكتفُل هي نظام ذكي لإدارة التواصل مع العملاء لفرق المبيعات وخدمة العملاء.\nللإنضمام لمجتمع تجربة العميل من تاكتفُل، استخدم الرابط:\nhttps://f.mtr.cool/oonnknzews\n\n#بزنس_بالعربي\u00A0\n#القيادة_تسبق_الطموح\n#TactfulAI", "تجربة العميل أم خدمة العملاء؟", "6ef3c7c7-26e9-4968-ade8-ad766a3cbf2c", 44, false, "6-fr_snBB3k", "https://www.youtube.com/shorts/6-fr_snBB3k", 10, "/downloads/shorts/بزنس بالعربي (Business بالعربى )/بزنس بالعربي (Business بالعربى ) - 2026-04-04 - [6-fr_snBB3k].mp4", false, false, true, 115, [], 98, ~U[2026-04-04 18:26:46Z], ~U[2026-04-15 13:26:40Z], ~U[2026-04-15 13:26:40Z], "النمو الحقيقي لا يُشترى، ولا تصنعه الحملات التسويقية وحدها، بل يبنيه عميل حصل على قيمة حقيقية فقرر أن يتحدث عنك.\n\u00A0فكّر بصدق: هل ما تقدّمه اليوم يجعل العميل يوصي بك؟\n\nتابع السلسلة لتفهم كيف يتحول رضا العميل إلى نمو مستدام\n\nهذا المحتوى مُقدَّم من Tactful AI لمشاهدة الحلقة كاملة:\nرابط الحلقة: https://f.mtr.cool/jwqhwupmub\n\nتاكتفُل هي نظام ذكي لإدارة التواصل مع العملاء لفرق المبيعات وخدمة العملاء.\nللإنضمام لمجتمع تجربة العميل من تاكتفُل، استخدم الرابط:\nhttps://f.mtr.cool/oonnknzews\n\n#بزنس_بالعربي\u00A0\n#القيادة_تسبق_الطموح\n#TactfulAI", "تجربة العميل أم خدمة العملاء؟", 44, false, "6-fr_snBB3k", "https://www.youtube.com/shorts/6-fr_snBB3k", "/downloads/shorts/بزنس بالعربي (Business بالعربى )/بزنس بالعربي (Business بالعربى ) - 2026-04-04 - [6-fr_snBB3k].mp4", true, 115, ~U[2026-04-04 18:26:46Z]] 13:26:40.268 [debug] QUERY OK source="sources" db=0.4ms 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" FROM "sources" AS s0 WHERE (s0."id" = ?) [115] 13:26:40.270 [debug] QUERY OK source="media_items" db=1.8ms idle=5.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-03 19:00:00Z], 115] 13:26:40.274 [debug] QUERY OK source="media_items" db=3.4ms idle=6.7ms 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" ["\"الحقيقة إنك مش في سباق مع حد غير نفسك، وكل واحد ماشي في طريق مختلف بظروف وسرعة وهدف مختلف، المقارنة المستمرة بتخليك تفقد تركيزك وتشتت طاقتك في حاجات مش بتاعتك، بينما التقدم الحقيقي بييجي لما تركز على نفسك وتشتغل على تحسين مستواك خطوة خطوة، إنت اللي بتحدد سرعتك وإنت اللي بتختار وجهتك، وكل ما تبص على سباق غيرك أكتر كل ما تبعد عن خطك إنت، النجاح مش إنك تسبق حد… النجاح إنك توصل للمكان اللي إنت عايزه بالطريقة اللي تناسبك. \n\n\n🟧 ضيف الحلقة هو:\nعمر مندور الرئيس التفيذي لشركة MIFAD\n🔸شاهد الحلقة على يوتيوب: https://youtu.be/0BoonZI_lR4\n.\n🔶خليك ديماً متابع الجديد في مكان واحد وحمل تطبيق بزنس بالعربي👇\nhttps://m.mtrbio.com/BBA-Application\n\n📌 Hydepark Developments\nإحدى أبرز شركات التطوير العقاري في مصر، بخبرة تمتد لـ15 عامًا، ومحفظة مشروعات متنوعة تضم 8 تطويرات بحضور قوي في شمال وشرق وغرب القاهرة، زُر موقع Hydepark Developments من خلال https://www.hydeparkdevelopments.com/ar/who-we-are\n\n📌 CIB \nكونك عميل CIB Business Banking يعني أنك تستفيد من أفضل المنتجات والحلول المالية وغير المالية، بالإضافة إلى خدمات مخصصة تلبي احتياجات شركتك، مع دعم مستمر يضمن لك راحة البال لتتمكن من التركيز على نمو أعمالك. وللتعرف على المزيد، أرسل كلمة \"\"بيزنس\"\" في رسالة نصية إلى الرقم 4435.\n \nhttps://share.google/gdK9EUdVpgkNRVd28\n\n\n🟧 ضيف الحلقة هو:\nعمر مندور الرئيس التفيذي لشركة MIFAD\n🔶شاهد الحلقة على يوتيوب: إزاي تكبر البزنس بدون ما تخسره - مع عمر مندور الرئيس التفيذي لشركة MIFAD\n.\n.\nهذه الحلقـــة برعايــــة:\n\n📌 Hydepark Developments\nإحدى أبرز شركات التطوير العقاري في مصر، بخبرة تمتد لـ15 عامًا، ومحفظة مشروعات متنوعة تضم 8 تطويرات بحضور قوي في شمال وشرق وغرب القاهرة.\n🟠للمزيد من التفاصيل Hydepark Developments قم بزيارة الـ ⬅️ الـ Bio\n\n📌 CIB \n\nكونك عميل CIB Business Banking يعني أنك تستفيد من أفضل المنتجات والحلول المالية وغير المالية، بالإضافة إلى خدمات مخصصة تلبي احتياجات شركتك، مع دعم مستمر يضمن لك راحة البال لتتمكن من التركيز على نمو أعمالك. وللتعرف على المزيد، أرسل كلمة \"\"بيزنس\"\" في رسالة نصية إلى الرقم 4435.\n 🟠للمزيد من التفاصيل عن CIB Business Banking قم بزيارة الـ ⬅️ الـ Bio \n\r\"", "سباقك الحقيقي مع نفسك - عمر مندور", "592242ce-f442-4a8a-b475-35e8776e6c51", 43, false, "0rOJko7bZNM", "https://www.youtube.com/shorts/0rOJko7bZNM", 11, "/downloads/shorts/بزنس بالعربي (Business بالعربى )/بزنس بالعربي (Business بالعربى ) - 2026-04-03 - [0rOJko7bZNM].mp4", false, false, true, 115, [], 97, ~U[2026-04-03 19:00:00Z], ~U[2026-04-15 13:26:40Z], ~U[2026-04-15 13:26:40Z], "\"الحقيقة إنك مش في سباق مع حد غير نفسك، وكل واحد ماشي في طريق مختلف بظروف وسرعة وهدف مختلف، المقارنة المستمرة بتخليك تفقد تركيزك وتشتت طاقتك في حاجات مش بتاعتك، بينما التقدم الحقيقي بييجي لما تركز على نفسك وتشتغل على تحسين مستواك خطوة خطوة، إنت اللي بتحدد سرعتك وإنت اللي بتختار وجهتك، وكل ما تبص على سباق غيرك أكتر كل ما تبعد عن خطك إنت، النجاح مش إنك تسبق حد… النجاح إنك توصل للمكان اللي إنت عايزه بالطريقة اللي تناسبك. \n\n\n🟧 ضيف الحلقة هو:\nعمر مندور الرئيس التفيذي لشركة MIFAD\n🔸شاهد الحلقة على يوتيوب: https://youtu.be/0BoonZI_lR4\n.\n🔶خليك ديماً متابع الجديد في مكان واحد وحمل تطبيق بزنس بالعربي👇\nhttps://m.mtrbio.com/BBA-Application\n\n📌 Hydepark Developments\nإحدى أبرز شركات التطوير العقاري في مصر، بخبرة تمتد لـ15 عامًا، ومحفظة مشروعات متنوعة تضم 8 تطويرات بحضور قوي في شمال وشرق وغرب القاهرة، زُر موقع Hydepark Developments من خلال https://www.hydeparkdevelopments.com/ar/who-we-are\n\n📌 CIB \nكونك عميل CIB Business Banking يعني أنك تستفيد من أفضل المنتجات والحلول المالية وغير المالية، بالإضافة إلى خدمات مخصصة تلبي احتياجات شركتك، مع دعم مستمر يضمن لك راحة البال لتتمكن من التركيز على نمو أعمالك. وللتعرف على المزيد، أرسل كلمة \"\"بيزنس\"\" في رسالة نصية إلى الرقم 4435.\n \nhttps://share.google/gdK9EUdVpgkNRVd28\n\n\n🟧 ضيف الحلقة هو:\nعمر مندور الرئيس التفيذي لشركة MIFAD\n🔶شاهد الحلقة على يوتيوب: إزاي تكبر البزنس بدون ما تخسره - مع عمر مندور الرئيس التفيذي لشركة MIFAD\n.\n.\nهذه الحلقـــة برعايــــة:\n\n📌 Hydepark Developments\nإحدى أبرز شركات التطوير العقاري في مصر، بخبرة تمتد لـ15 عامًا، ومحفظة مشروعات متنوعة تضم 8 تطويرات بحضور قوي في شمال وشرق وغرب القاهرة.\n🟠للمزيد من التفاصيل Hydepark Developments قم بزيارة الـ ⬅️ الـ Bio\n\n📌 CIB \n\nكونك عميل CIB Business Banking يعني أنك تستفيد من أفضل المنتجات والحلول المالية وغير المالية، بالإضافة إلى خدمات مخصصة تلبي احتياجات شركتك، مع دعم مستمر يضمن لك راحة البال لتتمكن من التركيز على نمو أعمالك. وللتعرف على المزيد، أرسل كلمة \"\"بيزنس\"\" في رسالة نصية إلى الرقم 4435.\n 🟠للمزيد من التفاصيل عن CIB Business Banking قم بزيارة الـ ⬅️ الـ Bio \n\r\"", "سباقك الحقيقي مع نفسك - عمر مندور", 43, false, "0rOJko7bZNM", "https://www.youtube.com/shorts/0rOJko7bZNM", "/downloads/shorts/بزنس بالعربي (Business بالعربى )/بزنس بالعربي (Business بالع (truncated) 13:26:40.275 [debug] QUERY OK source="sources" db=0.4ms idle=9.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [115] 13:26:40.277 [debug] QUERY OK source="media_items" db=1.8ms idle=8.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-03 07:00:00Z], 115] 13:26:40.280 [debug] QUERY OK source="media_items" db=1.8ms idle=9.5ms 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" ["\"النمو والتوسع هدف لأي بيزنس، لكن لو مش مُدار بشكل واعي وصح ممكن يتحول من فرصة لتهديد، لأن مع السرعة في التوسع بيبدأ يحصل تنازل تدريجي عن معايير التشغيل والجودة من غير ما تحس، وده بيأثر على تجربة العميل وعلى سمعة البراند على المدى الطويل، المشكلة إن النتائج في الأول ممكن تبان كويسة بسبب زيادة الأرقام، لكن الأساس بيبدأ يضعف، والبزنس اللي بيكبر من غير سيستم قوي بيستحمل النمو ده، غالبًا بيدفع الثمن بعد كده، التوسع الصح مش في السرعة… التوسع الصح في إنك تكبر وتحافظ في نفس الوقت على الجودة اللي خلتك تنجح من البداية. \n\n\n🟧 ضيف الحلقة هو:\nعمر مندور الرئيس التفيذي لشركة MIFAD\n🔸شاهد الحلقة على يوتيوب: https://youtu.be/0BoonZI_lR4\n.\n🔶خليك ديماً متابع الجديد في مكان واحد وحمل تطبيق بزنس بالعربي👇\nhttps://m.mtrbio.com/BBA-Application\n\n📌 Hydepark Developments\nإحدى أبرز شركات التطوير العقاري في مصر، بخبرة تمتد لـ15 عامًا، ومحفظة مشروعات متنوعة تضم 8 تطويرات بحضور قوي في شمال وشرق وغرب القاهرة، زُر موقع Hydepark Developments من خلال https://www.hydeparkdevelopments.com/ar/who-we-are\n\n📌 CIB \nكونك عميل CIB Business Banking يعني أنك تستفيد من أفضل المنتجات والحلول المالية وغير المالية، بالإضافة إلى خدمات مخصصة تلبي احتياجات شركتك، مع دعم مستمر يضمن لك راحة البال لتتمكن من التركيز على نمو أعمالك. وللتعرف على المزيد، أرسل كلمة \"\"بيزنس\"\" في رسالة نصية إلى الرقم 4435.\n \nhttps://share.google/gdK9EUdVpgkNRVd28\n\n\n🟧 ضيف الحلقة هو:\nعمر مندور الرئيس التفيذي لشركة MIFAD\n🔶شاهد الحلقة على يوتيوب: إزاي تكبر البزنس بدون ما تخسره - مع عمر مندور الرئيس التفيذي لشركة MIFAD\n.\n.\nهذه الحلقـــة برعايــــة:\n\n📌 Hydepark Developments\nإحدى أبرز شركات التطوير العقاري في مصر، بخبرة تمتد لـ15 عامًا، ومحفظة مشروعات متنوعة تضم 8 تطويرات بحضور قوي في شمال وشرق وغرب القاهرة.\n🟠للمزيد من التفاصيل Hydepark Developments قم بزيارة الـ ⬅️ الـ Bio\n\n📌 CIB \n\nكونك عميل CIB Business Banking يعني أنك تستفيد من أفضل المنتجات والحلول المالية وغير المالية، بالإضافة إلى خدمات مخصصة تلبي احتياجات شركتك، مع دعم مستمر يضمن لك راحة البال لتتمكن من التركيز على نمو أعمالك. وللتعرف على المزيد، أرسل كلمة \"\"بيزنس\"\" في رسالة نصية إلى الرقم 4435.\n 🟠للمزيد من التفاصيل عن CIB Business Banking قم بزيارة الـ ⬅️ الـ Bio \n\r\"", "إزاي تكبر من غير ما تقع؟ - عمر مندور", "10ab3e5b-62cc-4e38-a8b0-79ba9c368e07", 40, false, "GtBw_RtRDsk", "https://www.youtube.com/shorts/GtBw_RtRDsk", 12, "/downloads/shorts/بزنس بالعربي (Business بالعربى )/بزنس بالعربي (Business بالعربى ) - 2026-04-03 - [GtBw_RtRDsk].mp4", false, false, true, 115, [], 97, ~U[2026-04-03 07:00:00Z], ~U[2026-04-15 13:26:40Z], ~U[2026-04-15 13:26:40Z], "\"النمو والتوسع هدف لأي بيزنس، لكن لو مش مُدار بشكل واعي وصح ممكن يتحول من فرصة لتهديد، لأن مع السرعة في التوسع بيبدأ يحصل تنازل تدريجي عن معايير التشغيل والجودة من غير ما تحس، وده بيأثر على تجربة العميل وعلى سمعة البراند على المدى الطويل، المشكلة إن النتائج في الأول ممكن تبان كويسة بسبب زيادة الأرقام، لكن الأساس بيبدأ يضعف، والبزنس اللي بيكبر من غير سيستم قوي بيستحمل النمو ده، غالبًا بيدفع الثمن بعد كده، التوسع الصح مش في السرعة… التوسع الصح في إنك تكبر وتحافظ في نفس الوقت على الجودة اللي خلتك تنجح من البداية. \n\n\n🟧 ضيف الحلقة هو:\nعمر مندور الرئيس التفيذي لشركة MIFAD\n🔸شاهد الحلقة على يوتيوب: https://youtu.be/0BoonZI_lR4\n.\n🔶خليك ديماً متابع الجديد في مكان واحد وحمل تطبيق بزنس بالعربي👇\nhttps://m.mtrbio.com/BBA-Application\n\n📌 Hydepark Developments\nإحدى أبرز شركات التطوير العقاري في مصر، بخبرة تمتد لـ15 عامًا، ومحفظة مشروعات متنوعة تضم 8 تطويرات بحضور قوي في شمال وشرق وغرب القاهرة، زُر موقع Hydepark Developments من خلال https://www.hydeparkdevelopments.com/ar/who-we-are\n\n📌 CIB \nكونك عميل CIB Business Banking يعني أنك تستفيد من أفضل المنتجات والحلول المالية وغير المالية، بالإضافة إلى خدمات مخصصة تلبي احتياجات شركتك، مع دعم مستمر يضمن لك راحة البال لتتمكن من التركيز على نمو أعمالك. وللتعرف على المزيد، أرسل كلمة \"\"بيزنس\"\" في رسالة نصية إلى الرقم 4435.\n \nhttps://share.google/gdK9EUdVpgkNRVd28\n\n\n🟧 ضيف الحلقة هو:\nعمر مندور الرئيس التفيذي لشركة MIFAD\n🔶شاهد الحلقة على يوتيوب: إزاي تكبر البزنس بدون ما تخسره - مع عمر مندور الرئيس التفيذي لشركة MIFAD\n.\n.\nهذه الحلقـــة برعايــــة:\n\n📌 Hydepark Developments\nإحدى أبرز شركات التطوير العقاري في مصر، بخبرة تمتد لـ15 عامًا، ومحفظة مشروعات متنوعة تضم 8 تطويرات بحضور قوي في شمال وشرق وغرب القاهرة.\n🟠للمزيد من التفاصيل Hydepark Developments قم بزيارة الـ ⬅️ الـ Bio\n\n📌 CIB \n\nكونك عميل CIB Business Banking يعني أنك تستفيد من أفضل المنتجات والحلول المالية وغير المالية، بالإضافة إلى خدمات مخصصة تلبي احتياجات شركتك، مع دعم مستمر يضمن لك راحة البال لتتمكن من التركيز على نمو أعمالك. وللتعرف على المزيد، أرسل كلمة \"\"بيزنس\"\" في رسالة نصية إلى الرقم 4435.\n 🟠للمزيد (truncated) 13:26:40.281 [debug] QUERY OK source="sources" db=0.5ms idle=10.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [115] 13:26:40.283 [debug] QUERY OK source="media_items" db=2.0ms idle=7.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-02 07:00:00Z], 115] 13:26:40.285 [debug] QUERY OK source="media_items" db=1.7ms idle=8.3ms 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" ["\"التسويق الحقيقي مش مجرد إعلان أو بوست أو حملة، لكنه عملية متكاملة بين العلم والإبداع، لأن حوالي 80% من الشغل بيكون تحليل وأرقام وفهم للسوق واتجاهاته وبناء استراتيجية واضحة، والجزء الظاهر للناس هو آخر خطوة بس، وهي التنفيذ والأدوات والإعلانات، المشكلة إن ناس كتير بتبدأ من الآخر وتركز على الشكل من غير ما تبني الأساس، فبتصرف فلوس كتير على حملات من غير نتائج حقيقية، لكن لما التسويق يتبني صح من البداية على فهم وتحليل، الإعلان ساعتها بيبقى مجرد وسيلة توصل بيها رسالة قوية مش محاولة تعويض لأساس ضعيف، وده الفرق بين اللي بيشتغل تسويق بجد واللي بيجرب حظه. \n\n🟧 ضيف الحلقة هو:\nعمر مندور الرئيس التفيذي لشركة MIFAD\n🔶شاهد الحلقة على يوتيوب: إزاي تكبر البزنس بدون ما تخسره - مع عمر مندور الرئيس التفيذي لشركة MIFAD\n.\n.\nهذه الحلقـــة برعايــــة:\n\n📌 Hydepark Developments\nإحدى أبرز شركات التطوير العقاري في مصر، بخبرة تمتد لـ15 عامًا، ومحفظة مشروعات متنوعة تضم 8 تطويرات بحضور قوي في شمال وشرق وغرب القاهرة.\n🟠للمزيد من التفاصيل Hydepark Developments قم بزيارة الـ ⬅️ الـ Bio\n\n📌 CIB \n\nكونك عميل CIB Business Banking يعني أنك تستفيد من أفضل المنتجات والحلول المالية وغير المالية، بالإضافة إلى خدمات مخصصة تلبي احتياجات شركتك، مع دعم مستمر يضمن لك راحة البال لتتمكن من التركيز على نمو أعمالك. وللتعرف على المزيد، أرسل كلمة \"\"بيزنس\"\" في رسالة نصية إلى الرقم 4435.\n 🟠للمزيد من التفاصيل عن CIB Business Banking قم بزيارة الـ ⬅️ الـ Bio \n\r\"", "اللي فاهم تسويق عمره ما يبدأ بإعلان - عمر مندور", "e6093502-5a4a-4ad6-83c4-54979985ee35", 57, false, "pF8gxcwWZHQ", "https://www.youtube.com/shorts/pF8gxcwWZHQ", 13, "/downloads/shorts/بزنس بالعربي (Business بالعربى )/بزنس بالعربي (Business بالعربى ) - 2026-04-02 - [pF8gxcwWZHQ].mp4", false, false, true, 115, [], 98, ~U[2026-04-02 07:00:00Z], ~U[2026-04-15 13:26:40Z], ~U[2026-04-15 13:26:40Z], "\"التسويق الحقيقي مش مجرد إعلان أو بوست أو حملة، لكنه عملية متكاملة بين العلم والإبداع، لأن حوالي 80% من الشغل بيكون تحليل وأرقام وفهم للسوق واتجاهاته وبناء استراتيجية واضحة، والجزء الظاهر للناس هو آخر خطوة بس، وهي التنفيذ والأدوات والإعلانات، المشكلة إن ناس كتير بتبدأ من الآخر وتركز على الشكل من غير ما تبني الأساس، فبتصرف فلوس كتير على حملات من غير نتائج حقيقية، لكن لما التسويق يتبني صح من البداية على فهم وتحليل، الإعلان ساعتها بيبقى مجرد وسيلة توصل بيها رسالة قوية مش محاولة تعويض لأساس ضعيف، وده الفرق بين اللي بيشتغل تسويق بجد واللي بيجرب حظه. \n\n🟧 ضيف الحلقة هو:\nعمر مندور الرئيس التفيذي لشركة MIFAD\n🔶شاهد الحلقة على يوتيوب: إزاي تكبر البزنس بدون ما تخسره - مع عمر مندور الرئيس التفيذي لشركة MIFAD\n.\n.\nهذه الحلقـــة برعايــــة:\n\n📌 Hydepark Developments\nإحدى أبرز شركات التطوير العقاري في مصر، بخبرة تمتد لـ15 عامًا، ومحفظة مشروعات متنوعة تضم 8 تطويرات بحضور قوي في شمال وشرق وغرب القاهرة.\n🟠للمزيد من التفاصيل Hydepark Developments قم بزيارة الـ ⬅️ الـ Bio\n\n📌 CIB \n\nكونك عميل CIB Business Banking يعني أنك تستفيد من أفضل المنتجات والحلول المالية وغير المالية، بالإضافة إلى خدمات مخصصة تلبي احتياجات شركتك، مع دعم مستمر يضمن لك راحة البال لتتمكن من التركيز على نمو أعمالك. وللتعرف على المزيد، أرسل كلمة \"\"بيزنس\"\" في رسالة نصية إلى الرقم 4435.\n 🟠للمزيد من التفاصيل عن CIB Business Banking قم بزيارة الـ ⬅️ الـ Bio \n\r\"", "اللي فاهم تسويق عمره ما يبدأ بإعلان - عمر مندور", 57, false, "pF8gxcwWZHQ", "https://www.youtube.com/shorts/pF8gxcwWZHQ", "/downloads/shorts/بزنس بالعربي (Business بالعربى )/بزنس بالعربي (Business بالعربى ) - 2026-04-02 - [pF8gxcwWZHQ].mp4", true, 115, ~U[2026-04-02 07:00:00Z]] 13:26:40.286 [debug] QUERY OK source="sources" db=0.4ms idle=8.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [115] 13:26:40.288 [debug] QUERY OK source="media_items" db=2.0ms idle=7.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-01 07:00:00Z], 115] 13:26:40.291 [debug] QUERY OK source="media_items" db=1.5ms idle=7.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" ["\"الفلوس ممكن تيجي بسهولة في لحظة أو صفقة أو فرصة، لكن التحدي الحقيقي مش في إنك تجيب فلوس\n التحدي إنك تعرف تحافظ عليها وتبني عليها، لأن الاستدامة مش بتيجي من ضربة حظ لكنها نتيجة جودة حقيقية بتقدمها للسوق بشكل مستمر، العميل ممكن يجربك مرة بسبب سعر أو دعاية، لكن مش هيكمل معاك غير لو لقى قيمة نظيفة وثابتة، وده اللي بيفرق بين بيزنس بيعمل مكسب سريع وبيختفي، وبيزنس بيبني اسم ويكمل سنين، الفلوس نتيجة\n لكن الجودة والاستمرارية هما السبب الحقيقي لأي نجاح طويل المدى. \n\n🟧 ضيف الحلقة هو:\nعمر مندور الرئيس التفيذي لشركة MIFAD\n🔶شاهد الحلقة على يوتيوب: إزاي تكبر البزنس بدون ما تخسره - مع عمر مندور الرئيس التفيذي لشركة MIFAD\n.\n.\nهذه الحلقـــة برعايــــة:\n\n📌 Hydepark Developments\nإحدى أبرز شركات التطوير العقاري في مصر، بخبرة تمتد لـ15 عامًا، ومحفظة مشروعات متنوعة تضم 8 تطويرات بحضور قوي في شمال وشرق وغرب القاهرة.\n🟠للمزيد من التفاصيل Hydepark Developments قم بزيارة الـ ⬅️ الـ Bio\n\n📌 CIB \n\nكونك عميل CIB Business Banking يعني أنك تستفيد من أفضل المنتجات والحلول المالية وغير المالية، بالإضافة إلى خدمات مخصصة تلبي احتياجات شركتك، مع دعم مستمر يضمن لك راحة البال لتتمكن من التركيز على نمو أعمالك. وللتعرف على المزيد، أرسل كلمة \"\"بيزنس\"\" في رسالة نصية إلى الرقم 4435.\n 🟠للمزيد من التفاصيل عن CIB Business Banking قم بزيارة الـ ⬅️ الـ Bio \n\r\"", "الاستدامة أهم من المكسب السريع - عمر مندور", "3fe350e3-eb0f-4442-93bb-b0867d638db0", 50, false, "rfLhvgPDrNM", "https://www.youtube.com/shorts/rfLhvgPDrNM", 14, "/downloads/shorts/بزنس بالعربي (Business بالعربى )/بزنس بالعربي (Business بالعربى ) - 2026-04-01 - [rfLhvgPDrNM].mp4", false, false, true, 115, [], 98, ~U[2026-04-01 07:00:00Z], ~U[2026-04-15 13:26:40Z], ~U[2026-04-15 13:26:40Z], "\"الفلوس ممكن تيجي بسهولة في لحظة أو صفقة أو فرصة، لكن التحدي الحقيقي مش في إنك تجيب فلوس\n التحدي إنك تعرف تحافظ عليها وتبني عليها، لأن الاستدامة مش بتيجي من ضربة حظ لكنها نتيجة جودة حقيقية بتقدمها للسوق بشكل مستمر، العميل ممكن يجربك مرة بسبب سعر أو دعاية، لكن مش هيكمل معاك غير لو لقى قيمة نظيفة وثابتة، وده اللي بيفرق بين بيزنس بيعمل مكسب سريع وبيختفي، وبيزنس بيبني اسم ويكمل سنين، الفلوس نتيجة\n لكن الجودة والاستمرارية هما السبب الحقيقي لأي نجاح طويل المدى. \n\n🟧 ضيف الحلقة هو:\nعمر مندور الرئيس التفيذي لشركة MIFAD\n🔶شاهد الحلقة على يوتيوب: إزاي تكبر البزنس بدون ما تخسره - مع عمر مندور الرئيس التفيذي لشركة MIFAD\n.\n.\nهذه الحلقـــة برعايــــة:\n\n📌 Hydepark Developments\nإحدى أبرز شركات التطوير العقاري في مصر، بخبرة تمتد لـ15 عامًا، ومحفظة مشروعات متنوعة تضم 8 تطويرات بحضور قوي في شمال وشرق وغرب القاهرة.\n🟠للمزيد من التفاصيل Hydepark Developments قم بزيارة الـ ⬅️ الـ Bio\n\n📌 CIB \n\nكونك عميل CIB Business Banking يعني أنك تستفيد من أفضل المنتجات والحلول المالية وغير المالية، بالإضافة إلى خدمات مخصصة تلبي احتياجات شركتك، مع دعم مستمر يضمن لك راحة البال لتتمكن من التركيز على نمو أعمالك. وللتعرف على المزيد، أرسل كلمة \"\"بيزنس\"\" في رسالة نصية إلى الرقم 4435.\n 🟠للمزيد من التفاصيل عن CIB Business Banking قم بزيارة الـ ⬅️ الـ Bio \n\r\"", "الاستدامة أهم من المكسب السريع - عمر مندور", 50, false, "rfLhvgPDrNM", "https://www.youtube.com/shorts/rfLhvgPDrNM", "/downloads/shorts/بزنس بالعربي (Business بالعربى )/بزنس بالعربي (Business بالعربى ) - 2026-04-01 - [rfLhvgPDrNM].mp4", true, 115, ~U[2026-04-01 07:00:00Z]] 13:26:40.291 [debug] QUERY OK source="sources" db=0.4ms idle=7.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [115] 13:26:40.293 [debug] QUERY OK source="media_items" db=1.7ms idle=6.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-31 07:00:00Z], 115] 13:26:40.296 [debug] QUERY OK source="media_items" db=1.6ms idle=7.5ms 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" ["\"أكبر وهم ممكن تعيش فيه إنك تفتكر إنك هتنجح لوحدك، لأن الحقيقة إن أي نجاح حقيقي وراه فريق، علاقات، وتكامل مش فرد واحد، يوفوريا الأنا ممكن تخليك تحس إنك شايف كل حاجة وإنك تقدر تعمل كل حاجة، لكنها في نفس الوقت بتقفلك عن التعلم وبتمنعك تسمع وتستفيد من اللي حواليك، والنتيجة إنك تبطّأ نفسك من غير ما تحس، النجاح مش في إنك تعمل كل حاجة بإيدك، النجاح إنك تعرف إمتى تحتاج غيرك وتبني معاه وتكملوا بعض، لأن اللي بيفهم كده بدري بيكبر أسرع، واللي يفضل متمسك بفكرة “أنا لوحدي” غالبًا بيوصل متأخر… أو مبيوصلش. \n\n🟧 ضيف الحلقة هو:\nعمر مندور الرئيس التفيذي لشركة MIFAD\n🔶شاهد الحلقة على يوتيوب: إزاي تكبر البزنس بدون ما تخسره - مع عمر مندور الرئيس التفيذي لشركة MIFAD\n.\n.\nهذه الحلقـــة برعايــــة:\n\n📌 Hydepark Developments\nإحدى أبرز شركات التطوير العقاري في مصر، بخبرة تمتد لـ15 عامًا، ومحفظة مشروعات متنوعة تضم 8 تطويرات بحضور قوي في شمال وشرق وغرب القاهرة.\n🟠للمزيد من التفاصيل Hydepark Developments قم بزيارة الـ ⬅️ الـ Bio\n\n📌 CIB \n\nكونك عميل CIB Business Banking يعني أنك تستفيد من أفضل المنتجات والحلول المالية وغير المالية، بالإضافة إلى خدمات مخصصة تلبي احتياجات شركتك، مع دعم مستمر يضمن لك راحة البال لتتمكن من التركيز على نمو أعمالك. وللتعرف على المزيد، أرسل كلمة \"\"بيزنس\"\" في رسالة نصية إلى الرقم 4435.\n 🟠للمزيد من التفاصيل عن CIB Business Banking قم بزيارة الـ ⬅️ الـ Bio \n\r\"", "يوفوريا الأنا بتدمّر النجاح - عمر مندور", "4bffbd6e-6df4-4a98-b4a9-8879fa34abbb", 24, false, "V3Js-ew19NU", "https://www.youtube.com/shorts/V3Js-ew19NU", 15, "/downloads/shorts/بزنس بالعربي (Business بالعربى )/بزنس بالعربي (Business بالعربى ) - 2026-03-31 - [V3Js-ew19NU].mp4", false, false, true, 115, [], 98, ~U[2026-03-31 07:00:00Z], ~U[2026-04-15 13:26:40Z], ~U[2026-04-15 13:26:40Z], "\"أكبر وهم ممكن تعيش فيه إنك تفتكر إنك هتنجح لوحدك، لأن الحقيقة إن أي نجاح حقيقي وراه فريق، علاقات، وتكامل مش فرد واحد، يوفوريا الأنا ممكن تخليك تحس إنك شايف كل حاجة وإنك تقدر تعمل كل حاجة، لكنها في نفس الوقت بتقفلك عن التعلم وبتمنعك تسمع وتستفيد من اللي حواليك، والنتيجة إنك تبطّأ نفسك من غير ما تحس، النجاح مش في إنك تعمل كل حاجة بإيدك، النجاح إنك تعرف إمتى تحتاج غيرك وتبني معاه وتكملوا بعض، لأن اللي بيفهم كده بدري بيكبر أسرع، واللي يفضل متمسك بفكرة “أنا لوحدي” غالبًا بيوصل متأخر… أو مبيوصلش. \n\n🟧 ضيف الحلقة هو:\nعمر مندور الرئيس التفيذي لشركة MIFAD\n🔶شاهد الحلقة على يوتيوب: إزاي تكبر البزنس بدون ما تخسره - مع عمر مندور الرئيس التفيذي لشركة MIFAD\n.\n.\nهذه الحلقـــة برعايــــة:\n\n📌 Hydepark Developments\nإحدى أبرز شركات التطوير العقاري في مصر، بخبرة تمتد لـ15 عامًا، ومحفظة مشروعات متنوعة تضم 8 تطويرات بحضور قوي في شمال وشرق وغرب القاهرة.\n🟠للمزيد من التفاصيل Hydepark Developments قم بزيارة الـ ⬅️ الـ Bio\n\n📌 CIB \n\nكونك عميل CIB Business Banking يعني أنك تستفيد من أفضل المنتجات والحلول المالية وغير المالية، بالإضافة إلى خدمات مخصصة تلبي احتياجات شركتك، مع دعم مستمر يضمن لك راحة البال لتتمكن من التركيز على نمو أعمالك. وللتعرف على المزيد، أرسل كلمة \"\"بيزنس\"\" في رسالة نصية إلى الرقم 4435.\n 🟠للمزيد من التفاصيل عن CIB Business Banking قم بزيارة الـ ⬅️ الـ Bio \n\r\"", "يوفوريا الأنا بتدمّر النجاح - عمر مندور", 24, false, "V3Js-ew19NU", "https://www.youtube.com/shorts/V3Js-ew19NU", "/downloads/shorts/بزنس بالعربي (Business بالعربى )/بزنس بالعربي (Business بالعربى ) - 2026-03-31 - [V3Js-ew19NU].mp4", true, 115, ~U[2026-03-31 07:00:00Z]] 13:26:40.296 [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" FROM "sources" AS s0 WHERE (s0."id" = ?) [115] 13:26:40.298 [debug] QUERY OK source="media_items" db=1.8ms idle=6.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-14 20:12:19Z], 115] 13:26:40.300 [debug] QUERY OK source="media_items" db=1.1ms idle=7.4ms 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" ["تجربة العميل أم خدمة العملاء؟\nخدمة العملاء جزء من تجربة العميل، لكنها ليست التجربة كاملة ، الخلط بين المفهومين هو أول سبب لتجربة ضعيفة حتى مع منتج جيد.\nتجربة العميل تبدأ قبل البيع، وتستمر بعده، وتشمل كل ما يراه ويشعر به العميل في تعامله مع العلامة التجارية.\n\nتابع السلسلة لتفهم التجربة كمنظومة كاملة، وانضم إلى مجتمع أثر تجربة العميل لتبادل الخبرات والتجارب الواقعية.\n\nهذا المحتوى مُقدَّم من Tactful AI لمشاهدة الحلقة كاملة:\nرابط الحلقة: https://f.mtr.cool/rjpsqakzvn\n\nتاكتفُل هي نظام ذكي لإدارة التواصل مع العملاء لفرق المبيعات وخدمة العملاء.\nللإنضمام لمجتمع تجربة العميل من تاكتفُل، استخدم الرابط:\nhttps://f.mtr.cool/oonnknzews\n\n#بزنس_بالعربي\u00A0\n#القيادة_تسبق_الطموح\n#TactfulAI", "تجربة العميل أم خدمة العملاء؟", "2f68c15c-260e-4fa7-a256-ed74f2ea74f6", 50, false, "dZdXjjOwEow", "https://www.youtube.com/shorts/dZdXjjOwEow", 16, "/downloads/shorts/بزنس بالعربي (Business بالعربى )/بزنس بالعربي (Business بالعربى ) - 2026-03-14 - [dZdXjjOwEow].mp4", false, false, true, 115, [], 98, ~U[2026-03-14 20:12:19Z], ~U[2026-04-15 13:26:40Z], ~U[2026-04-15 13:26:40Z], "تجربة العميل أم خدمة العملاء؟\nخدمة العملاء جزء من تجربة العميل، لكنها ليست التجربة كاملة ، الخلط بين المفهومين هو أول سبب لتجربة ضعيفة حتى مع منتج جيد.\nتجربة العميل تبدأ قبل البيع، وتستمر بعده، وتشمل كل ما يراه ويشعر به العميل في تعامله مع العلامة التجارية.\n\nتابع السلسلة لتفهم التجربة كمنظومة كاملة، وانضم إلى مجتمع أثر تجربة العميل لتبادل الخبرات والتجارب الواقعية.\n\nهذا المحتوى مُقدَّم من Tactful AI لمشاهدة الحلقة كاملة:\nرابط الحلقة: https://f.mtr.cool/rjpsqakzvn\n\nتاكتفُل هي نظام ذكي لإدارة التواصل مع العملاء لفرق المبيعات وخدمة العملاء.\nللإنضمام لمجتمع تجربة العميل من تاكتفُل، استخدم الرابط:\nhttps://f.mtr.cool/oonnknzews\n\n#بزنس_بالعربي\u00A0\n#القيادة_تسبق_الطموح\n#TactfulAI", "تجربة العميل أم خدمة العملاء؟", 50, false, "dZdXjjOwEow", "https://www.youtube.com/shorts/dZdXjjOwEow", "/downloads/shorts/بزنس بالعربي (Business بالعربى )/بزنس بالعربي (Business بالعربى ) - 2026-03-14 - [dZdXjjOwEow].mp4", true, 115, ~U[2026-03-14 20:12:19Z]] 13:26:40.301 [debug] QUERY OK source="sources" db=0.4ms 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" FROM "sources" AS s0 WHERE (s0."id" = ?) [115] 13:26:40.303 [debug] QUERY OK source="media_items" db=1.8ms idle=5.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-06 13:00:31Z], 115] 13:26:40.305 [debug] QUERY OK source="media_items" db=1.6ms idle=6.8ms 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" ["\"ميزة التكنولوجيا إنها ملهاش حدود حقيقية، لأن في الأساس الإبداع نفسه ملوش سقف، كل فكرة جديدة بتفتح باب لفكرة أكبر منها، وكل أداة بتتطور عشان تخدم خيال أوسع وطموح أعلى، التطور مش بيقف عند منتج أو تطبيق أو اختراع معين لكن بيكمل طول ما في حد بيسأل “طب ليه لأ؟”، وده اللي بيخلّي التكنولوجيا دايمًا في حالة نمو مستمر \n\n🟧 ضيف الحلقة هو:\nمصطفى مدحت الرئيس التنفيذي لشركة نايس دير\n🔶شاهد الحلقة على يوتيوب: الذكاء الاصطناعي وتآثيره علي مستقبل الشركات الناشئة - مع مصطفى مدحت الرئيس التنفيذي لشركة نايس دير\n.\n.\nهذه الحلقـــة برعايــــة:\n\n📌 \u200Eاورنچ بيزنس\nتابع الصفحة الرسمية لاورنچ بيزنس لخدمة جميع عملائها من قطاع الشركات، لتكن على اطلاع دائم بأحدث الحلول والعروض والخدمات المصممة خصيصًا لاحتياجات شركتك، على مدار الساعة.\n🟠للمزيد من التفاصيل عن اورنچ بيزنس قم بزيارة الـ ⬅️ الـ Bio\n\n📌 Hydepark Developments\nإحدى أبرز شركات التطوير العقاري في مصر، بخبرة تمتد لـ15 عامًا، ومحفظة مشروعات متنوعة تضم 8 تطويرات بحضور قوي في شمال وشرق وغرب القاهرة.\n🟠للمزيد من التفاصيل Hydepark Developments قم بزيارة الـ ⬅️ الـ Bio\n\n📌 CIB \n\nكونك عميل CIB Business Banking يعني أنك تستفيد من أفضل المنتجات والحلول المالية وغير المالية، بالإضافة إلى خدمات مخصصة تلبي احتياجات شركتك، مع دعم مستمر يضمن لك راحة البال لتتمكن من التركيز على نمو أعمالك. وللتعرف على المزيد، أرسل كلمة \"\"بيزنس\"\" في رسالة نصية إلى الرقم 4435.\n 🟠للمزيد من التفاصيل عن CIB Business Banking قم بزيارة الـ ⬅️ الـ Bio \n\r\"", "\"حدود التكنولوجيا عند حدود خيالك - مصطفى مدحت\"", "1921f3f6-76f1-4586-bb0c-003d13bdbcdf", 33, false, "BXtl8a0tIyI", "https://www.youtube.com/shorts/BXtl8a0tIyI", 17, "/downloads/shorts/بزنس بالعربي (Business بالعربى )/بزنس بالعربي (Business بالعربى ) - 2026-03-06 - [BXtl8a0tIyI].mp4", false, false, true, 115, [], 98, ~U[2026-03-06 13:00:31Z], ~U[2026-04-15 13:26:40Z], ~U[2026-04-15 13:26:40Z], "\"ميزة التكنولوجيا إنها ملهاش حدود حقيقية، لأن في الأساس الإبداع نفسه ملوش سقف، كل فكرة جديدة بتفتح باب لفكرة أكبر منها، وكل أداة بتتطور عشان تخدم خيال أوسع وطموح أعلى، التطور مش بيقف عند منتج أو تطبيق أو اختراع معين لكن بيكمل طول ما في حد بيسأل “طب ليه لأ؟”، وده اللي بيخلّي التكنولوجيا دايمًا في حالة نمو مستمر \n\n🟧 ضيف الحلقة هو:\nمصطفى مدحت الرئيس التنفيذي لشركة نايس دير\n🔶شاهد الحلقة على يوتيوب: الذكاء الاصطناعي وتآثيره علي مستقبل الشركات الناشئة - مع مصطفى مدحت الرئيس التنفيذي لشركة نايس دير\n.\n.\nهذه الحلقـــة برعايــــة:\n\n📌 \u200Eاورنچ بيزنس\nتابع الصفحة الرسمية لاورنچ بيزنس لخدمة جميع عملائها من قطاع الشركات، لتكن على اطلاع دائم بأحدث الحلول والعروض والخدمات المصممة خصيصًا لاحتياجات شركتك، على مدار الساعة.\n🟠للمزيد من التفاصيل عن اورنچ بيزنس قم بزيارة الـ ⬅️ الـ Bio\n\n📌 Hydepark Developments\nإحدى أبرز شركات التطوير العقاري في مصر، بخبرة تمتد لـ15 عامًا، ومحفظة مشروعات متنوعة تضم 8 تطويرات بحضور قوي في شمال وشرق وغرب القاهرة.\n🟠للمزيد من التفاصيل Hydepark Developments قم بزيارة الـ ⬅️ الـ Bio\n\n📌 CIB \n\nكونك عميل CIB Business Banking يعني أنك تستفيد من أفضل المنتجات والحلول المالية وغير المالية، بالإضافة إلى خدمات مخصصة تلبي احتياجات شركتك، مع دعم مستمر يضمن لك راحة البال لتتمكن من التركيز على نمو أعمالك. وللتعرف على المزيد، أرسل كلمة \"\"بيزنس\"\" في رسالة نصية إلى الرقم 4435.\n 🟠للمزيد من التفاصيل عن CIB Business Banking قم بزيارة الـ ⬅️ الـ Bio \n\r\"", "\"حدود التكنولوجيا عند حدود خيالك - مصطفى مدحت\"", 33, false, "BXtl8a0tIyI", "https://www.youtube.com/shorts/BXtl8a0tIyI", "/downloads/shorts/بزنس بالعربي (Business بالعربى )/بزنس بالعربي (Business بالعربى ) - 2026-03-06 - [BXtl8a0tIyI].mp4", true, 115, ~U[2026-03-06 13:00:31Z]] 13:26:40.306 [debug] QUERY OK source="sources" db=0.3ms idle=7.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [115] 13:26:40.308 [debug] QUERY OK source="media_items" db=1.8ms idle=6.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-05 13:00:29Z], 115] 13:26:40.311 [debug] QUERY OK source="media_items" db=1.6ms idle=7.4ms 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" ["\"كتير بنسمع إن أنظمة الذكاء الاصطناعي بقت “بتتكلم مع بعض” وإن ده ممكن يكون بداية خطر على البشر، لكن الحقيقة أبسط من كده بكتير… أنظمة زي ChatGPT أو غيرها مش عندها وعي ولا نية ولا أهداف خاصة بيها، هي مجرد نماذج بتستقبل مدخلات وتطلع مخرجات بناءً على بيانات وأنماط اتدربت عليها، آه ممكن نظامين يتبادلوا بيانات لو حد برمجهم يعملوا كده، لكن ده بيكون بتصميم وإشراف بشري كامل \n\n🟧 ضيف الحلقة هو:\nمصطفى مدحت الرئيس التنفيذي لشركة نايس دير\n🔶شاهد الحلقة على يوتيوب: الذكاء الاصطناعي وتآثيره علي مستقبل الشركات الناشئة - مع مصطفى مدحت الرئيس التنفيذي لشركة نايس دير\n.\n.\nهذه الحلقـــة برعايــــة:\n\n📌 \u200Eاورنچ بيزنس\nتابع الصفحة الرسمية لاورنچ بيزنس لخدمة جميع عملائها من قطاع الشركات، لتكن على اطلاع دائم بأحدث الحلول والعروض والخدمات المصممة خصيصًا لاحتياجات شركتك، على مدار الساعة.\n🟠للمزيد من التفاصيل عن اورنچ بيزنس قم بزيارة الـ ⬅️ الـ Bio\n\n📌 Hydepark Developments\nإحدى أبرز شركات التطوير العقاري في مصر، بخبرة تمتد لـ15 عامًا، ومحفظة مشروعات متنوعة تضم 8 تطويرات بحضور قوي في شمال وشرق وغرب القاهرة.\n🟠للمزيد من التفاصيل Hydepark Developments قم بزيارة الـ ⬅️ الـ Bio\n\n📌 CIB \n\nكونك عميل CIB Business Banking يعني أنك تستفيد من أفضل المنتجات والحلول المالية وغير المالية، بالإضافة إلى خدمات مخصصة تلبي احتياجات شركتك، مع دعم مستمر يضمن لك راحة البال لتتمكن من التركيز على نمو أعمالك. وللتعرف على المزيد، أرسل كلمة \"\"بيزنس\"\" في رسالة نصية إلى الرقم 4435.\n 🟠للمزيد من التفاصيل عن CIB Business Banking قم بزيارة الـ ⬅️ الـ Bio \n\r\"", "\"الحقيقة الكاملة وراء خوف الناس من الـ AI - مصطفى مدحت\"", "e51d72e6-ba50-4ee0-9fd7-72d65d3fb59e", 84, false, "9Pg5YmV35A0", "https://www.youtube.com/shorts/9Pg5YmV35A0", 18, "/downloads/shorts/بزنس بالعربي (Business بالعربى )/بزنس بالعربي (Business بالعربى ) - 2026-03-05 - [9Pg5YmV35A0].mp4", false, false, true, 115, [], 98, ~U[2026-03-05 13:00:29Z], ~U[2026-04-15 13:26:40Z], ~U[2026-04-15 13:26:40Z], "\"كتير بنسمع إن أنظمة الذكاء الاصطناعي بقت “بتتكلم مع بعض” وإن ده ممكن يكون بداية خطر على البشر، لكن الحقيقة أبسط من كده بكتير… أنظمة زي ChatGPT أو غيرها مش عندها وعي ولا نية ولا أهداف خاصة بيها، هي مجرد نماذج بتستقبل مدخلات وتطلع مخرجات بناءً على بيانات وأنماط اتدربت عليها، آه ممكن نظامين يتبادلوا بيانات لو حد برمجهم يعملوا كده، لكن ده بيكون بتصميم وإشراف بشري كامل \n\n🟧 ضيف الحلقة هو:\nمصطفى مدحت الرئيس التنفيذي لشركة نايس دير\n🔶شاهد الحلقة على يوتيوب: الذكاء الاصطناعي وتآثيره علي مستقبل الشركات الناشئة - مع مصطفى مدحت الرئيس التنفيذي لشركة نايس دير\n.\n.\nهذه الحلقـــة برعايــــة:\n\n📌 \u200Eاورنچ بيزنس\nتابع الصفحة الرسمية لاورنچ بيزنس لخدمة جميع عملائها من قطاع الشركات، لتكن على اطلاع دائم بأحدث الحلول والعروض والخدمات المصممة خصيصًا لاحتياجات شركتك، على مدار الساعة.\n🟠للمزيد من التفاصيل عن اورنچ بيزنس قم بزيارة الـ ⬅️ الـ Bio\n\n📌 Hydepark Developments\nإحدى أبرز شركات التطوير العقاري في مصر، بخبرة تمتد لـ15 عامًا، ومحفظة مشروعات متنوعة تضم 8 تطويرات بحضور قوي في شمال وشرق وغرب القاهرة.\n🟠للمزيد من التفاصيل Hydepark Developments قم بزيارة الـ ⬅️ الـ Bio\n\n📌 CIB \n\nكونك عميل CIB Business Banking يعني أنك تستفيد من أفضل المنتجات والحلول المالية وغير المالية، بالإضافة إلى خدمات مخصصة تلبي احتياجات شركتك، مع دعم مستمر يضمن لك راحة البال لتتمكن من التركيز على نمو أعمالك. وللتعرف على المزيد، أرسل كلمة \"\"بيزنس\"\" في رسالة نصية إلى الرقم 4435.\n 🟠للمزيد من التفاصيل عن CIB Business Banking قم بزيارة الـ ⬅️ الـ Bio \n\r\"", "\"الحقيقة الكاملة وراء خوف الناس من الـ AI - مصطفى مدحت\"", 84, false, "9Pg5YmV35A0", "https://www.youtube.com/shorts/9Pg5YmV35A0", "/downloads/shorts/بزنس بالعربي (Business بالعربى )/بزنس بالعربي (Business بالعربى ) - 2026-03-05 - [9Pg5YmV35A0].mp4", true, 115, ~U[2026-03-05 13:00:29Z]] 13:26:40.311 [debug] QUERY OK source="sources" db=0.4ms idle=7.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [115] 13:26:40.313 [debug] QUERY OK source="media_items" db=1.7ms idle=6.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-04 13:00:04Z], 115] 13:26:40.316 [debug] QUERY OK source="media_items" db=1.6ms idle=7.5ms 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" ["\"لذكاء الاصطناعي بيشتغل على احتمالات وأنماط كلام مش على تشخيص حقيقي، فممكن يطبطب عليك بكلام مريح لكنه مش بالضرورة يكون الأدق أو الأنسب لحالتك، وده فرق كبير بين أداة مساعدة في التفكير أو جمع المعلومات وبين شخص متخصص مسؤول عن صحتك النفسية، فلازم نستخدم التكنولوجيا بوعي ونعرف حدودها قبل ما نعتمد عليها في قرارات أو جوانب حساسة في حياتنا. \n\n🟧 ضيف الحلقة هو:\nمصطفى مدحت الرئيس التنفيذي لشركة نايس دير\n🔶شاهد الحلقة على يوتيوب: الذكاء الاصطناعي وتآثيره علي مستقبل الشركات الناشئة - مع مصطفى مدحت الرئيس التنفيذي لشركة نايس دير\n.\n.\nهذه الحلقـــة برعايــــة:\n\n📌 \u200Eاورنچ بيزنس\nتابع الصفحة الرسمية لاورنچ بيزنس لخدمة جميع عملائها من قطاع الشركات، لتكن على اطلاع دائم بأحدث الحلول والعروض والخدمات المصممة خصيصًا لاحتياجات شركتك، على مدار الساعة.\n🟠للمزيد من التفاصيل عن اورنچ بيزنس قم بزيارة الـ ⬅️ الـ Bio\n\n📌 Hydepark Developments\nإحدى أبرز شركات التطوير العقاري في مصر، بخبرة تمتد لـ15 عامًا، ومحفظة مشروعات متنوعة تضم 8 تطويرات بحضور قوي في شمال وشرق وغرب القاهرة.\n🟠للمزيد من التفاصيل Hydepark Developments قم بزيارة الـ ⬅️ الـ Bio\n\n📌 CIB \n\nكونك عميل CIB Business Banking يعني أنك تستفيد من أفضل المنتجات والحلول المالية وغير المالية، بالإضافة إلى خدمات مخصصة تلبي احتياجات شركتك، مع دعم مستمر يضمن لك راحة البال لتتمكن من التركيز على نمو أعمالك. وللتعرف على المزيد، أرسل كلمة \"\"بيزنس\"\" في رسالة نصية إلى الرقم 4435.\n 🟠للمزيد من التفاصيل عن CIB Business Banking قم بزيارة الـ ⬅️ الـ Bio \n\n\"", "هل ChatGPT بيقول الحقيقة دايمًا؟ - مصطفى مدحت", "96a2695c-2d21-4be6-b339-2c08367cc2fa", 80, false, "3HOIJ4QgcOo", "https://www.youtube.com/shorts/3HOIJ4QgcOo", 19, "/downloads/shorts/بزنس بالعربي (Business بالعربى )/بزنس بالعربي (Business بالعربى ) - 2026-03-04 - [3HOIJ4QgcOo].mp4", false, false, true, 115, [], 98, ~U[2026-03-04 13:00:04Z], ~U[2026-04-15 13:26:40Z], ~U[2026-04-15 13:26:40Z], "\"لذكاء الاصطناعي بيشتغل على احتمالات وأنماط كلام مش على تشخيص حقيقي، فممكن يطبطب عليك بكلام مريح لكنه مش بالضرورة يكون الأدق أو الأنسب لحالتك، وده فرق كبير بين أداة مساعدة في التفكير أو جمع المعلومات وبين شخص متخصص مسؤول عن صحتك النفسية، فلازم نستخدم التكنولوجيا بوعي ونعرف حدودها قبل ما نعتمد عليها في قرارات أو جوانب حساسة في حياتنا. \n\n🟧 ضيف الحلقة هو:\nمصطفى مدحت الرئيس التنفيذي لشركة نايس دير\n🔶شاهد الحلقة على يوتيوب: الذكاء الاصطناعي وتآثيره علي مستقبل الشركات الناشئة - مع مصطفى مدحت الرئيس التنفيذي لشركة نايس دير\n.\n.\nهذه الحلقـــة برعايــــة:\n\n📌 \u200Eاورنچ بيزنس\nتابع الصفحة الرسمية لاورنچ بيزنس لخدمة جميع عملائها من قطاع الشركات، لتكن على اطلاع دائم بأحدث الحلول والعروض والخدمات المصممة خصيصًا لاحتياجات شركتك، على مدار الساعة.\n🟠للمزيد من التفاصيل عن اورنچ بيزنس قم بزيارة الـ ⬅️ الـ Bio\n\n📌 Hydepark Developments\nإحدى أبرز شركات التطوير العقاري في مصر، بخبرة تمتد لـ15 عامًا، ومحفظة مشروعات متنوعة تضم 8 تطويرات بحضور قوي في شمال وشرق وغرب القاهرة.\n🟠للمزيد من التفاصيل Hydepark Developments قم بزيارة الـ ⬅️ الـ Bio\n\n📌 CIB \n\nكونك عميل CIB Business Banking يعني أنك تستفيد من أفضل المنتجات والحلول المالية وغير المالية، بالإضافة إلى خدمات مخصصة تلبي احتياجات شركتك، مع دعم مستمر يضمن لك راحة البال لتتمكن من التركيز على نمو أعمالك. وللتعرف على المزيد، أرسل كلمة \"\"بيزنس\"\" في رسالة نصية إلى الرقم 4435.\n 🟠للمزيد من التفاصيل عن CIB Business Banking قم بزيارة الـ ⬅️ الـ Bio \n\n\"", "هل ChatGPT بيقول الحقيقة دايمًا؟ - مصطفى مدحت", 80, false, "3HOIJ4QgcOo", "https://www.youtube.com/shorts/3HOIJ4QgcOo", "/downloads/shorts/بزنس بالعربي (Business بالعربى )/بزنس بالعربي (Business بالعربى ) - 2026-03-04 - [3HOIJ4QgcOo].mp4", true, 115, ~U[2026-03-04 13:00:04Z]] 13:26:40.316 [debug] QUERY OK source="sources" db=0.3ms idle=7.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" = ?) [115] 13:26:40.318 [debug] QUERY OK source="media_items" db=1.8ms idle=6.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-03 17:17:03Z], 115] 13:26:40.321 [debug] QUERY OK source="media_items" db=1.7ms idle=7.3ms 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" ["لذكاء الاصطناعي بيشتغل على احتمالات وأنماط كلام مش على تشخيص حقيقي، فممكن يطبطب عليك بكلام مريح لكنه مش بالضرورة يكون الأدق أو الأنسب لحالتك، وده فرق كبير بين أداة مساعدة في التفكير أو جمع المعلومات وبين شخص متخصص مسؤول عن صحتك النفسية، فلازم نستخدم التكنولوجيا بوعي ونعرف حدودها قبل ما نعتمد عليها في قرارات أو جوانب حساسة في حياتنا.\n\n🟧 ضيف الحلقة هو:\nمصطفى مدحت الرئيس التنفيذي لشركة نايس دير\n🔸شاهد الحلقة على يوتيوب: https://youtu.be/1bsJMy85re0\n.\n🔶خليك ديماً متابع الجديد في مكان واحد وحمل تطبيق بزنس بالعربي👇\nhttps://m.mtrbio.com/BBA-Application\n\nهذه الحلقـــة برعايــــة:\n📌 \u200Eاورنچ بيزنس\n\nتابع الصفحة الرسمية لاورنچ بيزنس لخدمة جميع عملائها من قطاع الشركات، لتكن على اطلاع دائم بأحدث الحلول والعروض والخدمات المصممة خصيصًا لاحتياجات شركتك، على مدار الساعة.\n\n🟠Facebook\nhttps://www.facebook.com/OrangeBusinessEgypt\n🟠Instagram\nhttps://www.instagram.com/orangebusinessegypt\n\n📌 Hydepark Developments\nإحدى أبرز شركات التطوير العقاري في مصر، بخبرة تمتد لـ15 عامًا، ومحفظة مشروعات متنوعة تضم 8 تطويرات بحضور قوي في شمال وشرق وغرب القاهرة، زُر موقع Hydepark Developments من خلال https://www.hydeparkdevelopments.com/ar/who-we-are\n\n📌 CIB\u00A0\nكونك عميل CIB Business Banking يعني أنك تستفيد من أفضل المنتجات والحلول المالية وغير المالية، بالإضافة إلى خدمات مخصصة تلبي احتياجات شركتك، مع دعم مستمر يضمن لك راحة البال لتتمكن من التركيز على نمو أعمالك. وللتعرف على المزيد، أرسل كلمة \"بيزنس\" في رسالة نصية إلى الرقم 4435\nhttps://share.google/gdK9EUdVpgkNRVd28", "هل ChatGPT بيقول الحقيقة دايمًا؟ - مصطفى مدحت", "6cb86fee-bf08-4b32-9072-96450a4090e5", 83, false, "gXcpU2NDILM", "https://www.youtube.com/shorts/gXcpU2NDILM", 20, "/downloads/shorts/بزنس بالعربي (Business بالعربى )/بزنس بالعربي (Business بالعربى ) - 2026-03-03 - [gXcpU2NDILM].mp4", false, false, true, 115, [], 98, ~U[2026-03-03 17:17:03Z], ~U[2026-04-15 13:26:40Z], ~U[2026-04-15 13:26:40Z], "لذكاء الاصطناعي بيشتغل على احتمالات وأنماط كلام مش على تشخيص حقيقي، فممكن يطبطب عليك بكلام مريح لكنه مش بالضرورة يكون الأدق أو الأنسب لحالتك، وده فرق كبير بين أداة مساعدة في التفكير أو جمع المعلومات وبين شخص متخصص مسؤول عن صحتك النفسية، فلازم نستخدم التكنولوجيا بوعي ونعرف حدودها قبل ما نعتمد عليها في قرارات أو جوانب حساسة في حياتنا.\n\n🟧 ضيف الحلقة هو:\nمصطفى مدحت الرئيس التنفيذي لشركة نايس دير\n🔸شاهد الحلقة على يوتيوب: https://youtu.be/1bsJMy85re0\n.\n🔶خليك ديماً متابع الجديد في مكان واحد وحمل تطبيق بزنس بالعربي👇\nhttps://m.mtrbio.com/BBA-Application\n\nهذه الحلقـــة برعايــــة:\n📌 \u200Eاورنچ بيزنس\n\nتابع الصفحة الرسمية لاورنچ بيزنس لخدمة جميع عملائها من قطاع الشركات، لتكن على اطلاع دائم بأحدث الحلول والعروض والخدمات المصممة خصيصًا لاحتياجات شركتك، على مدار الساعة.\n\n🟠Facebook\nhttps://www.facebook.com/OrangeBusinessEgypt\n🟠Instagram\nhttps://www.instagram.com/orangebusinessegypt\n\n📌 Hydepark Developments\nإحدى أبرز شركات التطوير العقاري في مصر، بخبرة تمتد لـ15 عامًا، ومحفظة مشروعات متنوعة تضم 8 تطويرات بحضور قوي في شمال وشرق وغرب القاهرة، زُر موقع Hydepark Developments من خلال https://www.hydeparkdevelopments.com/ar/who-we-are\n\n📌 CIB\u00A0\nكونك عميل CIB Business Banking يعني أنك تستفيد من أفضل المنتجات والحلول المالية وغير المالية، بالإضافة إلى خدمات مخصصة تلبي احتياجات شركتك، مع دعم مستمر يضمن لك راحة البال لتتمكن من التركيز على نمو أعمالك. وللتعرف على المزيد، أرسل كلمة \"بيزنس\" في رسالة نصية إلى الرقم 4435\nhttps://share.google/gdK9EUdVpgkNRVd28", "هل ChatGPT بيقول الحقيقة دايمًا؟ - مصطفى مدحت", 83, false, "gXcpU2NDILM", "https://www.youtube.com/shorts/gXcpU2NDILM", "/downloads/shorts/بزنس بالعربي (Business بالعربى )/بزنس بالعربي (Business بالعربى ) - 2026-03-03 - [gXcpU2NDILM].mp4", true, 115, ~U[2026-03-03 17:17:03Z]] 13:26:40.322 [debug] QUERY OK source="sources" db=0.4ms idle=7.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [115] 13:26:40.324 [debug] QUERY OK source="media_items" db=1.7ms idle=6.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-02 19:26:46Z], 115] 13:26:40.325 [debug] QUERY OK source="media_items" db=1.1ms idle=7.5ms 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" ["لماذا تختار الشركات أدوات متخصصة؟\nليس الهدف هو استخدام أكبر عدد من الأدوات، بل استخدام الأداة التي تخدم تجربة العميل فعليًا.\nشركات كثيرة في مصراختارت Tactful AI لتساعد الفرق على العمل معًا بصورة أفضل، وتجمع بيانات لم تكن متاحة من قبل، وتحوّل آراء العملاء إلى معلومات يمكن البناء عليها.\n\nتابع السلسلة وانضم إلى مجتمع أثر تجربة العميل لتفهم تجربة العميل من زاويا عملية ..\n\nهذا المحتوى مُقدَّم من Tactful AI لمشاهدة الحلقة كاملة:\nرابط الحلقة: https://f.mtr.cool/shihdqjsmg\n\nتاكتفُل هي نظام ذكي لإدارة التواصل مع العملاء لفرق المبيعات وخدمة العملاء.\nللإنضمام لمجتمع تجربة العميل من تاكتفُل، استخدم الرابط:\nhttps://f.mtr.cool/oonnknzews\n\n#بزنس_بالعربي\u00A0\n#القيادة_تسبق_الطموح\n#TactfulAI", "البيع ليس نهاية الرحلة، بل بدايتها الحقيقية", "b7d86247-cddd-4a6d-b09e-31039f1db453", 47, false, "SYLVqAL4Quw", "https://www.youtube.com/shorts/SYLVqAL4Quw", 21, "/downloads/shorts/بزنس بالعربي (Business بالعربى )/بزنس بالعربي (Business بالعربى ) - 2026-03-02 - [SYLVqAL4Quw].mp4", false, false, true, 115, [], 98, ~U[2026-03-02 19:26:46Z], ~U[2026-04-15 13:26:40Z], ~U[2026-04-15 13:26:40Z], "لماذا تختار الشركات أدوات متخصصة؟\nليس الهدف هو استخدام أكبر عدد من الأدوات، بل استخدام الأداة التي تخدم تجربة العميل فعليًا.\nشركات كثيرة في مصراختارت Tactful AI لتساعد الفرق على العمل معًا بصورة أفضل، وتجمع بيانات لم تكن متاحة من قبل، وتحوّل آراء العملاء إلى معلومات يمكن البناء عليها.\n\nتابع السلسلة وانضم إلى مجتمع أثر تجربة العميل لتفهم تجربة العميل من زاويا عملية ..\n\nهذا المحتوى مُقدَّم من Tactful AI لمشاهدة الحلقة كاملة:\nرابط الحلقة: https://f.mtr.cool/shihdqjsmg\n\nتاكتفُل هي نظام ذكي لإدارة التواصل مع العملاء لفرق المبيعات وخدمة العملاء.\nللإنضمام لمجتمع تجربة العميل من تاكتفُل، استخدم الرابط:\nhttps://f.mtr.cool/oonnknzews\n\n#بزنس_بالعربي\u00A0\n#القيادة_تسبق_الطموح\n#TactfulAI", "البيع ليس نهاية الرحلة، بل بدايتها الحقيقية", 47, false, "SYLVqAL4Quw", "https://www.youtube.com/shorts/SYLVqAL4Quw", "/downloads/shorts/بزنس بالعربي (Business بالعربى )/بزنس بالعربي (Business بالعربى ) - 2026-03-02 - [SYLVqAL4Quw].mp4", true, 115, ~U[2026-03-02 19:26:46Z]] 13:26:40.326 [debug] QUERY OK source="sources" db=0.3ms idle=7.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [115] 13:26:40.328 [debug] QUERY OK source="media_items" db=1.8ms idle=5.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-27 20:21:00Z], 115] 13:26:40.330 [debug] QUERY OK source="media_items" db=1.1ms idle=6.7ms 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" ["البيع ليس نهاية الرحلة، بل بدايتها الحقيقية\n\nكثير من العلامات التجارية تخسر عملاءها ليس بسبب المنتج، بل بسبب ما يحدث بعد الشراء.\nخدمة ما بعد البيع هي ما تحدد هل سيعود العميل، أم ينتهي الأمر عند صفقة واحدة ..\n\nتابع السلسلة وانضم إلى مجتمع أثر تجربة العميل لفهم تجربة العميل كعلاقة طويلة الأمد لا كمعاملة مؤقتة.\n\n\nتابع السلسلة وانضم إلى مجتمع أثر تجربة العميل لفهم تجربة العميل كعلاقة طويلة الأمد لا كمعاملة مؤقتة\u00A0\n\nهذا المحتوى مُقدَّم من Tactful AI لمشاهدة الحلقة كاملة:\nرابط الحلقة: https://f.mtr.cool/shihdqjsmg\n\nتاكتفُل هي نظام ذكي لإدارة التواصل مع العملاء لفرق المبيعات وخدمة العملاء.\nللإنضمام لمجتمع تجربة العميل من تاكتفُل، استخدم الرابط:\nhttps://f.mtr.cool/oonnknzews\n\n#بزنس_بالعربي\u00A0\n#القيادة_تسبق_الطموح\n#TactfulAI", "البيع ليس نهاية الرحلة، بل بدايتها الحقيقية", "5f35e45b-ceec-4404-85cd-8188f9748f22", 31, false, "8uauFrxMZsM", "https://www.youtube.com/shorts/8uauFrxMZsM", 22, "/downloads/shorts/بزنس بالعربي (Business بالعربى )/بزنس بالعربي (Business بالعربى ) - 2026-02-27 - [8uauFrxMZsM].mp4", false, false, true, 115, [], 98, ~U[2026-02-27 20:21:00Z], ~U[2026-04-15 13:26:40Z], ~U[2026-04-15 13:26:40Z], "البيع ليس نهاية الرحلة، بل بدايتها الحقيقية\n\nكثير من العلامات التجارية تخسر عملاءها ليس بسبب المنتج، بل بسبب ما يحدث بعد الشراء.\nخدمة ما بعد البيع هي ما تحدد هل سيعود العميل، أم ينتهي الأمر عند صفقة واحدة ..\n\nتابع السلسلة وانضم إلى مجتمع أثر تجربة العميل لفهم تجربة العميل كعلاقة طويلة الأمد لا كمعاملة مؤقتة.\n\n\nتابع السلسلة وانضم إلى مجتمع أثر تجربة العميل لفهم تجربة العميل كعلاقة طويلة الأمد لا كمعاملة مؤقتة\u00A0\n\nهذا المحتوى مُقدَّم من Tactful AI لمشاهدة الحلقة كاملة:\nرابط الحلقة: https://f.mtr.cool/shihdqjsmg\n\nتاكتفُل هي نظام ذكي لإدارة التواصل مع العملاء لفرق المبيعات وخدمة العملاء.\nللإنضمام لمجتمع تجربة العميل من تاكتفُل، استخدم الرابط:\nhttps://f.mtr.cool/oonnknzews\n\n#بزنس_بالعربي\u00A0\n#القيادة_تسبق_الطموح\n#TactfulAI", "البيع ليس نهاية الرحلة، بل بدايتها الحقيقية", 31, false, "8uauFrxMZsM", "https://www.youtube.com/shorts/8uauFrxMZsM", "/downloads/shorts/بزنس بالعربي (Business بالعربى )/بزنس بالعربي (Business بالعربى ) - 2026-02-27 - [8uauFrxMZsM].mp4", true, 115, ~U[2026-02-27 20:21:00Z]] 13:26:40.331 [debug] QUERY OK source="sources" db=0.5ms 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" FROM "sources" AS s0 WHERE (s0."id" = ?) [115] 13:26:40.333 [debug] QUERY OK source="media_items" db=2.0ms idle=5.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-26 20:00:37Z], 115] 13:26:40.335 [debug] QUERY OK source="media_items" db=1.3ms idle=7.1ms 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" ["\"في نوعين من القرارات في حياتنا وشغلنا.. نوع بيكون واضح جدًا وبتعرف تاخده بالعقل والمنطق لأن كل المعطيات قدامك، ونوع تاني بيكون أصعب لأنه بيعتمد على خبرتك وفهمك وتقديرك للموقف وحتى إحساسك الداخلي، وده النوع اللي بيفرق فعلًا بين شخص عنده تجربة وشخص لسه في البداية.. القرارات الواضحة سهل أي حد ياخدها لكن القرارات اللي فيها ضبابية هي اللي بتكشف مستوى نضجك وفهمك وبتبني خبرتك مع الوقت \n\nمن حلقة:\n⦁ عمر الصاحي – المدير العام لشركة Amazon Egypt\n⦁ أيمن عباس – Rameda Pharma\n🔸شاهد الحلقة على يوتيوب\n🔸تنويه: نعتذر لكم عن بعض الأخطاء الفنيه المتعلقة بجودة الصوت، ونتمنى لكم الإستمتاع بمحتوى الحلقة.\n🟠تابعوا جميع حلقات Amazon.eg على جميع منصات بزنس بالعربي وأمازون وفعل الجرس علشان ما تفوتكش أي حلقة من الموسم الأول من بودكاست #من _ التانك _ لأمازون\u00A0 \n\n\n\n\n\n\n\"", "ليه بعض القرارات مبتبقاش سهلة؟ - عمر الصاحي", "691e2215-f21f-496e-b604-3147208180dd", 50, false, "gP1iCkiQDDc", "https://www.youtube.com/shorts/gP1iCkiQDDc", 23, "/downloads/shorts/بزنس بالعربي (Business بالعربى )/بزنس بالعربي (Business بالعربى ) - 2026-02-26 - [gP1iCkiQDDc].mp4", false, false, true, 115, [], 96, ~U[2026-02-26 20:00:37Z], ~U[2026-04-15 13:26:40Z], ~U[2026-04-15 13:26:40Z], "\"في نوعين من القرارات في حياتنا وشغلنا.. نوع بيكون واضح جدًا وبتعرف تاخده بالعقل والمنطق لأن كل المعطيات قدامك، ونوع تاني بيكون أصعب لأنه بيعتمد على خبرتك وفهمك وتقديرك للموقف وحتى إحساسك الداخلي، وده النوع اللي بيفرق فعلًا بين شخص عنده تجربة وشخص لسه في البداية.. القرارات الواضحة سهل أي حد ياخدها لكن القرارات اللي فيها ضبابية هي اللي بتكشف مستوى نضجك وفهمك وبتبني خبرتك مع الوقت \n\nمن حلقة:\n⦁ عمر الصاحي – المدير العام لشركة Amazon Egypt\n⦁ أيمن عباس – Rameda Pharma\n🔸شاهد الحلقة على يوتيوب\n🔸تنويه: نعتذر لكم عن بعض الأخطاء الفنيه المتعلقة بجودة الصوت، ونتمنى لكم الإستمتاع بمحتوى الحلقة.\n🟠تابعوا جميع حلقات Amazon.eg على جميع منصات بزنس بالعربي وأمازون وفعل الجرس علشان ما تفوتكش أي حلقة من الموسم الأول من بودكاست #من _ التانك _ لأمازون\u00A0 \n\n\n\n\n\n\n\"", "ليه بعض القرارات مبتبقاش سهلة؟ - عمر الصاحي", 50, false, "gP1iCkiQDDc", "https://www.youtube.com/shorts/gP1iCkiQDDc", "/downloads/shorts/بزنس بالعربي (Business بالعربى )/بزنس بالعربي (Business بالعربى ) - 2026-02-26 - [gP1iCkiQDDc].mp4", true, 115, ~U[2026-02-26 20:00:37Z]] 13:26:40.335 [debug] QUERY OK source="sources" db=0.3ms idle=6.9ms UPDATE "sources" SET "last_indexed_at" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-04-15 13:26:40Z], ~U[2026-04-15 13:26:40Z], 115] 13:26:40.338 [debug] QUERY OK source="media_items" db=2.1ms idle=6.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [115] 13:26:40.340 [debug] QUERY OK source="media_items" db=2.0ms idle=7.4ms SELECT count(*) FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [115] 13:26:40.341 [debug] QUERY OK source="media_items" db=0.5ms idle=7.4ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [115] 13:26:40.341 [info] No notification servers provided for source 115 13:26:40.344 [debug] QUERY OK source="tasks" db=0.4ms idle=5.5ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2192126, 115, ~U[2026-04-15 13:26:40Z], ~U[2026-04-15 13:26:40Z]] 13:26:40.344 [info] {"args":{"id":115},"id":2187224,"meta":{},"state":"success","max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","duration":380719701,"event":"job:stop","queue_time":44569,"attempt":1,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 13:26:41.176 [debug] Current batch of media processed. Will check again in 1000ms 13:26:42.177 [debug] Current batch of media processed. Will check again in 1000ms 13:26:43.178 [debug] Current batch of media processed. Will check again in 1000ms 13:26:43.282 [info] {"source":"oban","duration":18113,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:26:44.179 [debug] Current batch of media processed. Will check again in 1000ms 13:26:45.180 [debug] Current batch of media processed. Will check again in 1000ms 13:26:46.181 [debug] Current batch of media processed. Will check again in 1000ms 13:26:47.182 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "في \"بودكاست مع نايلة\"، يقدّم الدكتور ميشال مطران، جراح التجميل والترميم، مقاربة مختلفة لمفهوم الجمال: ليست المشكلة في المرآة، بل في النظرة القاسية إلى الذات.\n\nيوضح أن المرأة غالباً ما تكون أشدّ ناقدٍ لنفسها؛ تركّز على ما تغيّر بفعل الزمن أو بعد الأمومة، وتتجاهل ملامحها المضيئة. لذلك يبدأ العلاج، برأيه، من تبديل زاوية الرؤية: إبراز العناصر الجميلة بدل تكريس العيوب، تماماً كما يفعل الرسّام حين يسلّط الضوء على أقوى تفاصيل لوحته\n\nالحلقة الكاملة:https://youtu.be/RA1t8hzDt8w", "duration" => 107, "filename" => "/downloads/shorts/Podcast With Nayla#/Podcast With Nayla - 2026-02-13 - [7HQ0B6B-4eM].mp4", "id" => "7HQ0B6B-4eM", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/7HQ0B6B-4eM", "playlist_index" => 6, "timestamp" => 1771000440, "title" => "الجمال يبدأ بالمصالحة مع الذات", "upload_date" => "20260213"} 13:26:47.182 [debug] QUERY OK source="sources" db=0.2ms idle=1172.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" IN (?)) [180] 13:26:47.183 [debug] QUERY OK source="sources" db=0.1ms idle=1172.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" = ?) [180] 13:26:47.184 [debug] QUERY OK source="media_items" db=1.3ms idle=1029.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-13 16:34:00Z], 180] 13:26:47.186 [debug] QUERY OK source="media_items" db=1.1ms idle=175.1ms 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" ["في \"بودكاست مع نايلة\"، يقدّم الدكتور ميشال مطران، جراح التجميل والترميم، مقاربة مختلفة لمفهوم الجمال: ليست المشكلة في المرآة، بل في النظرة القاسية إلى الذات.\n\nيوضح أن المرأة غالباً ما تكون أشدّ ناقدٍ لنفسها؛ تركّز على ما تغيّر بفعل الزمن أو بعد الأمومة، وتتجاهل ملامحها المضيئة. لذلك يبدأ العلاج، برأيه، من تبديل زاوية الرؤية: إبراز العناصر الجميلة بدل تكريس العيوب، تماماً كما يفعل الرسّام حين يسلّط الضوء على أقوى تفاصيل لوحته\n\nالحلقة الكاملة:https://youtu.be/RA1t8hzDt8w", "الجمال يبدأ بالمصالحة مع الذات", "80ff8f4d-87cb-412a-92ed-2b3991303384", 107, false, "7HQ0B6B-4eM", "https://www.youtube.com/shorts/7HQ0B6B-4eM", 6, "/downloads/shorts/Podcast With Nayla#/Podcast With Nayla - 2026-02-13 - [7HQ0B6B-4eM].mp4", false, false, true, 180, [], 98, ~U[2026-02-13 16:34:00Z], ~U[2026-04-15 13:26:47Z], ~U[2026-04-15 13:26:47Z], "في \"بودكاست مع نايلة\"، يقدّم الدكتور ميشال مطران، جراح التجميل والترميم، مقاربة مختلفة لمفهوم الجمال: ليست المشكلة في المرآة، بل في النظرة القاسية إلى الذات.\n\nيوضح أن المرأة غالباً ما تكون أشدّ ناقدٍ لنفسها؛ تركّز على ما تغيّر بفعل الزمن أو بعد الأمومة، وتتجاهل ملامحها المضيئة. لذلك يبدأ العلاج، برأيه، من تبديل زاوية الرؤية: إبراز العناصر الجميلة بدل تكريس العيوب، تماماً كما يفعل الرسّام حين يسلّط الضوء على أقوى تفاصيل لوحته\n\nالحلقة الكاملة:https://youtu.be/RA1t8hzDt8w", "الجمال يبدأ بالمصالحة مع الذات", 107, false, "7HQ0B6B-4eM", "https://www.youtube.com/shorts/7HQ0B6B-4eM", "/downloads/shorts/Podcast With Nayla#/Podcast With Nayla - 2026-02-13 - [7HQ0B6B-4eM].mp4", true, 180, ~U[2026-02-13 16:34:00Z]] 13:26:47.187 [debug] QUERY OK source="sources" db=0.5ms idle=31.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" = ?) [180] 13:26:47.188 [debug] QUERY OK source="media_profiles" db=0.3ms idle=4.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 13:26:47.188 [debug] QUERY OK source="media_items" db=0.3ms idle=4.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4633067] 13:26:47.188 [debug] Current batch of media processed. Will check again in 1000ms 13:26:48.189 [debug] Current batch of media processed. Will check again in 1000ms 13:26:49.190 [debug] Current batch of media processed. Will check again in 1000ms 13:26:50.191 [debug] Current batch of media processed. Will check again in 1000ms 13:26:51.192 [debug] Current batch of media processed. Will check again in 1000ms 13:26:52.193 [debug] Current batch of media processed. Will check again in 1000ms 13:26:53.194 [debug] Current batch of media processed. Will check again in 1000ms 13:26:54.195 [debug] Current batch of media processed. Will check again in 1000ms 13:26:55.196 [debug] Current batch of media processed. Will check again in 1000ms 13:26:56.197 [debug] Current batch of media processed. Will check again in 1000ms 13:26:57.198 [debug] Current batch of media processed. Will check again in 1000ms 13:26:58.199 [debug] Current batch of media processed. Will check again in 1000ms 13:26:59.200 [debug] Current batch of media processed. Will check again in 1000ms 13:27:00.201 [debug] Current batch of media processed. Will check again in 1000ms 13:27:00.863 [info] {"source":"oban","duration":151,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:27:01.202 [debug] Current batch of media processed. Will check again in 1000ms 13:27:02.203 [debug] Current batch of media processed. Will check again in 1000ms 13:27:03.204 [debug] Current batch of media processed. Will check again in 1000ms 13:27:04.205 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "في \"بودكاست مع نايلة\"، يروي الدكتور ميشال مطران، جراح التجميل والترميم، فلسفته التي تتجاوز الشكل إلى العمق: عودته إلى لبنان بدافع الحب لا المصلحة، المراحل الثلاث التي شكّلت وعيه في الغربة، وإيمانه بأن الجمال يبدأ من الداخل ويُصان بحدود أخلاقية يرفض بموجبها 80% من الطلبات غير المنطقية.\n\nمن ترميم ضحايا السرطان وانفجار 4 آب، إلى الدعوة للطب الوقائي وإطالة العمر الصحي، يؤكد مطران أن الجراحة رسالة تعيد الهوية والأمل.\nرسالته للإنسان والمرأة والعالم تختصر بـ: \"الحياة قصيرة، فلنجعلها ذات معنى…\"\n\nالحلقة الكاملة: https://youtu.be/RA1t8hzDt8w", "duration" => 66, "filename" => "/downloads/shorts/Podcast With Nayla#/Podcast With Nayla - 2026-02-12 - [o6fydBSfyfM].mp4", "id" => "o6fydBSfyfM", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/o6fydBSfyfM", "playlist_index" => 7, "timestamp" => 1770915252, "title" => "الدكتور ميشال مطران ضيف \"بودكاست مع نايلة\"", "upload_date" => "20260212"} 13:27:04.205 [debug] QUERY OK source="sources" db=0.2ms 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" IN (?)) [180] 13:27:04.206 [debug] QUERY OK source="sources" db=0.2ms idle=1195.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" = ?) [180] 13:27:04.207 [debug] QUERY OK source="media_items" db=1.3ms idle=1033.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-12 16:54:12Z], 180] 13:27:04.209 [debug] QUERY OK source="media_items" db=1.1ms idle=197.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" ["في \"بودكاست مع نايلة\"، يروي الدكتور ميشال مطران، جراح التجميل والترميم، فلسفته التي تتجاوز الشكل إلى العمق: عودته إلى لبنان بدافع الحب لا المصلحة، المراحل الثلاث التي شكّلت وعيه في الغربة، وإيمانه بأن الجمال يبدأ من الداخل ويُصان بحدود أخلاقية يرفض بموجبها 80% من الطلبات غير المنطقية.\n\nمن ترميم ضحايا السرطان وانفجار 4 آب، إلى الدعوة للطب الوقائي وإطالة العمر الصحي، يؤكد مطران أن الجراحة رسالة تعيد الهوية والأمل.\nرسالته للإنسان والمرأة والعالم تختصر بـ: \"الحياة قصيرة، فلنجعلها ذات معنى…\"\n\nالحلقة الكاملة: https://youtu.be/RA1t8hzDt8w", "الدكتور ميشال مطران ضيف \"بودكاست مع نايلة\"", "609bb705-3ef5-4443-b801-f20c83f960d5", 66, false, "o6fydBSfyfM", "https://www.youtube.com/shorts/o6fydBSfyfM", 7, "/downloads/shorts/Podcast With Nayla#/Podcast With Nayla - 2026-02-12 - [o6fydBSfyfM].mp4", false, false, true, 180, [], 98, ~U[2026-02-12 16:54:12Z], ~U[2026-04-15 13:27:04Z], ~U[2026-04-15 13:27:04Z], "في \"بودكاست مع نايلة\"، يروي الدكتور ميشال مطران، جراح التجميل والترميم، فلسفته التي تتجاوز الشكل إلى العمق: عودته إلى لبنان بدافع الحب لا المصلحة، المراحل الثلاث التي شكّلت وعيه في الغربة، وإيمانه بأن الجمال يبدأ من الداخل ويُصان بحدود أخلاقية يرفض بموجبها 80% من الطلبات غير المنطقية.\n\nمن ترميم ضحايا السرطان وانفجار 4 آب، إلى الدعوة للطب الوقائي وإطالة العمر الصحي، يؤكد مطران أن الجراحة رسالة تعيد الهوية والأمل.\nرسالته للإنسان والمرأة والعالم تختصر بـ: \"الحياة قصيرة، فلنجعلها ذات معنى…\"\n\nالحلقة الكاملة: https://youtu.be/RA1t8hzDt8w", "الدكتور ميشال مطران ضيف \"بودكاست مع نايلة\"", 66, false, "o6fydBSfyfM", "https://www.youtube.com/shorts/o6fydBSfyfM", "/downloads/shorts/Podcast With Nayla#/Podcast With Nayla - 2026-02-12 - [o6fydBSfyfM].mp4", true, 180, ~U[2026-02-12 16:54:12Z]] 13:27:04.210 [debug] QUERY OK source="sources" db=0.3ms idle=36.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" = ?) [180] 13:27:04.210 [debug] QUERY OK source="media_profiles" db=0.3ms idle=4.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" = ?) [2] 13:27:04.211 [debug] QUERY OK source="media_items" db=0.3ms idle=4.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4633069] 13:27:04.211 [debug] Current batch of media processed. Will check again in 1000ms 13:27:05.212 [debug] Current batch of media processed. Will check again in 1000ms 13:27:06.213 [debug] Current batch of media processed. Will check again in 1000ms 13:27:07.214 [debug] Current batch of media processed. Will check again in 1000ms 13:27:08.186 [info] {"args":{"id":443},"id":2192089,"meta":{},"system_time":1776259628186173310,"max_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:27:08.186 [info] {"args":{"id":546},"id":2192090,"meta":{},"system_time":1776259628186233828,"max_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:27:08.186 [debug] QUERY OK source="sources" db=0.4ms idle=176.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" = ?) [443] 13:27:08.187 [debug] QUERY OK source="sources" db=0.4ms idle=176.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" = ?) [546] 13:27:08.187 [debug] QUERY OK source="settings" db=0.2ms idle=176.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:27:08.187 [debug] QUERY OK source="settings" db=0.4ms idle=8.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:27:08.187 [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" = ?) [2] 13:27:08.188 [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" = ?) [2] 13:27:08.188 [debug] QUERY OK source="settings" db=0.3ms 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 [] 13:27:08.188 [debug] Fetching recent media IDs from YouTube API for playlist: UUokgtRLAWKNPdfFMaSfLLbA 13:27:08.188 [debug] QUERY OK source="settings" db=0.3ms 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 [] 13:27:08.188 [debug] Fetching recent media IDs from YouTube API for playlist: UU452L96EaYLzAYTPAiRxKdA 13:27:08.189 [debug] QUERY OK source="settings" db=0.1ms queue=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 [] 13:27:08.189 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 13:27:08.189 [debug] QUERY OK source="settings" db=0.2ms 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 [] 13:27:08.189 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 13:27:08.215 [debug] Current batch of media processed. Will check again in 1000ms 13:27:09.216 [debug] Current batch of media processed. Will check again in 1000ms 13:27:10.217 [debug] Current batch of media processed. Will check again in 1000ms 13:27:11.004 [debug] QUERY OK source="media_items" db=1.2ms idle=992.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [443, "oD-QZSfOI5A", "2soSOj0KGN0", "nAbiXWcpC5k", "J6kw_Nka17Y", "e2IoGqWTX8s", "dtlPPLkCuG8", "ccc4EZfwyqg", "ZmemsVJRu3Q", "gVuzK2MUOy4", "jhtGF0DU-Us", "tdPeRTfPFug", "mYofjcnyeZM", "0tqpzvckxgU", "wp_lVw_Oemk", "_MQ322eFiM0", "PmpzFSPZmcU", "AZayZGnlOoc", "BDtCrgf6F6g", "e_3gcTBQa78", "TG58k-2U2wg", "Yf_zge2tHiw", "F7NHQ1rTVBw", "AZdFVvLhnbM", "1FJr-Rvlzfo", "-Uwz227DOXg", "xxBXGpIGDaU", "hZ4RSjsanf4", "CWuLASH1Hhg", "kxgmWGaaTSE", "p1mr39aRY1Q", "pFt6iqIug-E", "9n541lBjlso", "H8K-OVUzBP8", "UXtrfCEOPH0", "Tq6kuWhxY3k", "4sprHamH6sc", "wFO9Uo-aJJg", "M2goEYlN7wk", "6BH-hprkaBQ", "ZaVNjCXFcaQ", "__hPb3e-FK4", "Jxlr2hKwrys", "A6eWc8_bZtg", "ttgiRMWbm_s", "ENWcWveBkno", "8SU8mWL61Ek", "tcRaHb7HmAA", "o0aTw6Mv7lQ", "bbiAmRgZS1I", ...] 13:27:11.007 [debug] QUERY OK source="media_items" db=2.3ms 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 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [443] 13:27:11.008 [debug] QUERY OK source="tasks" db=0.2ms idle=825.3ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2192127, 443, ~U[2026-04-15 13:27:11Z], ~U[2026-04-15 13:27:11Z]] 13:27:11.009 [info] {"args":{"id":443},"id":2192089,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":2822854,"event":"job:stop","queue_time":599198,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:27:11.015 [info] {"args":{"id":408},"id":2192091,"meta":{},"system_time":1776259631015869178,"max_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:27:11.016 [debug] QUERY OK source="sources" db=0.4ms idle=7.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [408] 13:27:11.017 [debug] QUERY OK source="settings" db=0.2ms idle=8.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:27:11.017 [debug] QUERY OK source="media_profiles" db=0.2ms idle=8.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 13:27:11.018 [debug] QUERY OK source="settings" db=0.1ms idle=8.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:27:11.018 [debug] Fetching recent media IDs from YouTube API for playlist: UUN1b55nEWSpUH4dkJDbu24A 13:27:11.018 [debug] QUERY OK source="settings" db=0.1ms idle=2.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:27:11.018 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 13:27:11.218 [debug] Current batch of media processed. Will check again in 1000ms 13:27:11.533 [debug] QUERY OK source="media_items" db=1.3ms idle=514.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [546, "0d-Eo3MZIdo", "BH4YCJqDYlA", "_w6Dd9BP0C0", "euW7khacvEo", "WgBJZ1Ubsg0", "oE0vCmcN28s", "_mzQ8upmuMY", "1ypIFJz3jJw", "4ru4RjSiB98", "uMOtAsS4J3s", "Lt2M-jITUTg", "VVPOeq8vXtE", "U3zq72vSJog", "a947nJ7-Lvo", "U33HbFNz36o", "-wREg8baf4o", "f3AaiD26a6E", "cqxY60ckd9A", "o2kjrw3-kw8", "ekvQ83S0DAw", "D_Aw3z4ylsQ", "t7PTzeBUNeQ", "SeoEbrN765M", "lylZY9I_56U", "SH8Lz4NVxTc", "xX64EASCs8M", "PKrKsVzBbII", "wqU5gyoow7M", "eretrY5pnxQ", "SA0-0otEkfc", "pYj3D7t1QFk", "e8sKRE9Yt9U", "1ctTT71N7Ns", "19xtndufa6A", "WNLkyQFf4pM", "rqxHc4SgmUk", "21K3bNCgS-U", "-ybA8ZTcqcU", "gxZJ9yJjg_4", "CBk6n38J9bg", "oh5f3m8vsrs", "hMemXKyyX1o", "0sLgTRmSxII", "QDiGH9BiMwQ", "iAD8eVw6fSw", "VMCnDLDWz3A", "qivkxMSnNZc", "teq8bduREw8", "WC_DtGlrP-A", ...] 13:27:11.539 [debug] QUERY OK source="media_items" db=4.4ms idle=517.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")))) [546] 13:27:11.541 [debug] QUERY OK source="tasks" db=0.4ms idle=355.6ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2192128, 546, ~U[2026-04-15 13:27:11Z], ~U[2026-04-15 13:27:11Z]] 13:27:11.541 [info] {"args":{"id":546},"id":2192090,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":3355098,"event":"job:stop","queue_time":89190,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:27:11.549 [info] {"args":{"id":256},"id":2192092,"meta":{},"system_time":1776259631549273268,"max_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:27:11.550 [debug] QUERY OK source="sources" db=0.5ms idle=9.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [256] 13:27:11.550 [debug] QUERY OK source="settings" db=0.2ms 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 [] 13:27:11.551 [debug] QUERY OK source="media_profiles" db=0.2ms idle=9.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 13:27:11.551 [debug] QUERY OK source="settings" db=0.2ms idle=9.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:27:11.551 [debug] Fetching recent media IDs from YouTube API for playlist: UUKjuhDegX8XdpWCr6nvNHzA 13:27:11.551 [debug] QUERY OK source="settings" db=0.0ms idle=2.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:27:11.552 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 13:27:11.798 [debug] QUERY OK source="media_items" db=1.2ms idle=246.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [408, "60snLY1vA0E", "8pAhbBu7gEQ", "HdrrxdODQAA", "xKT3ecAfmFA", "YZO95dUHz3c", "Mp74vJFHTXM", "kJHttBFZxF0", "DmR_cT-8-hc", "SF2w4WoIFiM", "q_i5Q_JuqV8", "Ndx_mqpAlLE", "Ig5moNWc6Vg", "Kk40lncizgI", "ZcCyOkXZVjM", "c5LyWHDR8T8", "hMlhSujkKkk", "HSjwF2XIJdw", "_G5Eiyr8Qlo", "v7-lX7mNJ68", "HudMuosHMlo", "GKFSWYSGAoc", "svWkISzIjE4", "GrL4eRQxzcY", "1k3BfSt7mFI", "iyQOowSy4A8", "_wBp4fwp64E", "UcnxU-Nvp5o", "IKICkr0QDOg", "UKwdbZm6vWI", "95n7T6LSGTY", "x44wBLwVhQM", "NFTaRxu7pug", "a7SCBCJ4XIs", "BRFviE90sMY", "MgkuBaYfHLs", "KlJXxAtvjK0", "Wn-63J_jbSA", "dXXm7I0L8Dg", "kPnJgT8MklY", "vxA2Q_mrji4", "m-5OapnOgFM", "akPHdyMUl5M", "Zt6xVHfqseQ", "mk6FncB9cAA", "sbdzFS0t1zg", "BbTzZQTIwwg", "SZrqUGh_TbQ", "TXZpfFC90NQ", "SKo3F9Mr8ac", ...] 13:27:11.800 [debug] QUERY OK source="media_items" db=0.6ms idle=248.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")))) [408] 13:27:11.802 [debug] QUERY OK source="tasks" db=0.3ms idle=249.7ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2192129, 408, ~U[2026-04-15 13:27:11Z], ~U[2026-04-15 13:27:11Z]] 13:27:11.802 [info] {"args":{"id":408},"id":2192091,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":786271,"event":"job:stop","queue_time":2687578,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:27:11.809 [info] {"args":{"id":176},"id":2192093,"meta":{},"system_time":1776259631809060877,"max_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:27:11.809 [debug] QUERY OK source="sources" db=0.3ms idle=8.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [176] 13:27:11.810 [debug] QUERY OK source="settings" db=0.2ms idle=8.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:27:11.810 [debug] QUERY OK source="media_profiles" db=0.2ms idle=8.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 13:27:11.811 [debug] QUERY OK source="settings" db=0.3ms idle=8.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:27:11.811 [debug] Fetching recent media IDs from YouTube API for playlist: UU6F-j9LyXIK_zXY0gbYRjog 13:27:11.811 [debug] QUERY OK source="settings" db=0.1ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:27:11.811 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 13:27:12.130 [debug] QUERY OK source="media_items" db=1.2ms idle=319.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [256, "DWUkU2XDaoQ", "bVd27otzkEo", "F401cxKw1uU", "V87j3RfYskI", "RTSIfcIPHZ4", "r-6bh8Odx3k", "iEMNXXVqx7k", "2oeIvbhGdss", "sqk9bSoEIi0", "tw7_JSncn18", "Wyve63135Fk", "xOlkugUCHIQ", "ZOg-UTcOWUI", "tEwCDo5sX-g", "fJMNv2rp3Ws", "_TsErXjEPo0", "aRzn7h73ScM", "foX-0CXMqzc", "OrIJDRZ5yck", "vIY1jM73Wv8", "wk0VqC_Dp3U", "6CT5F2T1kuk", "WHEKWr_ikX0", "Nku_tw_1kfE", "x0x_PkTgmTY", "yd3ttzfK_d8", "qrLjOFq4CXQ", "TQOZbpfSpxY", "2KcmeqRBAe0", "RZ7eKXOcDZA", "fyLOfjJj4cU", "-tkxtoUZNb0", "0dLV8wNyw-k", "59Gjb5NFDVQ", "Txw1JLPYcmY", "H5BLR4XliT0", "g43xxBSEsWk", "ZBSrSI_ZUgc", "PI6qDflxIQg", "wHPDU9EoILs", "3QbyJoTM7VY", "PFckr4gh1BA", "qvU1PKff_sM", "sJzJsaWL88U", "gY9uPzofHhk", "uRXFS29DGLM", "RvxT0XEbgAg", "N3SukH8PqzM", "9hfJK_HQqho", ...] 13:27:12.132 [debug] QUERY OK source="media_items" db=1.1ms idle=321.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")))) [256] 13:27:12.135 [debug] QUERY OK source="tasks" db=0.3ms idle=4.9ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2192130, 256, ~U[2026-04-15 13:27:12Z], ~U[2026-04-15 13:27:12Z]] 13:27:12.136 [info] {"args":{"id":256},"id":2192092,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":586412,"event":"job:stop","queue_time":2917008,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:27:12.142 [info] {"args":{"id":548},"id":2192094,"meta":{},"system_time":1776259632142882822,"max_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:27:12.143 [debug] QUERY OK source="sources" db=0.2ms idle=8.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [548] 13:27:12.143 [debug] QUERY OK source="settings" db=0.2ms idle=8.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:27:12.144 [debug] QUERY OK source="media_profiles" db=0.2ms idle=8.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 13:27:12.144 [debug] QUERY OK source="settings" db=0.2ms idle=8.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:27:12.144 [debug] Fetching recent media IDs from YouTube API for playlist: UUKIe0D8roD7OIY6GUZey4kA 13:27:12.145 [debug] QUERY OK source="settings" db=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 [] 13:27:12.145 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 13:27:12.219 [debug] Current batch of media processed. Will check again in 1000ms 13:27:12.411 [debug] QUERY OK source="media_items" db=1.1ms idle=266.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [176, "VrP9i5gRFmM", "WEoJyqjOLDs", "V3MNyEwmqr8", "qhNxSY35WZU", "rkb-6qjO3YM", "r_NzVN4OmIs", "YTpf0mOXNrI", "oNyFz82BVzY", "rK_Mp0leQUk", "rOIPOkqFo4o", "s-yFsryoeeA", "vHIVeqvO4aQ", "knyKlUZIwYQ", "irSIienUQd4", "eM9SB2Ny8lc", "vqZ6zySlGOU", "UdkGF_z3Aks", "ZPeBeS87EeI", "s7Ajz6YL2ZE", "rWmx74av4x4", "tNXj29ZS0VY", "oISdxagKMBI", "RVo_ar7OSDk", "dFcdYCKkc3Q", "jJmOjPGDdHQ", "uNFmnch6DkU", "agDEZAVDYAU", "I-sJTe9u0j4", "v8e_tW3NX0Y", "qGe25_jFNQ0", "0pMIwYMKE9w", "5ZYWspIqYLw", "vHH0LheJQFs", "VFlYnIQiIUo", "xQtI8cE7Igc", "cDH4cPa7XJM", "6F93shePog0", "Vn0A4aUTSbY", "yU0CccqqaX0", "tEEfMkbYfUY", "8DRBW9BERJM", "Mo6Z427HkdA", "C_hN-U1qgUo", "ACz-TF_Ln-w", "EvO9y5iGN-U", "tqH-9fmPdI0", "DnW4gL41yQc", "VDVDUOJgS9s", "0_mxyqK3sDk", ...] 13:27:12.413 [debug] QUERY OK source="media_items" db=0.6ms idle=268.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")))) [176] 13:27:12.415 [debug] QUERY OK source="tasks" db=0.3ms idle=228.5ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2192131, 176, ~U[2026-04-15 13:27:12Z], ~U[2026-04-15 13:27:12Z]] 13:27:12.416 [info] {"args":{"id":176},"id":2192093,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":606770,"event":"job:stop","queue_time":2899713,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:27:12.423 [info] {"args":{"id":191},"id":2192095,"meta":{},"system_time":1776259632422997658,"max_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:27:12.423 [debug] QUERY OK source="sources" db=0.2ms idle=8.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [191] 13:27:12.424 [debug] QUERY OK source="settings" db=0.2ms idle=8.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:27:12.424 [debug] QUERY OK source="media_profiles" db=0.2ms idle=8.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 13:27:12.424 [debug] QUERY OK source="settings" db=0.2ms idle=8.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:27:12.425 [debug] Fetching recent media IDs from YouTube API for playlist: UUaA8WJj7rZtNb41Bb34tnTA 13:27:12.425 [debug] QUERY OK source="settings" db=0.1ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:27:12.425 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 13:27:12.721 [debug] QUERY OK source="media_items" db=1.3ms idle=296.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [548, "PfYHk-vjB_A", "2BuBWoUgyqk", "AAe4lJr8LMM", "f6a1cd0qIxk", "8CazQzCY3t4", "k_P0qA3sX5U", "sXQ4VA_qjEY", "Dp250ZKHJvk", "mPyaYSsntuQ", "fTqrxHYDV5I", "3sQXejmW6wI", "XJMyqh9XYjY", "lU_i_QnA1S4", "P2CObeRek_k", "UwhNyYKx5X0", "428okyYmv44", "6fqMb-oK-Xg", "mHjmfW7C5Uo", "bat3ptnzuc8", "ELACjXyUUtw", "IRUYXKvvbXU", "U8eH_biTWGw", "S5ontcrzHhU", "zybPVOUlIqM", "YjgY6OmtJLs", "dmyIkdPaWP8", "zlieCi6Tfsg", "5IgGWjGjOZc", "JR2faI1-OQU", "kpdNGZo3xQs", "L5VHg61PP5c", "HqM_WjUA12o", "bJgA5PhNu8M", "u4HpsaGxe_A", "wdJNBZvvtmA", "6nDTPvnPiy0", "LWpibL8P5B8", "F4eYz8hOg2g", "Vga4Xk3lkn0", "IWOLQphzwqA", "nKeMdr6iVts", "O29G6yd4URM", "m5qGxBjn1KM", "IYYcLFicyM8", "PfB9Sc92vYA", "ofLrgtXQLq4", "2cpOCFmVcvw", "KSbDk4A_DWc", "g2MNyRTZXIc", ...] 13:27:12.724 [debug] QUERY OK source="media_items" db=1.3ms idle=298.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")))) [548] 13:27:12.726 [debug] QUERY OK source="tasks" db=0.3ms idle=300.7ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2192132, 548, ~U[2026-04-15 13:27:12Z], ~U[2026-04-15 13:27:12Z]] 13:27:12.727 [info] {"args":{"id":548},"id":2192094,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":583730,"event":"job:stop","queue_time":2986974,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:27:13.141 [debug] QUERY OK source="media_items" db=1.3ms idle=414.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [191, "jZPBvl0cOVg", "JAPsrunU5Lg", "9Vx5IKgj6FE", "ISsGIXK0DAo", "Id20bd5X2iU", "x6VkSJy4HNw", "2IR8K7NYkNo", "_DKN9NK3Vg4", "gG7-BfNX30Q", "liy01fr1yBE", "Jlh8uBe7RFY", "9cXfBEwntzA", "qacVmM42e_o", "O4wwG8qBqXs", "1fBaNL_3JHs", "BzxEZMf3Rjc", "AvL2XPACjik", "tuWjvViGp4o", "hzy4lCK6rM8", "H0KL7u9cC1M", "8XEOshhKUPU", "rTXEC3VFqVo", "SNRZzKVH754", "eZEP7qSvMWQ", "DsbsadX-7Rw", "oNX2TzH926Q", "ClJpxV5rPkE", "5GGq9OhxbeY", "bZMwkPXAI-0", "aGAwKq2voMw", "A7Z9XghbCsE", "jBEX06n7cWQ", "UPbV21bn7Mg", "1UgURk7PuQg", "_vndBPsf0vQ", "0UJZmJzzLVI", "EUGuC62oYgg", "ABAOXlx_WuY", "4siwTxHoj5k", "IJthhi9-Ex4", "EL8VyinqjXI", "ElgT-WHpxvk", "XigqTb7Y5OQ", "RIT7GX_bO1Y", "3wQqHyMG3yo", "X6JeIE1t1pQ", "swJSgogb9ys", "DRZ6y0qceR4", "CS-oesi4GLs", ...] 13:27:13.144 [debug] QUERY OK source="media_items" db=2.5ms idle=416.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")))) [191] 13:27:13.147 [debug] QUERY OK source="tasks" db=0.3ms idle=412.5ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2192133, 191, ~U[2026-04-15 13:27:13Z], ~U[2026-04-15 13:27:13Z]] 13:27:13.147 [info] {"args":{"id":191},"id":2192095,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":724103,"event":"job:stop","queue_time":2444838,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:27:13.220 [debug] Current batch of media processed. Will check again in 1000ms 13:27:13.301 [info] {"source":"oban","duration":18057,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:27:14.221 [debug] Current batch of media processed. Will check again in 1000ms 13:27:15.222 [debug] Current batch of media processed. Will check again in 1000ms 13:27:16.223 [debug] Current batch of media processed. Will check again in 1000ms 13:27:17.224 [debug] Current batch of media processed. Will check again in 1000ms 13:27:18.225 [debug] Current batch of media processed. Will check again in 1000ms 13:27:19.226 [debug] Current batch of media processed. Will check again in 1000ms 13:27:20.227 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "زياد الشعّار، رجل الأعمال اللبناني ورئيس شركة Darglobal، يشاركنا دروسًا ثمينة في إدارة الوقت والحياة في برنامج “بودكاست مع نايلة”:\n“حياتنا قصيرة ووقتنا محدود، لذلك لا يمكن العمل لساعات طويلة بلا توقف. النجاح لا يأتي من إجهاد الذات، بل من التركيز على ما يؤثر فعليًا في النتائج، وعلى تطوير النفس والفريق.\"", "duration" => 111, "filename" => "/downloads/shorts/Podcast With Nayla#/Podcast With Nayla - 2026-02-08 - [tZZSPFMW5_o].mp4", "id" => "tZZSPFMW5_o", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/tZZSPFMW5_o", "playlist_index" => 8, "timestamp" => 1770570088, "title" => "زياد الشعّار: إدارة الوقت مفتاح النجاح", "upload_date" => "20260208"} 13:27:20.227 [debug] QUERY OK source="sources" db=0.2ms idle=1217.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" IN (?)) [180] 13:27:20.228 [debug] QUERY OK source="sources" db=0.1ms idle=1217.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" = ?) [180] 13:27:20.229 [debug] QUERY OK source="media_items" db=1.3ms idle=1218.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-08 17:01:28Z], 180] 13:27:20.231 [debug] QUERY OK source="media_items" db=0.9ms idle=1034.4ms 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" ["زياد الشعّار، رجل الأعمال اللبناني ورئيس شركة Darglobal، يشاركنا دروسًا ثمينة في إدارة الوقت والحياة في برنامج “بودكاست مع نايلة”:\n“حياتنا قصيرة ووقتنا محدود، لذلك لا يمكن العمل لساعات طويلة بلا توقف. النجاح لا يأتي من إجهاد الذات، بل من التركيز على ما يؤثر فعليًا في النتائج، وعلى تطوير النفس والفريق.\"", "زياد الشعّار: إدارة الوقت مفتاح النجاح", "8dd7e473-52e2-467e-8c22-4e54359f5dd1", 111, false, "tZZSPFMW5_o", "https://www.youtube.com/shorts/tZZSPFMW5_o", 8, "/downloads/shorts/Podcast With Nayla#/Podcast With Nayla - 2026-02-08 - [tZZSPFMW5_o].mp4", false, false, true, 180, [], 98, ~U[2026-02-08 17:01:28Z], ~U[2026-04-15 13:27:20Z], ~U[2026-04-15 13:27:20Z], "زياد الشعّار، رجل الأعمال اللبناني ورئيس شركة Darglobal، يشاركنا دروسًا ثمينة في إدارة الوقت والحياة في برنامج “بودكاست مع نايلة”:\n“حياتنا قصيرة ووقتنا محدود، لذلك لا يمكن العمل لساعات طويلة بلا توقف. النجاح لا يأتي من إجهاد الذات، بل من التركيز على ما يؤثر فعليًا في النتائج، وعلى تطوير النفس والفريق.\"", "زياد الشعّار: إدارة الوقت مفتاح النجاح", 111, false, "tZZSPFMW5_o", "https://www.youtube.com/shorts/tZZSPFMW5_o", "/downloads/shorts/Podcast With Nayla#/Podcast With Nayla - 2026-02-08 - [tZZSPFMW5_o].mp4", true, 180, ~U[2026-02-08 17:01:28Z]] 13:27:20.232 [debug] QUERY OK source="sources" db=1.0ms idle=34.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" = ?) [180] 13:27:20.233 [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" = ?) [2] 13:27:20.233 [debug] QUERY OK source="media_items" db=0.3ms idle=5.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 [4633071] 13:27:20.233 [debug] Current batch of media processed. Will check again in 1000ms 13:27:21.234 [debug] Current batch of media processed. Will check again in 1000ms 13:27:22.235 [debug] Current batch of media processed. Will check again in 1000ms 13:27:23.236 [debug] Current batch of media processed. Will check again in 1000ms 13:27:24.237 [debug] Current batch of media processed. Will check again in 1000ms 13:27:25.238 [debug] Current batch of media processed. Will check again in 1000ms 13:27:26.239 [debug] Current batch of media processed. Will check again in 1000ms 13:27:27.240 [debug] Current batch of media processed. Will check again in 1000ms 13:27:28.241 [debug] Current batch of media processed. Will check again in 1000ms 13:27:29.242 [debug] Current batch of media processed. Will check again in 1000ms 13:27:30.243 [debug] Current batch of media processed. Will check again in 1000ms 13:27:31.216 [info] {"args":{"id":116},"id":2192096,"meta":{},"system_time":1776259651216087882,"max_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:27:31.216 [debug] QUERY OK source="sources" db=0.2ms idle=1206.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" = ?) [116] 13:27:31.217 [debug] QUERY OK source="settings" db=0.2ms idle=1206.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:27:31.217 [debug] QUERY OK source="media_profiles" db=0.2ms idle=1009.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" = ?) [2] 13:27:31.217 [debug] QUERY OK source="settings" db=0.2ms idle=8.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:27:31.218 [debug] Fetching recent media IDs from YouTube API for playlist: UU4vo6vxydWDmBa84KMKhiXw 13:27:31.218 [debug] QUERY OK source="settings" db=0.1ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:27:31.218 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 13:27:31.244 [debug] Current batch of media processed. Will check again in 1000ms 13:27:32.020 [debug] QUERY OK source="media_items" db=1.3ms idle=802.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [116, "nytXL_VEGmw", "678MQRWDzLE", "kfMP1FlsZ-Y", "IB-kOvrzKX8", "TdtuOizJSew", "AQUU0tZDwfI", "Wn3MRd9Wuro", "S7DdtEy9Jgg", "CV5yz6G2Z9w", "q36ovsRziNo", "odjn_S9EIdQ", "FSsKyw-iEzY", "wjMtWMa1A80", "ABWJtxsG3eU", "k4XabFYYE7Q", "5pfiBaTNIsQ", "zRDynSEI6Fk", "iD1AGYL4bR0", "t-8_25lfMJM", "Oe_TXmyWqJ8", "0NzC4S1dgM0", "9cULliuD6nE", "EDO5ReEwdio", "XdeqVSzgy2U", "TTAXcbQpEaE", "ECAr_67wdPM", "LLacJ65FK6Y", "muI5rDkVn3A", "EbMCcAmbOOo", "IkKAj4Ki2sc", "SSGgoLGe4tY", "BT7x8jDjP_0", "duHnTnv43l8", "qWRjcOH3A38", "sZeBxpZHl_8", "269E9Qg_TJ8", "K5TDrxiDhmg", "phQpyBEcPbM", "y20UfhdVbKY", "ProjJh_PVb4", "U35NNywKWkw", "HvjbSZ1jNpQ", "ab3H7nqA4iQ", "8Fg9GartJlE", "52y4kIvGb5s", "Q8yBHGBwAnc", "rFtQq4npWC4", "5LTTw4DBUwQ", "IhN1EwbuSJE", ...] 13:27:32.028 [debug] QUERY OK source="media_items" db=6.0ms idle=804.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")))) [116] 13:27:32.030 [debug] QUERY OK source="tasks" db=0.3ms idle=811.4ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2192134, 116, ~U[2026-04-15 13:27:32Z], ~U[2026-04-15 13:27:32Z]] 13:27:32.030 [info] {"args":{"id":116},"id":2192096,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":814236,"event":"job:stop","queue_time":544973,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:27:32.245 [debug] Current batch of media processed. Will check again in 1000ms 13:27:33.246 [debug] Current batch of media processed. Will check again in 1000ms 13:27:33.961 [info] GET / 13:27:33.961 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 13:27:33.961 [debug] QUERY OK source="settings" db=0.3ms idle=1931.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:27:33.962 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1931.2ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 13:27:33.962 [debug] QUERY OK source="sources" db=0.1ms idle=1923.9ms SELECT count(s0."id") FROM "sources" AS s0 [] 13:27:34.086 [debug] QUERY OK source="media_items" db=123.6ms idle=1751.5ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 13:27:34.106 [debug] QUERY OK source="media_items" db=19.8ms idle=873.4ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 13:27:34.106 [debug] QUERY OK source="settings" db=0.1ms idle=144.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:27:34.107 [debug] QUERY OK source="settings" db=0.0ms idle=144.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:27:34.107 [debug] QUERY OK source="settings" db=0.0ms idle=145.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:27:34.108 [debug] QUERY OK source="tasks" db=0.1ms idle=22.1ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 13:27:34.109 [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" = ?) [180] 13:27:34.144 [debug] QUERY OK source="media_items" db=34.4ms 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 (m0."media_filepath" IS NULL)) [] 13:27:34.144 [debug] QUERY OK source="media_items" db=0.3ms idle=37.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 13:27:34.145 [debug] QUERY OK source="sources" db=0.1ms idle=37.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 (?,?,?)) [290, 219, 115] 13:27:34.247 [debug] Current batch of media processed. Will check again in 1000ms 13:27:34.297 [debug] QUERY OK source="media_items" db=151.4ms idle=37.3ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 13:27:34.310 [debug] QUERY OK source="media_items" db=12.7ms idle=153.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:27:34.311 [debug] QUERY OK source="sources" db=0.2ms idle=166.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 (?,?,?,?)) [304, 168, 149, 256] 13:27:34.312 [info] Sent 200 in 351ms 13:27:35.248 [debug] Current batch of media processed. Will check again in 1000ms 13:27:36.249 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "في هذه الحلقة من البودكاست، تستضيف نايلة تويني رجل الأعمال اللبناني والرئيس التنفيذي لشركة Darglobal، زياد الشعّار، في حوار عميق وصريح يتناول مسيرته المهنية، وفلسفته في بناء الشركات، وتجربته الشخصية التي شكّلت نظرته إلى القيادة والنجاح.\n\nالبودكاست الكامل عبر يوتيوب \"Podcast With Nayla\"", "duration" => 71, "filename" => "/downloads/shorts/Podcast With Nayla#/Podcast With Nayla - 2026-02-05 - [EaME4ObIqgI].mp4", "id" => "EaME4ObIqgI", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/EaME4ObIqgI", "playlist_index" => 9, "timestamp" => 1770310820, "title" => "زياد الشعّار ضيف \"بودكاست مع نايلة\"", "upload_date" => "20260205"} 13:27:36.249 [debug] QUERY OK source="sources" db=0.2ms idle=239.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" IN (?)) [180] 13:27:36.250 [debug] QUERY OK source="sources" db=0.1ms idle=239.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" = ?) [180] 13:27:36.253 [debug] QUERY OK source="media_items" db=2.5ms idle=240.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-05 17:00:20Z], 180] 13:27:36.258 [debug] QUERY OK source="media_items" db=5.0ms idle=243.2ms 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" ["في هذه الحلقة من البودكاست، تستضيف نايلة تويني رجل الأعمال اللبناني والرئيس التنفيذي لشركة Darglobal، زياد الشعّار، في حوار عميق وصريح يتناول مسيرته المهنية، وفلسفته في بناء الشركات، وتجربته الشخصية التي شكّلت نظرته إلى القيادة والنجاح.\n\nالبودكاست الكامل عبر يوتيوب \"Podcast With Nayla\"", "زياد الشعّار ضيف \"بودكاست مع نايلة\"", "ad5d3fdb-db00-4f44-9ff1-6fa5b4c56773", 71, false, "EaME4ObIqgI", "https://www.youtube.com/shorts/EaME4ObIqgI", 9, "/downloads/shorts/Podcast With Nayla#/Podcast With Nayla - 2026-02-05 - [EaME4ObIqgI].mp4", false, false, true, 180, [], 98, ~U[2026-02-05 17:00:20Z], ~U[2026-04-15 13:27:36Z], ~U[2026-04-15 13:27:36Z], "في هذه الحلقة من البودكاست، تستضيف نايلة تويني رجل الأعمال اللبناني والرئيس التنفيذي لشركة Darglobal، زياد الشعّار، في حوار عميق وصريح يتناول مسيرته المهنية، وفلسفته في بناء الشركات، وتجربته الشخصية التي شكّلت نظرته إلى القيادة والنجاح.\n\nالبودكاست الكامل عبر يوتيوب \"Podcast With Nayla\"", "زياد الشعّار ضيف \"بودكاست مع نايلة\"", 71, false, "EaME4ObIqgI", "https://www.youtube.com/shorts/EaME4ObIqgI", "/downloads/shorts/Podcast With Nayla#/Podcast With Nayla - 2026-02-05 - [EaME4ObIqgI].mp4", true, 180, ~U[2026-02-05 17:00:20Z]] 13:27:36.259 [debug] QUERY OK source="sources" db=0.3ms idle=40.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [180] 13:27:36.262 [debug] QUERY OK source="media_profiles" db=2.7ms idle=9.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 13:27:36.268 [debug] QUERY OK source="media_items" db=5.4ms idle=12.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 [4633073] 13:27:36.268 [debug] Current batch of media processed. Will check again in 1000ms 13:27:37.269 [debug] Current batch of media processed. Will check again in 1000ms 13:27:37.870 [info] GET /sources/256/media/4696524 13:27:37.871 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "4696524", "prevent_download" => "true", "source_id" => "256"} Pipelines: [:browser] 13:27:37.871 [debug] QUERY OK source="media_items" db=0.2ms idle=1612.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" = ?) [4696524] 13:27:37.872 [debug] QUERY OK source="tasks" db=0.2ms idle=1612.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" [4696524] 13:27:37.872 [debug] QUERY OK source="sources" db=0.3ms idle=1609.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" = ?) [256] 13:27:37.872 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=1604.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" = ?) [2183060] 13:27:37.873 [debug] QUERY OK source="settings" db=0.1ms 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 [] 13:27:37.873 [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 [] 13:27:37.874 [debug] QUERY OK source="settings" db=0.1ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:27:37.875 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 13:27:37.876 [info] Sent 200 in 5ms 13:27:38.270 [debug] Current batch of media processed. Will check again in 1000ms 13:27:39.271 [debug] Current batch of media processed. Will check again in 1000ms 13:27:39.557 [info] GET /sources/267/media/4396394 13:27:39.558 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "4396394", "prevent_download" => "true", "source_id" => "267"} Pipelines: [:browser] 13:27:39.558 [debug] QUERY OK source="media_items" db=0.1ms idle=547.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" = ?) [4396394] 13:27:39.559 [debug] QUERY OK source="tasks" db=0.2ms idle=548.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" [4396394] 13:27:39.559 [debug] QUERY OK source="sources" db=0.3ms idle=548.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" = ?) [267] 13:27:39.559 [debug] QUERY OK source="settings" db=0.1ms idle=549.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:27:39.560 [debug] QUERY OK source="settings" db=0.1ms idle=337.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:27:39.560 [debug] QUERY OK source="settings" db=0.1ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:27:39.561 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:27:39.563 [info] Sent 200 in 5ms 13:27:40.272 [debug] Current batch of media processed. Will check again in 1000ms 13:27:41.273 [debug] Current batch of media processed. Will check again in 1000ms 13:27:42.274 [debug] Current batch of media processed. Will check again in 1000ms 13:27:43.275 [debug] Current batch of media processed. Will check again in 1000ms 13:27:43.323 [info] {"source":"oban","duration":21169,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:27:44.276 [debug] Current batch of media processed. Will check again in 1000ms 13:27:45.277 [debug] Current batch of media processed. Will check again in 1000ms 13:27:46.278 [debug] Current batch of media processed. Will check again in 1000ms 13:27:47.279 [debug] Current batch of media processed. Will check again in 1000ms 13:27:48.280 [debug] Current batch of media processed. Will check again in 1000ms 13:27:49.281 [debug] Current batch of media processed. Will check again in 1000ms 13:27:50.282 [debug] Current batch of media processed. Will check again in 1000ms 13:27:51.283 [debug] Current batch of media processed. Will check again in 1000ms 13:27:52.284 [debug] Current batch of media processed. Will check again in 1000ms 13:27:53.285 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "في حلقة جديدة من “بودكاست مع نايلة” تستضيف #نايلة_تويني الرئيس التنفيذي لشركة دار جلوبال ورئيس مجلس إدارة شركة Wasalt زياد الشعار \n\nيمكنكم مشاهدة الحلقة الكاملة الخميس 5 شباط، الساعة 19:00 بتوقيت بيروت, عبر قناة “Podcast with Nayla” على يوتيوب.", "duration" => 37, "filename" => "/downloads/shorts/Podcast With Nayla#/Podcast With Nayla - 2026-02-04 - [IgU2FxlNQ5I].mp4", "id" => "IgU2FxlNQ5I", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/IgU2FxlNQ5I", "playlist_index" => 10, "timestamp" => 1770223132, "title" => "زياد الشعار ضيف “بودكاست مع نايلة”", "upload_date" => "20260204"} 13:27:53.285 [debug] QUERY OK source="sources" db=0.2ms idle=275.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" IN (?)) [180] 13:27:53.286 [debug] QUERY OK source="sources" db=0.1ms idle=275.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" = ?) [180] 13:27:53.287 [debug] QUERY OK source="media_items" db=1.3ms idle=276.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-04 16:38:52Z], 180] 13:27:53.289 [debug] QUERY OK source="media_items" db=0.8ms idle=278.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" ["في حلقة جديدة من “بودكاست مع نايلة” تستضيف #نايلة_تويني الرئيس التنفيذي لشركة دار جلوبال ورئيس مجلس إدارة شركة Wasalt زياد الشعار \n\nيمكنكم مشاهدة الحلقة الكاملة الخميس 5 شباط، الساعة 19:00 بتوقيت بيروت, عبر قناة “Podcast with Nayla” على يوتيوب.", "زياد الشعار ضيف “بودكاست مع نايلة”", "de65fb03-863d-4966-b0ae-c7a0bce03788", 37, false, "IgU2FxlNQ5I", "https://www.youtube.com/shorts/IgU2FxlNQ5I", 10, "/downloads/shorts/Podcast With Nayla#/Podcast With Nayla - 2026-02-04 - [IgU2FxlNQ5I].mp4", false, false, true, 180, [], 98, ~U[2026-02-04 16:38:52Z], ~U[2026-04-15 13:27:53Z], ~U[2026-04-15 13:27:53Z], "في حلقة جديدة من “بودكاست مع نايلة” تستضيف #نايلة_تويني الرئيس التنفيذي لشركة دار جلوبال ورئيس مجلس إدارة شركة Wasalt زياد الشعار \n\nيمكنكم مشاهدة الحلقة الكاملة الخميس 5 شباط، الساعة 19:00 بتوقيت بيروت, عبر قناة “Podcast with Nayla” على يوتيوب.", "زياد الشعار ضيف “بودكاست مع نايلة”", 37, false, "IgU2FxlNQ5I", "https://www.youtube.com/shorts/IgU2FxlNQ5I", "/downloads/shorts/Podcast With Nayla#/Podcast With Nayla - 2026-02-04 - [IgU2FxlNQ5I].mp4", true, 180, ~U[2026-02-04 16:38:52Z]] 13:27:53.289 [debug] QUERY OK source="sources" db=0.3ms idle=52.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" = ?) [180] 13:27:53.290 [debug] QUERY OK source="media_profiles" db=0.2ms idle=4.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 13:27:53.290 [debug] QUERY OK source="media_items" db=0.3ms idle=4.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4633074] 13:27:53.291 [debug] Current batch of media processed. Will check again in 1000ms 13:27:54.292 [debug] Current batch of media processed. Will check again in 1000ms 13:27:55.293 [debug] Current batch of media processed. Will check again in 1000ms 13:27:56.294 [debug] Current batch of media processed. Will check again in 1000ms 13:27:57.295 [debug] Current batch of media processed. Will check again in 1000ms 13:27:58.296 [debug] Current batch of media processed. Will check again in 1000ms 13:27:59.297 [debug] Current batch of media processed. Will check again in 1000ms 13:28:00.298 [debug] Current batch of media processed. Will check again in 1000ms 13:28:00.864 [info] {"source":"oban","duration":176,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:28:01.122 [info] GET /sources/346/media/4702250/edit 13:28:01.122 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "4702250", "source_id" => "346"} Pipelines: [:browser] 13:28:01.123 [debug] QUERY OK source="media_items" db=0.2ms idle=877.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" = ?) [4702250] 13:28:01.123 [debug] QUERY OK source="settings" db=0.1ms idle=259.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:28:01.123 [debug] QUERY OK source="settings" db=0.1ms idle=113.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:28:01.124 [debug] QUERY OK source="settings" db=0.2ms idle=113.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:28:01.125 [info] Sent 200 in 3ms 13:28:01.245 [info] GET /sources/256/media/4696524/edit 13:28:01.245 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "4696524", "source_id" => "256"} Pipelines: [:browser] 13:28:01.246 [debug] QUERY OK source="media_items" db=0.3ms idle=122.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [4696524] 13:28:01.246 [debug] QUERY OK source="settings" db=0.1ms idle=122.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:28:01.246 [debug] QUERY OK source="settings" db=0.1ms idle=122.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:28:01.247 [debug] QUERY OK source="settings" db=0.1ms idle=122.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:28:01.248 [info] Sent 200 in 3ms 13:28:01.299 [debug] Current batch of media processed. Will check again in 1000ms 13:28:02.300 [debug] Current batch of media processed. Will check again in 1000ms 13:28:03.301 [debug] Current batch of media processed. Will check again in 1000ms 13:28:04.302 [debug] Current batch of media processed. Will check again in 1000ms 13:28:05.258 [info] {"args":{"id":398},"id":2192097,"meta":{},"system_time":1776259685258129890,"max_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:28:05.258 [debug] QUERY OK source="sources" db=0.2ms idle=248.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" = ?) [398] 13:28:05.259 [debug] QUERY OK source="settings" db=0.2ms idle=248.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:28:05.259 [debug] QUERY OK source="media_profiles" db=0.2ms idle=249.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" = ?) [2] 13:28:05.263 [debug] QUERY OK source="settings" db=3.6ms 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 [] 13:28:05.263 [debug] Fetching recent media IDs from YouTube API for playlist: UUCbIqqUYqlvskcT4UJKgp0A 13:28:05.263 [debug] QUERY OK source="settings" db=0.1ms idle=5.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:28:05.263 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 13:28:05.303 [debug] Current batch of media processed. Will check again in 1000ms 13:28:05.630 [debug] QUERY OK source="media_items" db=1.4ms idle=370.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [398, "TMMZYc9IgDA", "17sWgRsYQqY", "ZpjrNISTUh0", "NEeBdV2GB8U", "6UEKxr0CjGg", "NWCVD7myp4o", "MhK3gfLvTNw", "eEHajx5JzSs", "I4XkUPlVuNA", "BBHjfuE8uYc", "oaummeIbyiE", "IAYtkgRgV1o", "4zhXB40pfuQ", "O0-9r7OeVjg", "BR1SZVInqnw", "7wBlas-p7zU", "xEHgIoiu8WU", "2zWSjk5Vqn8", "7xtXhYC1oLM", "8bg5pYHU1rU", "StfQN_0vmWs", "kSuw_nrQou0", "--cc1UnTZOM", "v02AjJzWA5c", "gTuMrWqxe7s", "p-v9j1CbD5s", "3YFqKJeDWQk", "X5EsXmOGxkQ", "zkCjl4vhiVI", "QBLbqY5Ea-U", "p1Ca3rBtM_0", "80PF1Vatv4o", "cof4ynZjXTg", "aNEFg5WCC_s", "1l8S9eDgjms", "fQG9_ZWhmps", "mG6ZDr2-_0E", "SGZJHTfLUFY", "sIbaqt6JzeU", "YTFHrYqpmDA", "EggNQNf4-xg", "SDmB0xlDdw0", "d55qkSwiDEo", "75tg3p5h8K8", "NN-DFa3l_xs", "ICTzn9oQJjQ", "lGi0YQw2FHw", "uo6mStUoJjc", "fYOGrcWS7vk", ...] 13:28:05.633 [debug] QUERY OK source="media_items" db=1.9ms idle=372.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")))) [398] 13:28:05.635 [debug] QUERY OK source="tasks" db=0.3ms idle=371.3ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2192135, 398, ~U[2026-04-15 13:28:05Z], ~U[2026-04-15 13:28:05Z]] 13:28:05.636 [info] {"args":{"id":398},"id":2192097,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":377546,"event":"job:stop","queue_time":460548,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:28:06.304 [debug] Current batch of media processed. Will check again in 1000ms 13:28:07.305 [debug] Current batch of media processed. Will check again in 1000ms 13:28:08.306 [debug] Current batch of media processed. Will check again in 1000ms 13:28:09.307 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "في هذا المقطع من “بودكاست مع نايلة”، يتحدث الفنان العراقي والمهندس المعماري والخطاط طه الهيتي عن تأثير طفولته وبيئته العائلية في تشكيل شخصيته الفنية. يكشف كيف أن نشأته بين ثلاث شقيقات أسهمت في تنمية حسّه الفني ونظرته للتفاصيل، وكيف بدأت علاقته بالرسم والخط منذ الصغر، حتى قبل أن يتعلّم القراءة.\n\nالبودكاست الكامل عبر يوتيوب \"Podcast With Nayla\"", "duration" => 100, "filename" => "/downloads/shorts/Podcast With Nayla#/Podcast With Nayla - 2026-01-30 - [9Vxqvh6lAE4].mp4", "id" => "9Vxqvh6lAE4", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/9Vxqvh6lAE4", "playlist_index" => 11, "timestamp" => 1769792423, "title" => "طه الهيتي: نظرة المرأة صنعت بدايتي الفنية", "upload_date" => "20260130"} 13:28:09.307 [debug] QUERY OK source="sources" db=0.2ms idle=297.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [180] 13:28:09.308 [debug] QUERY OK source="sources" db=0.3ms idle=297.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" = ?) [180] 13:28:09.310 [debug] QUERY OK source="media_items" db=1.3ms idle=298.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-30 17:00:23Z], 180] 13:28:09.311 [debug] QUERY OK source="media_items" db=1.1ms idle=300.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" ["في هذا المقطع من “بودكاست مع نايلة”، يتحدث الفنان العراقي والمهندس المعماري والخطاط طه الهيتي عن تأثير طفولته وبيئته العائلية في تشكيل شخصيته الفنية. يكشف كيف أن نشأته بين ثلاث شقيقات أسهمت في تنمية حسّه الفني ونظرته للتفاصيل، وكيف بدأت علاقته بالرسم والخط منذ الصغر، حتى قبل أن يتعلّم القراءة.\n\nالبودكاست الكامل عبر يوتيوب \"Podcast With Nayla\"", "طه الهيتي: نظرة المرأة صنعت بدايتي الفنية", "c743ee3f-e72c-4eba-80cc-d4052ba45e0c", 100, false, "9Vxqvh6lAE4", "https://www.youtube.com/shorts/9Vxqvh6lAE4", 11, "/downloads/shorts/Podcast With Nayla#/Podcast With Nayla - 2026-01-30 - [9Vxqvh6lAE4].mp4", false, false, true, 180, [], 98, ~U[2026-01-30 17:00:23Z], ~U[2026-04-15 13:28:09Z], ~U[2026-04-15 13:28:09Z], "في هذا المقطع من “بودكاست مع نايلة”، يتحدث الفنان العراقي والمهندس المعماري والخطاط طه الهيتي عن تأثير طفولته وبيئته العائلية في تشكيل شخصيته الفنية. يكشف كيف أن نشأته بين ثلاث شقيقات أسهمت في تنمية حسّه الفني ونظرته للتفاصيل، وكيف بدأت علاقته بالرسم والخط منذ الصغر، حتى قبل أن يتعلّم القراءة.\n\nالبودكاست الكامل عبر يوتيوب \"Podcast With Nayla\"", "طه الهيتي: نظرة المرأة صنعت بدايتي الفنية", 100, false, "9Vxqvh6lAE4", "https://www.youtube.com/shorts/9Vxqvh6lAE4", "/downloads/shorts/Podcast With Nayla#/Podcast With Nayla - 2026-01-30 - [9Vxqvh6lAE4].mp4", true, 180, ~U[2026-01-30 17:00:23Z]] 13:28:09.312 [debug] QUERY OK source="sources" db=0.2ms idle=56.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" = ?) [180] 13:28:09.312 [debug] QUERY OK source="media_profiles" db=0.2ms 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" = ?) [2] 13:28:09.313 [debug] QUERY OK source="media_items" db=0.3ms idle=4.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4633076] 13:28:09.313 [debug] Current batch of media processed. Will check again in 1000ms 13:28:10.314 [debug] Current batch of media processed. Will check again in 1000ms 13:28:11.315 [debug] Current batch of media processed. Will check again in 1000ms 13:28:12.316 [debug] Current batch of media processed. Will check again in 1000ms 13:28:13.317 [debug] Current batch of media processed. Will check again in 1000ms 13:28:13.342 [info] {"source":"oban","duration":17879,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:28:14.318 [debug] Current batch of media processed. Will check again in 1000ms 13:28:15.319 [debug] Current batch of media processed. Will check again in 1000ms 13:28:16.320 [debug] Current batch of media processed. Will check again in 1000ms 13:28:17.321 [debug] Current batch of media processed. Will check again in 1000ms 13:28:18.274 [info] {"args":{"id":411},"id":2192098,"meta":{},"system_time":1776259698274591788,"max_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:28:18.275 [debug] QUERY OK source="sources" db=0.2ms idle=1264.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" = ?) [411] 13:28:18.275 [debug] QUERY OK source="settings" db=0.2ms 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 [] 13:28:18.276 [debug] QUERY OK source="media_profiles" db=0.2ms idle=1010.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" = ?) [2] 13:28:18.276 [debug] QUERY OK source="settings" db=0.2ms idle=9.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:28:18.276 [debug] Fetching recent media IDs from YouTube API for playlist: UUDItXi7_EXg4AEviycQNaLQ 13:28:18.276 [debug] QUERY OK source="settings" db=0.1ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:28:18.277 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 13:28:18.322 [debug] Current batch of media processed. Will check again in 1000ms 13:28:18.569 [debug] QUERY OK source="media_items" db=1.3ms 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 WHERE ((m0."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [411, "JuDij37WcMQ", "rfg7AvtzW-w", "9D2z-swZk04", "z8Yxq-sXAEY", "M9BoVFGH0RY", "t8d0ZZmhz0U", "-yt8Js4ud6A", "4dW9FV5t4Yo", "ATPqDugamkY", "AXV7sIoRgkM", "TMmET7MMEYk", "fAXX1Gaj5XA", "s-1LQGqIeyM", "Td5Sf4q51bk", "QRrz7bLpg5Q", "iKP4LnL6Iy0", "EO4McLmPyJQ", "Ir9G5100kN0", "gA_5V8GkswQ", "Bq2dgjvq74I", "u7Q0hVQPYkE", "VH2u9XmsStE", "WC5MwjCb-m4", "UDCNa698Jrk", "hba6Wln8hFY", "ap2i_nGoQ4c", "UWGhRXAqpAA", "XeMCi0Np7cI", "4z4pMvSEcb0", "GvXJejZfMdY", "E0XS1NX_tcQ", "0q7aRwmrbtg", "CUmm-3krENA", "2rZzuysCjmg", "sbN8KmyhtQk", "d6rZg1_QO_M", "4PSn3m7r7O8", "W_yHf301OD0", "88HufGqVfCU", "FAbVG6RVX-M", "5oMDMqp8aNg", "7trWvdh3-xM", "EmvBf7NJPDo", "AfD6sytM9e8", "rckwoxIA8zI", "DC9ihJ9j8tg", "i8M4cmPln74", "aY6KSMYwGhA", "FITQe52CL6k", ...] 13:28:18.576 [debug] QUERY OK source="media_items" db=5.2ms idle=295.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")))) [411] 13:28:18.578 [debug] QUERY OK source="tasks" db=0.3ms idle=300.7ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2192136, 411, ~U[2026-04-15 13:28:18Z], ~U[2026-04-15 13:28:18Z]] 13:28:18.578 [info] {"args":{"id":411},"id":2192098,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":303573,"event":"job:stop","queue_time":416769,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:28:19.323 [debug] Current batch of media processed. Will check again in 1000ms 13:28:20.278 [info] {"args":{"id":174},"id":2192099,"meta":{},"system_time":1776259700278185880,"max_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:28:20.278 [debug] QUERY OK source="sources" db=0.3ms idle=268.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" = ?) [174] 13:28:20.279 [debug] QUERY OK source="settings" db=0.3ms idle=268.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:28:20.280 [debug] QUERY OK source="media_profiles" db=0.3ms idle=269.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" = ?) [2] 13:28:20.280 [debug] QUERY OK source="settings" db=0.2ms idle=8.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:28:20.280 [debug] Fetching recent media IDs from YouTube API for playlist: UUgh7hDxRUy44n2C0fpuweuA 13:28:20.280 [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 [] 13:28:20.281 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 13:28:20.324 [debug] Current batch of media processed. Will check again in 1000ms 13:28:20.679 [debug] QUERY OK source="media_items" db=1.2ms idle=398.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [174, "mnC32YQtLaM", "jFCnvX91Mf4", "ZBliwo9EBTQ", "ZtWxlUBlUeo", "O_YT14LOkV8", "vYkXCwBxaWk", "GQMcWcp7iII", "PM2hH6k6FAI", "OnPyArQdyqU", "yTmwiByqRB4", "2R_i6g6M1mU", "h6D3xHSmiN0", "LinnkM4bD5s", "mdTPRWg-mDY", "TNWDyRo9sgE", "jHQ67V9Qb_Y", "6KE_NGb5aQY", "9rxm1nOYr8U", "ALNHb-rmLqA", "5LZmm3G4abs", "hdGp9pZRWkE", "1-1VVVYCDxY", "PGgqj8Oc8qc", "BrRSe7jghBo", "ByP2G4j7jWE", "5bz0UaSzhe8", "OeUKShLLZoo", "PW3wFLy8tTM", "nY_bmBNlXO4", "nHoIck64yfU", "Ua1t9a59osg", "4Ipt1YC6Rsk", "Z0BjSmk8gCY", "Dz55V0-TnsE", "YXP5BmHMuJ8", "TSCLkDgFNis", "uwCW0TMNShU", "tBg3xMaUV7I", "Bj43Cq2_Wds", "361tk2e_sQc", "2W-0YlJUzHE", "YmvxFHR1Upg", "_ERvQbE6Qcg", "JKKOKWe6WUY", "h9ZvZQR8S6Q", "fw5S0jLGyw0", "Q9K5nuhZXso", "sOfyTqif9yg", "_4saIvJyiZY", ...] 13:28:20.683 [debug] QUERY OK source="media_items" db=3.1ms idle=400.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")))) [174] 13:28:20.685 [debug] QUERY OK source="tasks" db=0.2ms idle=404.2ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2192137, 174, ~U[2026-04-15 13:28:20Z], ~U[2026-04-15 13:28:20Z]] 13:28:20.686 [info] {"args":{"id":174},"id":2192099,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":407387,"event":"job:stop","queue_time":329897,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:28:21.325 [debug] Current batch of media processed. Will check again in 1000ms 13:28:22.326 [debug] Current batch of media processed. Will check again in 1000ms 13:28:23.327 [debug] Current batch of media processed. Will check again in 1000ms 13:28:24.328 [debug] Current batch of media processed. Will check again in 1000ms 13:28:25.329 [debug] Current batch of media processed. Will check again in 1000ms 13:28:26.330 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "في حلقة مميّزة من \"بودكاست مع نايلة\"، يشارك الفنان والمهندس المعماري والخطاط العراقي طه الهيتي رؤيته الفلسفية للحياة، حيث يعرّف نفسه أولاً كإنسان قبل أي لقب. من العمارة إلى الخط، ومن الحروب إلى الحرية، حديث صادق عن الجمال، التجربة، الإيقاع، والنقد… ولماذا يرى أن الخط هو \"الموسيقى المقروءة\"", "duration" => 54, "filename" => "/downloads/shorts/Podcast With Nayla#/Podcast With Nayla - 2026-01-29 - [XEq2xbU7muI].mp4", "id" => "XEq2xbU7muI", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/XEq2xbU7muI", "playlist_index" => 12, "timestamp" => 1769706142, "title" => "طه الهيتي في \"بودكاست مع نايلة\"", "upload_date" => "20260129"} 13:28:26.331 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=320.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" IN (?)) [180] 13:28:26.331 [debug] QUERY OK source="sources" db=0.1ms idle=321.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" = ?) [180] 13:28:26.333 [debug] QUERY OK source="media_items" db=1.2ms idle=321.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-29 17:02:22Z], 180] 13:28:26.334 [debug] QUERY OK source="media_items" db=0.9ms idle=323.1ms 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" ["في حلقة مميّزة من \"بودكاست مع نايلة\"، يشارك الفنان والمهندس المعماري والخطاط العراقي طه الهيتي رؤيته الفلسفية للحياة، حيث يعرّف نفسه أولاً كإنسان قبل أي لقب. من العمارة إلى الخط، ومن الحروب إلى الحرية، حديث صادق عن الجمال، التجربة، الإيقاع، والنقد… ولماذا يرى أن الخط هو \"الموسيقى المقروءة\"", "طه الهيتي في \"بودكاست مع نايلة\"", "f844346f-19e8-4c50-ae1c-4d462d0bab81", 54, false, "XEq2xbU7muI", "https://www.youtube.com/shorts/XEq2xbU7muI", 12, "/downloads/shorts/Podcast With Nayla#/Podcast With Nayla - 2026-01-29 - [XEq2xbU7muI].mp4", false, false, true, 180, [], 98, ~U[2026-01-29 17:02:22Z], ~U[2026-04-15 13:28:26Z], ~U[2026-04-15 13:28:26Z], "في حلقة مميّزة من \"بودكاست مع نايلة\"، يشارك الفنان والمهندس المعماري والخطاط العراقي طه الهيتي رؤيته الفلسفية للحياة، حيث يعرّف نفسه أولاً كإنسان قبل أي لقب. من العمارة إلى الخط، ومن الحروب إلى الحرية، حديث صادق عن الجمال، التجربة، الإيقاع، والنقد… ولماذا يرى أن الخط هو \"الموسيقى المقروءة\"", "طه الهيتي في \"بودكاست مع نايلة\"", 54, false, "XEq2xbU7muI", "https://www.youtube.com/shorts/XEq2xbU7muI", "/downloads/shorts/Podcast With Nayla#/Podcast With Nayla - 2026-01-29 - [XEq2xbU7muI].mp4", true, 180, ~U[2026-01-29 17:02:22Z]] 13:28:26.335 [debug] QUERY OK source="sources" db=0.3ms idle=55.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" = ?) [180] 13:28:26.335 [debug] QUERY OK source="media_profiles" db=0.2ms idle=4.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 13:28:26.336 [debug] QUERY OK source="media_items" db=0.3ms idle=4.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4633078] 13:28:26.336 [debug] Current batch of media processed. Will check again in 1000ms 13:28:27.337 [debug] Current batch of media processed. Will check again in 1000ms 13:28:28.338 [debug] Current batch of media processed. Will check again in 1000ms 13:28:29.339 [debug] Current batch of media processed. Will check again in 1000ms 13:28:30.340 [debug] Current batch of media processed. Will check again in 1000ms 13:28:31.341 [debug] Current batch of media processed. Will check again in 1000ms 13:28:32.342 [debug] Current batch of media processed. Will check again in 1000ms 13:28:33.343 [debug] Current batch of media processed. Will check again in 1000ms 13:28:34.056 [info] GET /sources/297/media/2804187 13:28:34.056 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "2804187", "prevent_download" => "true", "source_id" => "297"} Pipelines: [:browser] 13:28:34.057 [debug] QUERY OK source="media_items" db=0.2ms 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" = ?) [2804187] 13:28:34.057 [debug] QUERY OK source="tasks" db=0.1ms idle=47.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" [2804187] 13:28:34.057 [debug] QUERY OK source="sources" db=0.3ms idle=47.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" = ?) [297] 13:28:34.058 [debug] QUERY OK source="settings" db=0.1ms idle=47.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:28:34.058 [debug] QUERY OK source="settings" db=0.2ms idle=48.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:28:34.059 [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 [] 13:28:34.060 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 13:28:34.061 [info] Sent 200 in 5ms 13:28:34.344 [debug] Current batch of media processed. Will check again in 1000ms 13:28:35.345 [debug] Current batch of media processed. Will check again in 1000ms 13:28:36.346 [debug] Current batch of media processed. Will check again in 1000ms 13:28:37.347 [debug] Current batch of media processed. Will check again in 1000ms 13:28:38.348 [debug] Current batch of media processed. Will check again in 1000ms 13:28:39.349 [debug] Current batch of media processed. Will check again in 1000ms 13:28:40.350 [debug] Current batch of media processed. Will check again in 1000ms 13:28:41.351 [debug] Current batch of media processed. Will check again in 1000ms 13:28:42.352 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "في حلقة جديدة من “بودكاست مع نايلة” تستضيف #نايلة_تويني الفنان العراقي والمهندس المعماري والخطاط طه الهيتي \n\nيمكنكم مشاهدة الحلقة الكاملة الخميس 29 كانون الثاني، الساعة 19:00 بتوقيت بيروت, عبر قناة “Podcast with Nayla” على يوتيوب.", "duration" => 33, "filename" => "/downloads/shorts/Podcast With Nayla#/Podcast With Nayla - 2026-01-28 - [188ISWckW04].mp4", "id" => "188ISWckW04", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/188ISWckW04", "playlist_index" => 13, "timestamp" => 1769621485, "title" => "طه الهيتي ضيف “بودكاست مع نايلة”", "upload_date" => "20260128"} 13:28:42.352 [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" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [180] 13:28:42.353 [debug] QUERY OK source="sources" db=0.1ms idle=342.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" = ?) [180] 13:28:42.354 [debug] QUERY OK source="media_items" db=1.3ms idle=343.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-28 17:31:25Z], 180] 13:28:42.356 [debug] QUERY OK source="media_items" db=0.8ms idle=344.8ms 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" ["في حلقة جديدة من “بودكاست مع نايلة” تستضيف #نايلة_تويني الفنان العراقي والمهندس المعماري والخطاط طه الهيتي \n\nيمكنكم مشاهدة الحلقة الكاملة الخميس 29 كانون الثاني، الساعة 19:00 بتوقيت بيروت, عبر قناة “Podcast with Nayla” على يوتيوب.", "طه الهيتي ضيف “بودكاست مع نايلة”", "c85316f9-cf4f-47ac-ab13-0f5db8ff7688", 33, false, "188ISWckW04", "https://www.youtube.com/shorts/188ISWckW04", 13, "/downloads/shorts/Podcast With Nayla#/Podcast With Nayla - 2026-01-28 - [188ISWckW04].mp4", false, false, true, 180, [], 98, ~U[2026-01-28 17:31:25Z], ~U[2026-04-15 13:28:42Z], ~U[2026-04-15 13:28:42Z], "في حلقة جديدة من “بودكاست مع نايلة” تستضيف #نايلة_تويني الفنان العراقي والمهندس المعماري والخطاط طه الهيتي \n\nيمكنكم مشاهدة الحلقة الكاملة الخميس 29 كانون الثاني، الساعة 19:00 بتوقيت بيروت, عبر قناة “Podcast with Nayla” على يوتيوب.", "طه الهيتي ضيف “بودكاست مع نايلة”", 33, false, "188ISWckW04", "https://www.youtube.com/shorts/188ISWckW04", "/downloads/shorts/Podcast With Nayla#/Podcast With Nayla - 2026-01-28 - [188ISWckW04].mp4", true, 180, ~U[2026-01-28 17:31:25Z]] 13:28:42.356 [debug] QUERY OK source="sources" db=0.3ms idle=53.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" = ?) [180] 13:28:42.357 [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" = ?) [2] 13:28:42.358 [debug] QUERY OK source="media_items" db=0.3ms idle=4.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4633080] 13:28:42.358 [debug] Current batch of media processed. Will check again in 1000ms 13:28:43.359 [debug] Current batch of media processed. Will check again in 1000ms 13:28:43.360 [info] {"source":"oban","duration":17829,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:28:44.360 [debug] Current batch of media processed. Will check again in 1000ms 13:28:45.361 [debug] Current batch of media processed. Will check again in 1000ms 13:28:46.362 [debug] Current batch of media processed. Will check again in 1000ms 13:28:47.363 [debug] Current batch of media processed. Will check again in 1000ms 13:28:48.364 [debug] Current batch of media processed. Will check again in 1000ms 13:28:49.365 [debug] Current batch of media processed. Will check again in 1000ms 13:28:50.366 [debug] Current batch of media processed. Will check again in 1000ms 13:28:51.367 [debug] Current batch of media processed. Will check again in 1000ms 13:28:52.199 [info] GET /sources/304/media/4630732/force_download 13:28:52.200 [debug] QUERY OK source="settings" db=0.2ms idle=1189.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:28:52.200 [debug] QUERY OK source="settings" db=0.1ms idle=887.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:28:52.200 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 13:28:52.201 [error] #PID<0.6197.0> running PinchflatWeb.Endpoint (connection #PID<0.6196.0>, stream id 1) terminated Server: jak.hibeex.com:80 (http) Request: GET /sources/304/media/4630732/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/304/media/4630732/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.6196.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/304/media/4630732/force_download", host: "jak.hibeex.com", peer: {{172, 22, 0, 1}, 43052}, bindings: %{}, sock: {{172, 22, 0, 4}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "connection" => "close", "host" => "jak.hibeex.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.63", "x-forwarded-proto" => "https", "x-real-ip" => "216.73.216.63" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "jak.hibeex.com", method: "GET", owner: #PID<0.6197.0>, params: %{}, path_info: ["sources", "304", "media", "4630732", "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://jak.hibeex.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 22, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"connection", "close"}, {"host", "jak.hibeex.com"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"x-forwarded-for", "216.73.216.63"}, {"x-forwarded-proto", "https"}, {"x-real-ip", "216.73.216.63"} ], request_path: "/sources/304/media/4630732/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKaK0L6Vf13WHWUAA_4B"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.6196.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/304/media/4630732/force_download", host: "jak.hibeex.com", peer: {{172, 22, 0, 1}, 43052}, bindings: %{}, sock: {{172, 22, 0, 4}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "connection" => "close", "host" => "jak.hibeex.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.63", "x-forwarded-proto" => "https", "x-real-ip" => "216.73.216.63" }, method: "GET", body_length: 0, path_info: :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/304/media/4630732/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.6196.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/304/media/4630732/force_download", host: "jak.hibeex.com", peer: {{172, 22, 0, 1}, 43052}, bindings: %{}, sock: {{172, 22, 0, 4}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "connection" => "close", "host" => "jak.hibeex.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.63", "x-forwarded-proto" => "https", "x-real-ip" => "216.73.216.63" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "jak.hibeex.com", method: "GET", owner: #PID<0.6197.0>, params: %{}, path_info: ["sources", "304", "media", "4630732", "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://jak.hibeex.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 22, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"connection", "close"}, {"host", "jak.hibeex.com"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"x-forwarded-for", "216.73.216.63"}, {"x-forwarded-proto", "https"}, {"x-real-ip", "216.73.216.63"} ], request_path: "/sources/304/media/4630732/force_download", resp_body: nil, resp_cookies: (truncated) 13:28:52.314 [info] GET /sources/304/media/4630728/force_download 13:28:52.314 [debug] QUERY OK source="settings" db=0.3ms idle=304.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:28:52.315 [debug] QUERY OK source="settings" db=0.3ms 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 [] 13:28:52.315 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 13:28:52.315 [error] #PID<0.6199.0> running PinchflatWeb.Endpoint (connection #PID<0.6198.0>, stream id 1) terminated Server: jak.hibeex.com:80 (http) Request: GET /sources/304/media/4630728/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/304/media/4630728/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.6198.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/304/media/4630728/force_download", host: "jak.hibeex.com", peer: {{172, 22, 0, 1}, 43060}, bindings: %{}, sock: {{172, 22, 0, 4}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "connection" => "close", "host" => "jak.hibeex.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.63", "x-forwarded-proto" => "https", "x-real-ip" => "216.73.216.63" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "jak.hibeex.com", method: "GET", owner: #PID<0.6199.0>, params: %{}, path_info: ["sources", "304", "media", "4630728", "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://jak.hibeex.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 22, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"connection", "close"}, {"host", "jak.hibeex.com"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"x-forwarded-for", "216.73.216.63"}, {"x-forwarded-proto", "https"}, {"x-real-ip", "216.73.216.63"} ], request_path: "/sources/304/media/4630728/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKaK0MVrxLRJGo0AA_6B"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.6198.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/304/media/4630728/force_download", host: "jak.hibeex.com", peer: {{172, 22, 0, 1}, 43060}, bindings: %{}, sock: {{172, 22, 0, 4}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "connection" => "close", "host" => "jak.hibeex.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.63", "x-forwarded-proto" => "https", "x-real-ip" => "216.73.216.63" }, method: "GET", body_length: 0, path_info: :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/304/media/4630728/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.6198.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/304/media/4630728/force_download", host: "jak.hibeex.com", peer: {{172, 22, 0, 1}, 43060}, bindings: %{}, sock: {{172, 22, 0, 4}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "connection" => "close", "host" => "jak.hibeex.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.63", "x-forwarded-proto" => "https", "x-real-ip" => "216.73.216.63" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "jak.hibeex.com", method: "GET", owner: #PID<0.6199.0>, params: %{}, path_info: ["sources", "304", "media", "4630728", "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://jak.hibeex.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 22, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"connection", "close"}, {"host", "jak.hibeex.com"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"x-forwarded-for", "216.73.216.63"}, {"x-forwarded-proto", "https"}, {"x-real-ip", "216.73.216.63"} ], request_path: "/sources/304/media/4630728/force_download", resp_body: nil, resp_cookies: (truncated) 13:28:52.368 [debug] Current batch of media processed. Will check again in 1000ms 13:28:53.369 [debug] Current batch of media processed. Will check again in 1000ms 13:28:54.370 [debug] Current batch of media processed. Will check again in 1000ms 13:28:55.371 [debug] Current batch of media processed. Will check again in 1000ms 13:28:56.372 [debug] Current batch of media processed. Will check again in 1000ms 13:28:57.373 [debug] Current batch of media processed. Will check again in 1000ms 13:28:58.374 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "في هذا المقطع من “بودكاست مع نايلة”، يتحدث الفنان التشكيلي السعودي راشد الشعشعي عن مفهوم الإدهاش في الفن، مؤكداً أن العمل الفني لا يكتمل إلا بتفاعل الجمهور معه. \n\nالبودكاست الكامل عبر يوتيوب \"Podcast With Nayla\"", "duration" => 120, "filename" => "/downloads/shorts/Podcast With Nayla#/Podcast With Nayla - 2026-01-25 - [JCdYv1q5nWg].mp4", "id" => "JCdYv1q5nWg", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/JCdYv1q5nWg", "playlist_index" => 14, "timestamp" => 1769360426, "title" => "العمل الفني لا يصبح فناً إلا بتفاعل الجمهور", "upload_date" => "20260125"} 13:28:58.374 [debug] QUERY OK source="sources" db=0.2ms idle=364.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" IN (?)) [180] 13:28:58.375 [debug] QUERY OK source="sources" db=0.1ms idle=364.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" = ?) [180] 13:28:58.376 [debug] QUERY OK source="media_items" db=1.2ms idle=365.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-25 17:00:26Z], 180] 13:28:58.378 [debug] QUERY OK source="media_items" db=0.8ms idle=366.7ms 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" ["في هذا المقطع من “بودكاست مع نايلة”، يتحدث الفنان التشكيلي السعودي راشد الشعشعي عن مفهوم الإدهاش في الفن، مؤكداً أن العمل الفني لا يكتمل إلا بتفاعل الجمهور معه. \n\nالبودكاست الكامل عبر يوتيوب \"Podcast With Nayla\"", "العمل الفني لا يصبح فناً إلا بتفاعل الجمهور", "085bed3e-c529-414d-9297-0f321188baca", 120, false, "JCdYv1q5nWg", "https://www.youtube.com/shorts/JCdYv1q5nWg", 14, "/downloads/shorts/Podcast With Nayla#/Podcast With Nayla - 2026-01-25 - [JCdYv1q5nWg].mp4", false, false, true, 180, [], 98, ~U[2026-01-25 17:00:26Z], ~U[2026-04-15 13:28:58Z], ~U[2026-04-15 13:28:58Z], "في هذا المقطع من “بودكاست مع نايلة”، يتحدث الفنان التشكيلي السعودي راشد الشعشعي عن مفهوم الإدهاش في الفن، مؤكداً أن العمل الفني لا يكتمل إلا بتفاعل الجمهور معه. \n\nالبودكاست الكامل عبر يوتيوب \"Podcast With Nayla\"", "العمل الفني لا يصبح فناً إلا بتفاعل الجمهور", 120, false, "JCdYv1q5nWg", "https://www.youtube.com/shorts/JCdYv1q5nWg", "/downloads/shorts/Podcast With Nayla#/Podcast With Nayla - 2026-01-25 - [JCdYv1q5nWg].mp4", true, 180, ~U[2026-01-25 17:00:26Z]] 13:28:58.378 [debug] QUERY OK source="sources" db=0.3ms idle=55.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" = ?) [180] 13:28:58.379 [debug] QUERY OK source="media_profiles" db=0.3ms idle=3.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 13:28:58.379 [debug] QUERY OK source="media_items" db=0.3ms idle=4.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4633082] 13:28:58.379 [debug] Current batch of media processed. Will check again in 1000ms 13:28:59.380 [debug] Current batch of media processed. Will check again in 1000ms 13:29:00.381 [debug] Current batch of media processed. Will check again in 1000ms 13:29:00.865 [info] {"source":"oban","duration":119,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:29:01.382 [debug] Current batch of media processed. Will check again in 1000ms 13:29:02.383 [debug] Current batch of media processed. Will check again in 1000ms 13:29:03.384 [debug] Current batch of media processed. Will check again in 1000ms 13:29:04.385 [debug] Current batch of media processed. Will check again in 1000ms 13:29:05.386 [debug] Current batch of media processed. Will check again in 1000ms 13:29:06.387 [debug] Current batch of media processed. Will check again in 1000ms 13:29:07.388 [debug] Current batch of media processed. Will check again in 1000ms 13:29:08.389 [debug] Current batch of media processed. Will check again in 1000ms 13:29:09.390 [debug] Current batch of media processed. Will check again in 1000ms 13:29:10.391 [debug] Current batch of media processed. Will check again in 1000ms 13:29:11.345 [info] {"args":{"id":100},"id":2192100,"meta":{},"system_time":1776259751345158063,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:29:11.345 [debug] QUERY OK source="sources" db=0.3ms idle=1335.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" = ?) [100] 13:29:11.346 [debug] QUERY OK source="settings" db=0.2ms idle=1335.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:29:11.346 [debug] QUERY OK source="media_profiles" db=0.2ms idle=1009.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" = ?) [2] 13:29:11.347 [debug] QUERY OK source="settings" db=0.8ms idle=8.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:29:11.348 [debug] Fetching recent media IDs from YouTube API for playlist: UUe5eYsugVJLzIF_JALMiXzQ 13:29:11.348 [debug] QUERY OK source="settings" db=0.1ms idle=3.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:29:11.348 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 13:29:11.392 [debug] Current batch of media processed. Will check again in 1000ms 13:29:11.662 [debug] QUERY OK source="media_items" db=1.1ms idle=315.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [100, "251xUyoUFwg", "N2ipy5JDalQ", "kwb-PhsCYBs", "MsrYWuItd7M", "E_sH2dN0kLg", "e0KZ0IHrG38", "dqX4Wzvq6sE", "izbcjE3AhD8", "cSdsZhAlfJI", "hvvYmjS_A90", "eicfPUdBAuo", "d_L6gomAhAg", "IiDMkKhe71A", "NkjKnpUUYmU", "NzW9fg2vgpA", "egrx1u5F1V4", "fmBdaL3VqEY", "_lN_Qri648M", "97Q6zfv-jk4", "3FL4GzxXxOc", "cQyXgxGMkcc", "rBdx1qmknhU", "61v3sPjKngk", "dyQ2TD5i6LQ", "iC1_GDcfYM8", "1i-bNe1xx14", "ZB9QJ_bJO2Y", "-ddV4twx7dE", "19GEQhlOxzE", "6GsO5ByqFkE", "47qCdYJCmKo", "d6nWvWpnwP8", "8uApOUjCOe4", "9eJgR2PLrGo", "UVShufL4rRA", "ypbB3IZvnLs", "0Dkjqs3zg6A", "szU5BDthN00", "zHNFzLaRD74", "3osfwVYvr9Q", "6MQOSazKIBM", "65YPmUwlpOg", "1kxUvL8EOXM", "EZbTesfSMkw", "d9mbd0b-7YM", "Jd2q_DsdbmQ", "yPzBBP5JzxI", "8aig78KaZiA", "7gEvgXFd1Vg", ...] 13:29:11.665 [debug] QUERY OK source="media_items" db=1.5ms idle=317.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")))) [100] 13:29:11.683 [debug] QUERY OK source="tasks" db=16.9ms idle=318.1ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2192138, 100, ~U[2026-04-15 13:29:11Z], ~U[2026-04-15 13:29:11Z]] 13:29:11.687 [info] {"args":{"id":100},"id":2192100,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":338513,"event":"job:stop","queue_time":507994,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:29:12.393 [debug] Current batch of media processed. Will check again in 1000ms 13:29:13.372 [info] {"source":"oban","duration":10597,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:29:13.394 [debug] Current batch of media processed. Will check again in 1000ms 13:29:14.395 [debug] Current batch of media processed. Will check again in 1000ms 13:29:15.396 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "يرى الفنان التشكيلي السعودي راشد الشعشعي أن الفن الحقيقي هو ما يبقى أثره، لا ما يتكاثر حجمه. في حديثه مع نايلة تويني، يتوقف عند تحوّله من إنتاج الأعمال الفنية إلى بناء مؤسسات ثقافية ربحية وغير ربحية، بحثًا عن الاستدامة، وعن مكان عادل للفنان في هرم الاقتصاد، حيث يتحوّل الإبداع من فكرة إلى نظام", "duration" => 111, "filename" => "/downloads/shorts/Podcast With Nayla#/Podcast With Nayla - 2026-01-23 - [vOoeNyn4-oU].mp4", "id" => "vOoeNyn4-oU", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/vOoeNyn4-oU", "playlist_index" => 15, "timestamp" => 1769186330, "title" => "الفنان التشكيلي السعودي راشد الشعشعي", "upload_date" => "20260123"} 13:29:15.397 [debug] QUERY OK source="sources" db=0.2ms idle=386.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" IN (?)) [180] 13:29:15.397 [debug] QUERY OK source="sources" db=0.1ms idle=387.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" = ?) [180] 13:29:15.399 [debug] QUERY OK source="media_items" db=1.3ms idle=387.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-23 16:38:50Z], 180] 13:29:15.400 [debug] QUERY OK source="media_items" db=1.0ms idle=389.1ms 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" ["يرى الفنان التشكيلي السعودي راشد الشعشعي أن الفن الحقيقي هو ما يبقى أثره، لا ما يتكاثر حجمه. في حديثه مع نايلة تويني، يتوقف عند تحوّله من إنتاج الأعمال الفنية إلى بناء مؤسسات ثقافية ربحية وغير ربحية، بحثًا عن الاستدامة، وعن مكان عادل للفنان في هرم الاقتصاد، حيث يتحوّل الإبداع من فكرة إلى نظام", "الفنان التشكيلي السعودي راشد الشعشعي", "dcfe41ad-13d6-484a-82f6-8f50c7f48335", 111, false, "vOoeNyn4-oU", "https://www.youtube.com/shorts/vOoeNyn4-oU", 15, "/downloads/shorts/Podcast With Nayla#/Podcast With Nayla - 2026-01-23 - [vOoeNyn4-oU].mp4", false, false, true, 180, [], 98, ~U[2026-01-23 16:38:50Z], ~U[2026-04-15 13:29:15Z], ~U[2026-04-15 13:29:15Z], "يرى الفنان التشكيلي السعودي راشد الشعشعي أن الفن الحقيقي هو ما يبقى أثره، لا ما يتكاثر حجمه. في حديثه مع نايلة تويني، يتوقف عند تحوّله من إنتاج الأعمال الفنية إلى بناء مؤسسات ثقافية ربحية وغير ربحية، بحثًا عن الاستدامة، وعن مكان عادل للفنان في هرم الاقتصاد، حيث يتحوّل الإبداع من فكرة إلى نظام", "الفنان التشكيلي السعودي راشد الشعشعي", 111, false, "vOoeNyn4-oU", "https://www.youtube.com/shorts/vOoeNyn4-oU", "/downloads/shorts/Podcast With Nayla#/Podcast With Nayla - 2026-01-23 - [vOoeNyn4-oU].mp4", true, 180, ~U[2026-01-23 16:38:50Z]] 13:29:15.401 [debug] QUERY OK source="sources" db=0.3ms idle=56.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" = ?) [180] 13:29:15.401 [debug] QUERY OK source="media_profiles" db=0.3ms 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" = ?) [2] 13:29:15.402 [debug] QUERY OK source="media_items" db=0.3ms idle=4.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4633084] 13:29:15.402 [debug] Current batch of media processed. Will check again in 1000ms 13:29:16.403 [debug] Current batch of media processed. Will check again in 1000ms 13:29:17.404 [debug] Current batch of media processed. Will check again in 1000ms 13:29:18.405 [debug] Current batch of media processed. Will check again in 1000ms 13:29:19.406 [debug] Current batch of media processed. Will check again in 1000ms 13:29:20.407 [debug] Current batch of media processed. Will check again in 1000ms 13:29:21.408 [debug] Current batch of media processed. Will check again in 1000ms 13:29:22.409 [debug] Current batch of media processed. Will check again in 1000ms 13:29:22.970 [info] GET /sources/402/media/4611826 13:29:22.970 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "4611826", "prevent_download" => "true", "source_id" => "402"} Pipelines: [:browser] 13:29:22.971 [debug] QUERY OK source="media_items" db=0.3ms idle=1960.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" = ?) [4611826] 13:29:22.971 [debug] QUERY OK source="tasks" db=0.1ms idle=1961.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" [4611826] 13:29:22.971 [debug] QUERY OK source="sources" db=0.2ms idle=1961.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" = ?) [402] 13:29:22.972 [debug] QUERY OK source="settings" db=0.1ms idle=1621.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:29:22.972 [debug] QUERY OK source="settings" db=0.1ms idle=620.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:29:22.973 [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 [] 13:29:22.974 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 13:29:22.975 [info] Sent 200 in 5ms 13:29:23.410 [debug] Current batch of media processed. Will check again in 1000ms 13:29:24.411 [debug] Current batch of media processed. Will check again in 1000ms 13:29:25.412 [debug] Current batch of media processed. Will check again in 1000ms 13:29:26.413 [debug] Current batch of media processed. Will check again in 1000ms 13:29:27.365 [info] {"args":{"id":48},"id":2192101,"meta":{},"system_time":1776259767365544588,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:29:27.366 [debug] QUERY OK source="sources" db=0.2ms idle=1355.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" = ?) [48] 13:29:27.366 [debug] QUERY OK source="settings" db=0.2ms idle=1356.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:29:27.367 [debug] QUERY OK source="media_profiles" db=0.2ms idle=1009.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" = ?) [2] 13:29:27.367 [debug] QUERY OK source="settings" db=0.2ms idle=8.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:29:27.367 [debug] Fetching recent media IDs from YouTube API for playlist: UUMelszsqkhcGFC4vfLkGVOQ 13:29:27.367 [debug] QUERY OK source="settings" db=0.1ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:29:27.368 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 13:29:27.414 [debug] Current batch of media processed. Will check again in 1000ms 13:29:27.628 [debug] QUERY OK source="media_items" db=1.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 WHERE ((m0."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [48, "PmG3oybHKdY", "_au26pq8dGI", "eItpUPME364", "sdXyr_GtpB8", "AViGvZhRZWQ", "rRsanBnxj8Y", "xIRRFVLdHWw", "nFpks9azxFw", "p1dN7GOS8lk", "5MIUwZCfYtE", "EbwfvogGFZI", "iCBSuwWnudY", "1_r0Q-v4isU", "c_MmMRfb9gs", "qj2F5CI116o", "yggPzlFyVxs", "hV5N4uTcwsM", "7CUt9DeECmM", "T4tn4URrQvY", "uNlSwNbXHSo", "HCk5v3zY5Nk", "jgGc7tsZX3Q", "j_GiVJ_DPuo", "42v1XziVgaQ", "RZc4HW07UR8", "058OTXSVAjI", "q6yvVULNEqE", "ZtoPi5lgdH4", "ArW4C-L3E58", "0ytb1nxp6pY", "x1bU7OyY1Qo", "_ceRQgRGZOA", "Ki8vlLEIAPg", "IXLO15CzwYE", "zq5XJNfiSB8", "NFLfR5DkC0E", "qW6QqvULhAo", "nVAN5M-acTo", "ItwW3qI-ISY", "AFytYHMjSVE", "Tqm0F4kwXe4", "8dY1jaKiYzk", "PWNCBzXAY8k", "ChBJS2NSuOo", "ujlSTgsjcco", "hyjshuuA1XA", "A1sIH6inhbk", "ma0MiXa6YXE", "1TXgsjGeo3A", ...] 13:29:27.630 [debug] QUERY OK source="media_items" db=0.9ms idle=263.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")))) [48] 13:29:27.632 [debug] QUERY OK source="tasks" db=0.2ms idle=264.2ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2192139, 48, ~U[2026-04-15 13:29:27Z], ~U[2026-04-15 13:29:27Z]] 13:29:27.632 [info] {"args":{"id":48},"id":2192101,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":266998,"event":"job:stop","queue_time":522266,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:29:28.415 [debug] Current batch of media processed. Will check again in 1000ms 13:29:29.416 [debug] Current batch of media processed. Will check again in 1000ms 13:29:30.417 [debug] Current batch of media processed. Will check again in 1000ms 13:29:31.418 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "في هذه الحلقة من بودكاست مع نايلة، تستضيف نايلة تويني الفنان التشكيلي السعودي راشد الشعشعي في حوار عميق يتجاوز السيرة الشخصية إلى أسئلة الفن، الوجود، والهوية.\n\nمن طفولته في القرية، وعلاقته المبكرة بالطبيعة، والضباب، والزراعة، إلى انتقاله إلى مكة ثم الرياض، يروي الشعشعي كيف تشكّل وعيه البصري، وكيف أصبح الفن بالنسبة له أسلوب حياة لا مهنة فقط.\nنتوقف عند تجربته في التعليم، وتأثير والده، ودور المدرسة، والأسواق، والعمل المبكر في تكوين شخصيته الفنية، وصولاً إلى رؤيته للفن اليوم ككائن حي يتطور مع الإنسان والمجتمع.\nحلقة تناقش معنى الفن في زمن السرعة، التكنولوجيا، والذكاء الاصطناعي، ودور الفنان في خلق الدهشة، وملء الفراغ الإنساني في حياة معاصرة شديدة التنظيم.\n\n حوار غني بالفلسفة، الذاكرة، والأسئلة المفتوحة عن الجمال، اللون، والوظيفة الاجتماعية للفن.", "duration" => 62, "filename" => "/downloads/shorts/Podcast With Nayla#/Podcast With Nayla - 2026-01-22 - [yAr6gjOELog].mp4", "id" => "yAr6gjOELog", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/yAr6gjOELog", "playlist_index" => 16, "timestamp" => 1769101663, "title" => "راشد الشعشعي في \"بودكاست مع نايلة\"", "upload_date" => "20260122"} 13:29:31.419 [debug] QUERY OK source="sources" db=0.2ms idle=408.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" IN (?)) [180] 13:29:31.419 [debug] QUERY OK source="sources" db=0.3ms idle=409.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" = ?) [180] 13:29:31.421 [debug] QUERY OK source="media_items" db=1.3ms idle=409.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-22 17:07:43Z], 180] 13:29:31.423 [debug] QUERY OK source="media_items" db=1.2ms idle=411.3ms 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" ["في هذه الحلقة من بودكاست مع نايلة، تستضيف نايلة تويني الفنان التشكيلي السعودي راشد الشعشعي في حوار عميق يتجاوز السيرة الشخصية إلى أسئلة الفن، الوجود، والهوية.\n\nمن طفولته في القرية، وعلاقته المبكرة بالطبيعة، والضباب، والزراعة، إلى انتقاله إلى مكة ثم الرياض، يروي الشعشعي كيف تشكّل وعيه البصري، وكيف أصبح الفن بالنسبة له أسلوب حياة لا مهنة فقط.\nنتوقف عند تجربته في التعليم، وتأثير والده، ودور المدرسة، والأسواق، والعمل المبكر في تكوين شخصيته الفنية، وصولاً إلى رؤيته للفن اليوم ككائن حي يتطور مع الإنسان والمجتمع.\nحلقة تناقش معنى الفن في زمن السرعة، التكنولوجيا، والذكاء الاصطناعي، ودور الفنان في خلق الدهشة، وملء الفراغ الإنساني في حياة معاصرة شديدة التنظيم.\n\n حوار غني بالفلسفة، الذاكرة، والأسئلة المفتوحة عن الجمال، اللون، والوظيفة الاجتماعية للفن.", "راشد الشعشعي في \"بودكاست مع نايلة\"", "38cb1a80-49a3-44f9-8f7a-4478d4b72917", 62, false, "yAr6gjOELog", "https://www.youtube.com/shorts/yAr6gjOELog", 16, "/downloads/shorts/Podcast With Nayla#/Podcast With Nayla - 2026-01-22 - [yAr6gjOELog].mp4", false, false, true, 180, [], 98, ~U[2026-01-22 17:07:43Z], ~U[2026-04-15 13:29:31Z], ~U[2026-04-15 13:29:31Z], "في هذه الحلقة من بودكاست مع نايلة، تستضيف نايلة تويني الفنان التشكيلي السعودي راشد الشعشعي في حوار عميق يتجاوز السيرة الشخصية إلى أسئلة الفن، الوجود، والهوية.\n\nمن طفولته في القرية، وعلاقته المبكرة بالطبيعة، والضباب، والزراعة، إلى انتقاله إلى مكة ثم الرياض، يروي الشعشعي كيف تشكّل وعيه البصري، وكيف أصبح الفن بالنسبة له أسلوب حياة لا مهنة فقط.\nنتوقف عند تجربته في التعليم، وتأثير والده، ودور المدرسة، والأسواق، والعمل المبكر في تكوين شخصيته الفنية، وصولاً إلى رؤيته للفن اليوم ككائن حي يتطور مع الإنسان والمجتمع.\nحلقة تناقش معنى الفن في زمن السرعة، التكنولوجيا، والذكاء الاصطناعي، ودور الفنان في خلق الدهشة، وملء الفراغ الإنساني في حياة معاصرة شديدة التنظيم.\n\n حوار غني بالفلسفة، الذاكرة، والأسئلة المفتوحة عن الجمال، اللون، والوظيفة الاجتماعية للفن.", "راشد الشعشعي في \"بودكاست مع نايلة\"", 62, false, "yAr6gjOELog", "https://www.youtube.com/shorts/yAr6gjOELog", "/downloads/shorts/Podcast With Nayla#/Podcast With Nayla - 2026-01-22 - [yAr6gjOELog].mp4", true, 180, ~U[2026-01-22 17:07:43Z]] 13:29:31.423 [debug] QUERY OK source="sources" db=0.3ms idle=58.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" = ?) [180] 13:29:31.424 [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" = ?) [2] 13:29:31.424 [debug] QUERY OK source="media_items" db=0.3ms idle=4.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4633085] 13:29:31.424 [debug] Current batch of media processed. Will check again in 1000ms 13:29:32.425 [debug] Current batch of media processed. Will check again in 1000ms 13:29:32.425 [info] GET /sources/149/media/4638846/force_download 13:29:32.425 [debug] QUERY OK source="settings" db=0.1ms idle=1002.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:29:32.426 [debug] QUERY OK source="settings" db=0.1ms idle=1002.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:29:32.426 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 13:29:32.426 [error] #PID<0.6213.0> running PinchflatWeb.Endpoint (connection #PID<0.6212.0>, stream id 1) terminated Server: jak.hibeex.com:80 (http) Request: GET /sources/149/media/4638846/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/149/media/4638846/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.6212.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/149/media/4638846/force_download", host: "jak.hibeex.com", peer: {{172, 22, 0, 1}, 45572}, bindings: %{}, sock: {{172, 22, 0, 4}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "connection" => "close", "host" => "jak.hibeex.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.63", "x-forwarded-proto" => "https", "x-real-ip" => "216.73.216.63" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "jak.hibeex.com", method: "GET", owner: #PID<0.6213.0>, params: %{}, path_info: ["sources", "149", "media", "4638846", "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://jak.hibeex.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 22, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"connection", "close"}, {"host", "jak.hibeex.com"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"x-forwarded-for", "216.73.216.63"}, {"x-forwarded-proto", "https"}, {"x-real-ip", "216.73.216.63"} ], request_path: "/sources/149/media/4638846/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKaK2hw4UFnd9eUABAAB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.6212.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/149/media/4638846/force_download", host: "jak.hibeex.com", peer: {{172, 22, 0, 1}, 45572}, bindings: %{}, sock: {{172, 22, 0, 4}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "connection" => "close", "host" => "jak.hibeex.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.63", "x-forwarded-proto" => "https", "x-real-ip" => "216.73.216.63" }, method: "GET", body_length: 0, path_info: :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/149/media/4638846/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.6212.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/149/media/4638846/force_download", host: "jak.hibeex.com", peer: {{172, 22, 0, 1}, 45572}, bindings: %{}, sock: {{172, 22, 0, 4}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "connection" => "close", "host" => "jak.hibeex.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.63", "x-forwarded-proto" => "https", "x-real-ip" => "216.73.216.63" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "jak.hibeex.com", method: "GET", owner: #PID<0.6213.0>, params: %{}, path_info: ["sources", "149", "media", "4638846", "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://jak.hibeex.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 22, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"connection", "close"}, {"host", "jak.hibeex.com"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"x-forwarded-for", "216.73.216.63"}, {"x-forwarded-proto", "https"}, {"x-real-ip", "216.73.216.63"} ], request_path: "/sources/149/media/4638846/force_download", resp_body: nil, resp_cookies: (truncated) 13:29:32.539 [info] GET /media/bc174cc1-1c0b-4f5f-9468-8d4c60600d2f/stream 13:29:32.539 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "bc174cc1-1c0b-4f5f-9468-8d4c60600d2f"} Pipelines: [:maybe_basic_auth] 13:29:32.539 [debug] QUERY OK source="media_items" db=0.2ms idle=1115.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" = ?) ["bc174cc1-1c0b-4f5f-9468-8d4c60600d2f"] 13:29:32.540 [debug] Invalid range request for media item: bc174cc1-1c0b-4f5f-9468-8d4c60600d2f - serving full file 13:29:32.540 [info] Sent 200 in 908µs 13:29:33.426 [debug] Current batch of media processed. Will check again in 1000ms 13:29:34.427 [debug] Current batch of media processed. Will check again in 1000ms 13:29:35.428 [debug] Current batch of media processed. Will check again in 1000ms 13:29:36.429 [debug] Current batch of media processed. Will check again in 1000ms 13:29:37.430 [debug] Current batch of media processed. Will check again in 1000ms 13:29:38.431 [debug] Current batch of media processed. Will check again in 1000ms 13:29:39.330 [info] GET /sources/346/media/4702249 13:29:39.330 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "4702249", "prevent_download" => "true", "source_id" => "346"} Pipelines: [:browser] 13:29:39.330 [debug] QUERY OK source="media_items" db=0.2ms idle=1320.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" = ?) [4702249] 13:29:39.331 [debug] QUERY OK source="tasks" db=0.2ms idle=1320.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" [4702249] 13:29:39.331 [debug] QUERY OK source="sources" db=0.5ms idle=1320.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" = ?) [346] 13:29:39.332 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=958.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" = ?) [2191152] 13:29:39.332 [debug] QUERY OK source="settings" db=0.1ms idle=322.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:29:39.332 [debug] QUERY OK source="settings" db=0.1ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:29:39.333 [debug] QUERY OK source="settings" db=0.1ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:29:39.334 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 13:29:39.336 [info] Sent 200 in 5ms 13:29:39.432 [debug] Current batch of media processed. Will check again in 1000ms 13:29:39.453 [info] GET /media/540dbb74-2280-4732-9f16-0f6e21c26cc8/stream 13:29:39.453 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "540dbb74-2280-4732-9f16-0f6e21c26cc8"} Pipelines: [:maybe_basic_auth] 13:29:39.454 [debug] QUERY OK source="media_items" db=0.2ms idle=121.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" = ?) ["540dbb74-2280-4732-9f16-0f6e21c26cc8"] 13:29:39.454 [debug] Invalid range request for media item: 540dbb74-2280-4732-9f16-0f6e21c26cc8 - serving full file 13:29:39.454 [info] Sent 200 in 1ms 13:29:40.433 [debug] Current batch of media processed. Will check again in 1000ms 13:29:41.434 [debug] Current batch of media processed. Will check again in 1000ms 13:29:42.435 [debug] Current batch of media processed. Will check again in 1000ms 13:29:43.391 [info] {"source":"oban","duration":17872,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:29:43.436 [debug] Current batch of media processed. Will check again in 1000ms 13:29:44.437 [debug] Current batch of media processed. Will check again in 1000ms 13:29:45.438 [debug] Current batch of media processed. Will check again in 1000ms 13:29:46.439 [debug] Current batch of media processed. Will check again in 1000ms 13:29:47.440 [debug] Current batch of media processed. Will check again in 1000ms 13:29:48.441 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "في حلقة جديدة من \"بودكاست مع نايلة\" تستضيف #نايلة_تويني الفنان التشكيلي السعودي راشد الشعشعي\n\nيمكنكم مشاهدة الحلقة الكاملة الخميس 21 كانون الثاني، الساعة 19:00 بتوقيت بيروت, عبر قناة “Podcast with Nayla” على يوتيوب.\n\n@naylatueni \n\n#PodcastWithNayla\n#بودكاست_مع_نايلة", "duration" => 33, "filename" => "/downloads/shorts/Podcast With Nayla#/Podcast With Nayla - 2026-01-21 - [D8Q68QZpp0E].mp4", "id" => "D8Q68QZpp0E", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/D8Q68QZpp0E", "playlist_index" => 17, "timestamp" => 1769014818, "title" => "راشد الشعشعي ضيف \"بودكاست مع نايلة\"", "upload_date" => "20260121"} 13:29:48.441 [debug] QUERY OK source="sources" db=0.2ms idle=1429.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" IN (?)) [180] 13:29:48.442 [debug] QUERY OK source="sources" db=0.1ms idle=1430.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" = ?) [180] 13:29:48.444 [debug] QUERY OK source="media_items" db=1.3ms idle=1430.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-21 17:00:18Z], 180] 13:29:48.445 [debug] QUERY OK source="media_items" db=0.8ms idle=1047.5ms 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" ["في حلقة جديدة من \"بودكاست مع نايلة\" تستضيف #نايلة_تويني الفنان التشكيلي السعودي راشد الشعشعي\n\nيمكنكم مشاهدة الحلقة الكاملة الخميس 21 كانون الثاني، الساعة 19:00 بتوقيت بيروت, عبر قناة “Podcast with Nayla” على يوتيوب.\n\n@naylatueni \n\n#PodcastWithNayla\n#بودكاست_مع_نايلة", "راشد الشعشعي ضيف \"بودكاست مع نايلة\"", "fbcca124-fb40-4bd4-b808-7306b1dcafd9", 33, false, "D8Q68QZpp0E", "https://www.youtube.com/shorts/D8Q68QZpp0E", 17, "/downloads/shorts/Podcast With Nayla#/Podcast With Nayla - 2026-01-21 - [D8Q68QZpp0E].mp4", false, false, true, 180, [], 98, ~U[2026-01-21 17:00:18Z], ~U[2026-04-15 13:29:48Z], ~U[2026-04-15 13:29:48Z], "في حلقة جديدة من \"بودكاست مع نايلة\" تستضيف #نايلة_تويني الفنان التشكيلي السعودي راشد الشعشعي\n\nيمكنكم مشاهدة الحلقة الكاملة الخميس 21 كانون الثاني، الساعة 19:00 بتوقيت بيروت, عبر قناة “Podcast with Nayla” على يوتيوب.\n\n@naylatueni \n\n#PodcastWithNayla\n#بودكاست_مع_نايلة", "راشد الشعشعي ضيف \"بودكاست مع نايلة\"", 33, false, "D8Q68QZpp0E", "https://www.youtube.com/shorts/D8Q68QZpp0E", "/downloads/shorts/Podcast With Nayla#/Podcast With Nayla - 2026-01-21 - [D8Q68QZpp0E].mp4", true, 180, ~U[2026-01-21 17:00:18Z]] 13:29:48.445 [debug] QUERY OK source="sources" db=0.3ms idle=47.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" = ?) [180] 13:29:48.447 [debug] QUERY OK source="media_profiles" db=0.8ms idle=4.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 13:29:48.447 [debug] QUERY OK source="media_items" db=0.3ms idle=4.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4633087] 13:29:48.447 [debug] Current batch of media processed. Will check again in 1000ms 13:29:49.448 [debug] Current batch of media processed. Will check again in 1000ms 13:29:50.449 [debug] Current batch of media processed. Will check again in 1000ms 13:29:51.450 [debug] Current batch of media processed. Will check again in 1000ms 13:29:52.451 [debug] Current batch of media processed. Will check again in 1000ms 13:29:53.452 [debug] Current batch of media processed. Will check again in 1000ms 13:29:54.453 [debug] Current batch of media processed. Will check again in 1000ms 13:29:55.454 [debug] Current batch of media processed. Will check again in 1000ms 13:29:56.455 [debug] Current batch of media processed. Will check again in 1000ms 13:29:57.456 [debug] Current batch of media processed. Will check again in 1000ms 13:29:58.457 [debug] Current batch of media processed. Will check again in 1000ms 13:29:59.458 [debug] Current batch of media processed. Will check again in 1000ms 13:30:00.459 [debug] Current batch of media processed. Will check again in 1000ms 13:30:00.866 [info] {"source":"oban","duration":146,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:30:01.460 [debug] Current batch of media processed. Will check again in 1000ms 13:30:02.461 [debug] Current batch of media processed. Will check again in 1000ms 13:30:03.462 [debug] Current batch of media processed. Will check again in 1000ms 13:30:04.463 [debug] Current batch of media processed. Will check again in 1000ms 13:30:05.464 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.55, "description" => "الكاتبة والروائية السعودية بدرية البشر تروي في من “بودكاست مع نايلة” رحلتها من حي شعبي حيث وُلدت ودرست، إلى اكتشاف العالم وكتابة حكايات عن المرأة القادرة على الصمود والحب والكرامة، والرجل الشهم الذي يحمي الضعيف.\n\nالبودكاست الكامل عبر يوتيوب \"بودكاست مع نايلة\"\u2069\n\n\n✅ الاشتراك في القناة : \nhttps://shorturl.at/bkjsi", "duration" => 146, "filename" => "/downloads/shorts/Podcast With Nayla#/Podcast With Nayla - 2026-01-19 - [b_Rz4qFxt6w].mp4", "id" => "b_Rz4qFxt6w", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/b_Rz4qFxt6w", "playlist_index" => 18, "timestamp" => 1768845466, "title" => "بدرية البشر وتحوّلات المرأة السعودية في “بودكاست مع نايلة”", "upload_date" => "20260119"} 13:30:05.464 [debug] QUERY OK source="sources" db=0.2ms idle=1453.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" IN (?)) [180] 13:30:05.465 [debug] QUERY OK source="sources" db=0.2ms idle=1453.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" = ?) [180] 13:30:05.467 [debug] QUERY OK source="media_items" db=1.3ms idle=1454.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-19 17:57:46Z], 180] 13:30:05.468 [debug] QUERY OK source="media_items" db=1.0ms idle=1052.4ms 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" ["الكاتبة والروائية السعودية بدرية البشر تروي في من “بودكاست مع نايلة” رحلتها من حي شعبي حيث وُلدت ودرست، إلى اكتشاف العالم وكتابة حكايات عن المرأة القادرة على الصمود والحب والكرامة، والرجل الشهم الذي يحمي الضعيف.\n\nالبودكاست الكامل عبر يوتيوب \"بودكاست مع نايلة\"\u2069\n\n\n✅ الاشتراك في القناة : \nhttps://shorturl.at/bkjsi", "بدرية البشر وتحوّلات المرأة السعودية في “بودكاست مع نايلة”", "4e086aa5-2ede-4971-bbc0-87aa50b01a3b", 146, false, "b_Rz4qFxt6w", "https://www.youtube.com/shorts/b_Rz4qFxt6w", 18, "/downloads/shorts/Podcast With Nayla#/Podcast With Nayla - 2026-01-19 - [b_Rz4qFxt6w].mp4", false, false, true, 180, [], 98, ~U[2026-01-19 17:57:46Z], ~U[2026-04-15 13:30:05Z], ~U[2026-04-15 13:30:05Z], "الكاتبة والروائية السعودية بدرية البشر تروي في من “بودكاست مع نايلة” رحلتها من حي شعبي حيث وُلدت ودرست، إلى اكتشاف العالم وكتابة حكايات عن المرأة القادرة على الصمود والحب والكرامة، والرجل الشهم الذي يحمي الضعيف.\n\nالبودكاست الكامل عبر يوتيوب \"بودكاست مع نايلة\"\u2069\n\n\n✅ الاشتراك في القناة : \nhttps://shorturl.at/bkjsi", "بدرية البشر وتحوّلات المرأة السعودية في “بودكاست مع نايلة”", 146, false, "b_Rz4qFxt6w", "https://www.youtube.com/shorts/b_Rz4qFxt6w", "/downloads/shorts/Podcast With Nayla#/Podcast With Nayla - 2026-01-19 - [b_Rz4qFxt6w].mp4", true, 180, ~U[2026-01-19 17:57:46Z]] 13:30:05.469 [debug] QUERY OK source="sources" db=0.3ms idle=52.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [180] 13:30:05.469 [debug] QUERY OK source="media_profiles" db=0.3ms 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" = ?) [2] 13:30:05.470 [debug] QUERY OK source="media_items" db=0.4ms idle=4.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4633089] 13:30:05.470 [debug] Current batch of media processed. Will check again in 1000ms 13:30:06.471 [debug] Current batch of media processed. Will check again in 1000ms 13:30:07.472 [debug] Current batch of media processed. Will check again in 1000ms 13:30:08.473 [debug] Current batch of media processed. Will check again in 1000ms 13:30:09.474 [debug] Current batch of media processed. Will check again in 1000ms 13:30:10.474 [info] GET /sources/548/media/4612768 13:30:10.475 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "4612768", "prevent_download" => "true", "source_id" => "548"} Pipelines: [:browser] 13:30:10.475 [debug] Current batch of media processed. Will check again in 1000ms 13:30:10.475 [debug] QUERY OK source="media_items" db=0.2ms idle=1464.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" = ?) [4612768] 13:30:10.476 [debug] QUERY OK source="tasks" db=0.1ms idle=1464.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" [4612768] 13:30:10.476 [debug] QUERY OK source="sources" db=0.2ms idle=1464.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" = ?) [548] 13:30:10.476 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=1055.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" = ?) [2098422] 13:30:10.477 [debug] QUERY OK source="settings" db=0.1ms idle=55.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:30:10.477 [debug] QUERY OK source="settings" db=0.1ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:30:10.477 [debug] QUERY OK source="settings" db=0.1ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:30:10.478 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 13:30:10.480 [info] Sent 200 in 5ms 13:30:11.476 [debug] Current batch of media processed. Will check again in 1000ms 13:30:12.477 [debug] Current batch of media processed. Will check again in 1000ms 13:30:13.410 [info] {"source":"oban","duration":17779,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:30:13.478 [debug] Current batch of media processed. Will check again in 1000ms 13:30:14.479 [debug] Current batch of media processed. Will check again in 1000ms 13:30:15.480 [debug] Current batch of media processed. Will check again in 1000ms 13:30:16.481 [debug] Current batch of media processed. Will check again in 1000ms 13:30:17.482 [debug] Current batch of media processed. Will check again in 1000ms 13:30:18.439 [info] {"args":{"id":369},"id":2192102,"meta":{},"system_time":1776259818439791983,"max_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:18.440 [debug] QUERY OK source="sources" db=0.3ms idle=428.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" = ?) [369] 13:30:18.441 [debug] QUERY OK source="settings" db=0.2ms 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:30:18.441 [debug] QUERY OK source="media_profiles" db=0.2ms idle=429.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" = ?) [2] 13:30:18.441 [debug] QUERY OK source="settings" db=0.2ms idle=9.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:30:18.442 [debug] Fetching recent media IDs from YouTube API for playlist: UUFip-ErYXshRD3JDzriXN8A 13:30:18.442 [debug] QUERY OK source="settings" db=0.1ms idle=2.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:30:18.442 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 13:30:18.483 [debug] Current batch of media processed. Will check again in 1000ms 13:30:18.707 [debug] QUERY OK source="media_items" db=1.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 WHERE ((m0."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [369, "DQv6aNQGC7U", "bRWEUhphHPE", "VvVu3U8zWOk", "ymIGDQ_lFic", "sn5er6zKTOM", "l9SYxo3_WYA", "osD94bZvUNI", "x8k0cka3Jrs", "7DViK_gisxQ", "1kUHccnNCBE", "AT_LfjiIfBs", "z7VTLIQIyXU", "Gdhcgro17Jw", "OD4Qw7uHCDY", "yLhAyK4fueE", "S1Rqu2jZ3UQ", "EMT89YeL3_g", "8vYZG1ZQo8Y", "jz0YVdItrbE", "aKVtJOvfKzo", "tghPmSQT2Wk", "jdyjuGoXtDM", "StnfONNEX2I", "WN2lzujwn_E", "rginTPQL0Cg", "FTjStFQp_t8", "raC19wUTKFg", "mSuYy69iqzc", "iGQa4KKLsZs", "yDL4zfreZoA", "qQ3Pu_-jSV0", "jaWsFdp-IOY", "sCmYYToePnc", "B516P24Ybv8", "VZdGUFgS_4c", "rwWM2fmlaAs", "nynfq_Mkh-g", "qVK33N5Bub8", "uf23M5FpLuI", "dJwsQ1VZN30", "ZYqB8-5sm1U", "-NFujChdR2Y", "0GdSItbC5Zo", "YW2nunQNtoc", "7bZxSj5IWrw", "TVgZaGPrRQc", "edD3Xrrqb-w", "xZrmgMBcPlI", "sTSgoM5zlHI", ...] 13:30:18.709 [debug] QUERY OK source="media_items" db=0.7ms idle=267.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")))) [369] 13:30:18.711 [debug] QUERY OK source="tasks" db=0.3ms idle=268.7ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2192140, 369, ~U[2026-04-15 13:30:18Z], ~U[2026-04-15 13:30:18Z]] 13:30:18.712 [info] {"args":{"id":369},"id":2192102,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":271865,"event":"job:stop","queue_time":550784,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:30:19.484 [debug] Current batch of media processed. Will check again in 1000ms 13:30:20.485 [debug] Current batch of media processed. Will check again in 1000ms 13:30:21.486 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "في هذا المقطع من “بودكاست مع نايلة”، تتحدث مشاعل الشميمري عن طفولتها وبدايات حلمها بالفضاء، كاشفةً كيف كان دعم عائلتها عاملاً حاسماً في مسيرتها.\n\nالبودكاست الكامل عبر يوتيوب \"Podcast With Nayla\"", "duration" => 85, "filename" => "/downloads/shorts/Podcast With Nayla#/Podcast With Nayla - 2026-01-16 - [aac13O3bKAw].mp4", "id" => "aac13O3bKAw", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/aac13O3bKAw", "playlist_index" => 19, "timestamp" => 1768582802, "title" => "مشاعل الشميمري: دعم العائلة كان الوقود الأول للحلم", "upload_date" => "20260116"} 13:30:21.487 [debug] QUERY OK source="sources" db=0.2ms idle=1475.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" IN (?)) [180] 13:30:21.487 [debug] QUERY OK source="sources" db=0.2ms idle=1476.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" = ?) [180] 13:30:21.489 [debug] QUERY OK source="media_items" db=1.3ms idle=1476.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-16 17:00:02Z], 180] 13:30:21.490 [debug] QUERY OK source="media_items" db=0.9ms idle=1053.4ms 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" ["في هذا المقطع من “بودكاست مع نايلة”، تتحدث مشاعل الشميمري عن طفولتها وبدايات حلمها بالفضاء، كاشفةً كيف كان دعم عائلتها عاملاً حاسماً في مسيرتها.\n\nالبودكاست الكامل عبر يوتيوب \"Podcast With Nayla\"", "مشاعل الشميمري: دعم العائلة كان الوقود الأول للحلم", "0ca360bd-25e6-4b59-8695-5a909816b3ec", 85, false, "aac13O3bKAw", "https://www.youtube.com/shorts/aac13O3bKAw", 19, "/downloads/shorts/Podcast With Nayla#/Podcast With Nayla - 2026-01-16 - [aac13O3bKAw].mp4", false, false, true, 180, [], 98, ~U[2026-01-16 17:00:02Z], ~U[2026-04-15 13:30:21Z], ~U[2026-04-15 13:30:21Z], "في هذا المقطع من “بودكاست مع نايلة”، تتحدث مشاعل الشميمري عن طفولتها وبدايات حلمها بالفضاء، كاشفةً كيف كان دعم عائلتها عاملاً حاسماً في مسيرتها.\n\nالبودكاست الكامل عبر يوتيوب \"Podcast With Nayla\"", "مشاعل الشميمري: دعم العائلة كان الوقود الأول للحلم", 85, false, "aac13O3bKAw", "https://www.youtube.com/shorts/aac13O3bKAw", "/downloads/shorts/Podcast With Nayla#/Podcast With Nayla - 2026-01-16 - [aac13O3bKAw].mp4", true, 180, ~U[2026-01-16 17:00:02Z]] 13:30:21.491 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=52.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" = ?) [180] 13:30:21.491 [debug] QUERY OK source="media_profiles" db=0.3ms 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" = ?) [2] 13:30:21.492 [debug] QUERY OK source="media_items" db=0.4ms idle=4.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4633091] 13:30:21.492 [debug] Current batch of media processed. Will check again in 1000ms 13:30:22.493 [debug] Current batch of media processed. Will check again in 1000ms 13:30:23.494 [debug] Current batch of media processed. Will check again in 1000ms 13:30:24.495 [debug] Current batch of media processed. Will check again in 1000ms 13:30:25.496 [debug] Current batch of media processed. Will check again in 1000ms 13:30:26.497 [debug] Current batch of media processed. Will check again in 1000ms 13:30:27.498 [debug] Current batch of media processed. Will check again in 1000ms 13:30:28.499 [debug] Current batch of media processed. Will check again in 1000ms 13:30:29.500 [debug] Current batch of media processed. Will check again in 1000ms 13:30:30.501 [debug] Current batch of media processed. Will check again in 1000ms 13:30:31.502 [debug] Current batch of media processed. Will check again in 1000ms 13:30:32.503 [debug] Current batch of media processed. Will check again in 1000ms 13:30:33.504 [debug] Current batch of media processed. Will check again in 1000ms 13:30:34.505 [debug] Current batch of media processed. Will check again in 1000ms 13:30:35.506 [debug] Current batch of media processed. Will check again in 1000ms 13:30:36.507 [debug] Current batch of media processed. Will check again in 1000ms 13:30:37.359 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@podcastwithnayla/shorts --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/shorts/Podcast With Nayla /Podcast With Nayla - %(upload_date>%Y-%m-%d)S - [%(id)S].%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --break-on-existing --download-archive /tmp/pinchflat/data/c1/1d/c11d432d3b845ca23147ae11bfc5cd1498a847b856e7a527f82225d0c2c2654e.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/5b/fc/5bfc0451a0c8773cdc8c07ad29db7514fe397513ded80b0d88c5b89ec20086f2.json --sleep-requests 4 --sleep-interval 4 --sleep-subtitles 5 --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 101 with: 13:30:37.361 [debug] Gracefully stopping file follower 13:30:37.362 [debug] QUERY OK source="sources" db=0.4ms queue=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" IN (?)) [180] 13:30:37.362 [debug] QUERY OK source="sources" db=0.2ms idle=351.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" = ?) [180] 13:30:37.364 [debug] QUERY OK source="media_items" db=1.4ms idle=351.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-02 16:00:16Z], 180] 13:30:37.366 [debug] QUERY OK source="media_items" db=1.0ms idle=353.7ms 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" ["في ظلّ الضغوط اليومية والصدمات المستمرة، أصبح الحفاظ على صحتنا النفسية وحماية أطفالنا أكثر أهمية من أيّ وقت مضى. في هذه الحلقة، يشرح الدكتور سامي ريشا، رئيس قسم الطب النفسي في كلية الطب بجامعة القديس يوسف، كيفية التعرّف إلى تأثير الصدمات النفسية على حياتنا اليومية، وطرق التعامل معها بطريقة عملية، إضافة إلى أدوات تساعد على حماية الأفراد والأطفال من الضغوط النفسية المستمرة.", "كيف ننجو من الصدمات النفسية؟", "fe322947-1675-4194-b5be-27de36b54e16", 77, false, "BgKY0xCYzZw", "https://www.youtube.com/shorts/BgKY0xCYzZw", 1, "/downloads/shorts/Podcast With Nayla#/Podcast With Nayla - 2026-04-02 - [BgKY0xCYzZw].mp4", false, false, true, 180, [], 98, ~U[2026-04-02 16:00:16Z], ~U[2026-04-15 13:30:37Z], ~U[2026-04-15 13:30:37Z], "في ظلّ الضغوط اليومية والصدمات المستمرة، أصبح الحفاظ على صحتنا النفسية وحماية أطفالنا أكثر أهمية من أيّ وقت مضى. في هذه الحلقة، يشرح الدكتور سامي ريشا، رئيس قسم الطب النفسي في كلية الطب بجامعة القديس يوسف، كيفية التعرّف إلى تأثير الصدمات النفسية على حياتنا اليومية، وطرق التعامل معها بطريقة عملية، إضافة إلى أدوات تساعد على حماية الأفراد والأطفال من الضغوط النفسية المستمرة.", "كيف ننجو من الصدمات النفسية؟", 77, false, "BgKY0xCYzZw", "https://www.youtube.com/shorts/BgKY0xCYzZw", "/downloads/shorts/Podcast With Nayla#/Podcast With Nayla - 2026-04-02 - [BgKY0xCYzZw].mp4", true, 180, ~U[2026-04-02 16:00:16Z]] 13:30:37.366 [debug] QUERY OK source="sources" db=0.4ms idle=355.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" = ?) [180] 13:30:37.368 [debug] QUERY OK source="media_items" db=1.3ms idle=4.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-26 17:01:16Z], 180] 13:30:37.370 [debug] QUERY OK source="media_items" db=1.2ms idle=5.8ms 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" ["في حلقة جديدة من “بودكاست مع نايلة”، تستضيف الإعلامية نايلة تويني الفنان والرسام اللبناني رؤوف الرفاعي في حوار فلسفي عميق يتناول فيه شخصية “الدرويش” التي شكّلت محور أعماله الفنية على مدى سنوات.\n\nيتحدث الرفاعي عن رحلته من بعلبك إلى بيروت وباريس، وعن تأثير التجارب الشخصية على رؤيته الفنية، مؤكداً أن “الدرويش” يمثل الإنسان في مختلف حالاته، ويعكس واقع المجتمع والهوية الإنسانية.\n\nكما يناقش مفهوم الصدق في الفن، الأقنعة التي يرتديها الإنسان، العلاقة بين الفن والسياسة، ودور الذكاء الاصطناعي في مستقبل الإبداع، مشدداً على أن الفن يبقى انعكاساً صادقاً للروح\n\nالحلقة الكاملة عبر يوتيوب \"Podcast With Nayla\"", "رؤوف الرفاعي في بودكاست مع نايلة: “الدرويش” مرآة الإنسان والفن الحقيقي", "cf15c48b-4e3d-4501-8d82-7d25770b9c50", 62, false, "jq1nXNk99PI", "https://www.youtube.com/shorts/jq1nXNk99PI", 2, "/downloads/shorts/Podcast With Nayla#/Podcast With Nayla - 2026-02-26 - [jq1nXNk99PI].mp4", false, false, true, 180, [], 98, ~U[2026-02-26 17:01:16Z], ~U[2026-04-15 13:30:37Z], ~U[2026-04-15 13:30:37Z], "في حلقة جديدة من “بودكاست مع نايلة”، تستضيف الإعلامية نايلة تويني الفنان والرسام اللبناني رؤوف الرفاعي في حوار فلسفي عميق يتناول فيه شخصية “الدرويش” التي شكّلت محور أعماله الفنية على مدى سنوات.\n\nيتحدث الرفاعي عن رحلته من بعلبك إلى بيروت وباريس، وعن تأثير التجارب الشخصية على رؤيته الفنية، مؤكداً أن “الدرويش” يمثل الإنسان في مختلف حالاته، ويعكس واقع المجتمع والهوية الإنسانية.\n\nكما يناقش مفهوم الصدق في الفن، الأقنعة التي يرتديها الإنسان، العلاقة بين الفن والسياسة، ودور الذكاء الاصطناعي في مستقبل الإبداع، مشدداً على أن الفن يبقى انعكاساً صادقاً للروح\n\nالحلقة الكاملة عبر يوتيوب \"Podcast With Nayla\"", "رؤوف الرفاعي في بودكاست مع نايلة: “الدرويش” مرآة الإنسان والفن الحقيقي", 62, false, "jq1nXNk99PI", "https://www.youtube.com/shorts/jq1nXNk99PI", "/downloads/shorts/Podcast With Nayla#/Podcast With Nayla - 2026-02-26 - [jq1nXNk99PI].mp4", true, 180, ~U[2026-02-26 17:01:16Z]] 13:30:37.371 [debug] QUERY OK source="sources" db=0.4ms 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" FROM "sources" AS s0 WHERE (s0."id" = ?) [180] 13:30:37.372 [debug] QUERY OK source="media_items" db=1.3ms idle=5.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-22 17:00:25Z], 180] 13:30:37.380 [debug] QUERY OK source="media_items" db=7.6ms idle=5.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" ["في \"بودكاست مع نايلة\"، يقدّم الفنان التشكيلي اللبناني شارل خوري رؤيته للحياة بوصفها تحدّياً متواصلاً وتجارب تصنع الإنسان وتعلّمه معنى الفرح والألم. ينتقد واقع البشرية التي ما زالت، برأيه، محكومة بشريعة الغابة، حيث يتفوّق الجشع على القيم، مؤكداً أن الفن كان خلاصه الشخصي والطريق الذي أنقذه ومنحه توازنه ومعنى وجوده", "شارل خوري: الحياة تحدٍّ والفنّ إنقاذ", "54014765-aaab-457f-afa7-f0da18c8bbfc", 98, false, "IlnGbaU5GYs", "https://www.youtube.com/shorts/IlnGbaU5GYs", 3, "/downloads/shorts/Podcast With Nayla#/Podcast With Nayla - 2026-02-22 - [IlnGbaU5GYs].mp4", false, false, true, 180, [], 98, ~U[2026-02-22 17:00:25Z], ~U[2026-04-15 13:30:37Z], ~U[2026-04-15 13:30:37Z], "في \"بودكاست مع نايلة\"، يقدّم الفنان التشكيلي اللبناني شارل خوري رؤيته للحياة بوصفها تحدّياً متواصلاً وتجارب تصنع الإنسان وتعلّمه معنى الفرح والألم. ينتقد واقع البشرية التي ما زالت، برأيه، محكومة بشريعة الغابة، حيث يتفوّق الجشع على القيم، مؤكداً أن الفن كان خلاصه الشخصي والطريق الذي أنقذه ومنحه توازنه ومعنى وجوده", "شارل خوري: الحياة تحدٍّ والفنّ إنقاذ", 98, false, "IlnGbaU5GYs", "https://www.youtube.com/shorts/IlnGbaU5GYs", "/downloads/shorts/Podcast With Nayla#/Podcast With Nayla - 2026-02-22 - [IlnGbaU5GYs].mp4", true, 180, ~U[2026-02-22 17:00:25Z]] 13:30:37.381 [debug] QUERY OK source="sources" db=0.3ms idle=12.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [180] 13:30:37.382 [debug] QUERY OK source="media_items" db=1.2ms idle=11.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-19 17:00:45Z], 180] 13:30:37.384 [debug] QUERY OK source="media_items" db=1.0ms idle=12.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" ["في حلقة جديدة من \"بودكاست مع نايلة\"، تحاور نايلة تويني الفنان التشكيلي اللبناني شارل خوري في لقاءٍ عميق يكشف رحلة بحثٍ استمرت أكثر من عشرين عاماً لاكتشاف هويته الفنية والإنسانية.\n\nمن جيل الحرب الذي رفض السلاح واختار اللوحة مساحةً للثورة، إلى تجربةٍ حوّل فيها غضبه إلى أعمالٍ فانتازية تُجسّد سحق الإنسان في زمن العنف، وصولاً إلى مرحلةٍ جديدة أصبحت رسالتها الجمال والتعلّم من المآسي كي لا تتكرّر، يقدّم خوري شهادة حيّة عن الفن كخلاصٍ شخصي وموقفٍ إنساني.", "الفنان التشكيلي اللبناني شارل خوري ضيف \"بودكاست مع نايلة\"", "7fdfdaf3-9347-4e32-9dd7-ab8ad720228d", 52, false, "PD9xw3-H8-g", "https://www.youtube.com/shorts/PD9xw3-H8-g", 4, "/downloads/shorts/Podcast With Nayla#/Podcast With Nayla - 2026-02-19 - [PD9xw3-H8-g].mp4", false, false, true, 180, [], 98, ~U[2026-02-19 17:00:45Z], ~U[2026-04-15 13:30:37Z], ~U[2026-04-15 13:30:37Z], "في حلقة جديدة من \"بودكاست مع نايلة\"، تحاور نايلة تويني الفنان التشكيلي اللبناني شارل خوري في لقاءٍ عميق يكشف رحلة بحثٍ استمرت أكثر من عشرين عاماً لاكتشاف هويته الفنية والإنسانية.\n\nمن جيل الحرب الذي رفض السلاح واختار اللوحة مساحةً للثورة، إلى تجربةٍ حوّل فيها غضبه إلى أعمالٍ فانتازية تُجسّد سحق الإنسان في زمن العنف، وصولاً إلى مرحلةٍ جديدة أصبحت رسالتها الجمال والتعلّم من المآسي كي لا تتكرّر، يقدّم خوري شهادة حيّة عن الفن كخلاصٍ شخصي وموقفٍ إنساني.", "الفنان التشكيلي اللبناني شارل خوري ضيف \"بودكاست مع نايلة\"", 52, false, "PD9xw3-H8-g", "https://www.youtube.com/shorts/PD9xw3-H8-g", "/downloads/shorts/Podcast With Nayla#/Podcast With Nayla - 2026-02-19 - [PD9xw3-H8-g].mp4", true, 180, ~U[2026-02-19 17:00:45Z]] 13:30:37.385 [debug] QUERY OK source="sources" db=0.4ms idle=11.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [180] 13:30:37.386 [debug] QUERY OK source="media_items" db=1.3ms idle=4.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-15 17:00:05Z], 180] 13:30:37.388 [debug] QUERY OK source="media_items" db=1.0ms idle=5.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" ["جراح التجميل والترميم الدكتور ميشال مطران في بودكاست مع نايلة يتحدّث عن معايير اللجوء إلى الحقن التجميلية، ويشدّد على رفضه إجراء أي عملية قبل سن الـ18، أو من دون حاجة طبية واضحة\n\nالبودكاست الكامل عبر يوتيوب \"Podcast With Nayla\"", "متى يُنصح بالحقن التجميلية؟", "a9d9fb63-849d-4265-89c2-c4fab06cdf4e", 42, false, "2WqggzIddGs", "https://www.youtube.com/shorts/2WqggzIddGs", 5, "/downloads/shorts/Podcast With Nayla#/Podcast With Nayla - 2026-02-15 - [2WqggzIddGs].mp4", false, false, true, 180, [], 98, ~U[2026-02-15 17:00:05Z], ~U[2026-04-15 13:30:37Z], ~U[2026-04-15 13:30:37Z], "جراح التجميل والترميم الدكتور ميشال مطران في بودكاست مع نايلة يتحدّث عن معايير اللجوء إلى الحقن التجميلية، ويشدّد على رفضه إجراء أي عملية قبل سن الـ18، أو من دون حاجة طبية واضحة\n\nالبودكاست الكامل عبر يوتيوب \"Podcast With Nayla\"", "متى يُنصح بالحقن التجميلية؟", 42, false, "2WqggzIddGs", "https://www.youtube.com/shorts/2WqggzIddGs", "/downloads/shorts/Podcast With Nayla#/Podcast With Nayla - 2026-02-15 - [2WqggzIddGs].mp4", true, 180, ~U[2026-02-15 17:00:05Z]] 13:30:37.388 [debug] QUERY OK source="sources" db=0.3ms idle=5.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [180] 13:30:37.390 [debug] QUERY OK source="media_items" db=1.2ms idle=4.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-13 16:34:00Z], 180] 13:30:37.391 [debug] QUERY OK source="media_items" db=1.0ms idle=5.5ms 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" ["في \"بودكاست مع نايلة\"، يقدّم الدكتور ميشال مطران، جراح التجميل والترميم، مقاربة مختلفة لمفهوم الجمال: ليست المشكلة في المرآة، بل في النظرة القاسية إلى الذات.\n\nيوضح أن المرأة غالباً ما تكون أشدّ ناقدٍ لنفسها؛ تركّز على ما تغيّر بفعل الزمن أو بعد الأمومة، وتتجاهل ملامحها المضيئة. لذلك يبدأ العلاج، برأيه، من تبديل زاوية الرؤية: إبراز العناصر الجميلة بدل تكريس العيوب، تماماً كما يفعل الرسّام حين يسلّط الضوء على أقوى تفاصيل لوحته\n\nالحلقة الكاملة:https://youtu.be/RA1t8hzDt8w", "الجمال يبدأ بالمصالحة مع الذات", "1d2d6ce7-a1ff-4ed9-8386-e93587f2a862", 107, false, "7HQ0B6B-4eM", "https://www.youtube.com/shorts/7HQ0B6B-4eM", 6, "/downloads/shorts/Podcast With Nayla#/Podcast With Nayla - 2026-02-13 - [7HQ0B6B-4eM].mp4", false, false, true, 180, [], 98, ~U[2026-02-13 16:34:00Z], ~U[2026-04-15 13:30:37Z], ~U[2026-04-15 13:30:37Z], "في \"بودكاست مع نايلة\"، يقدّم الدكتور ميشال مطران، جراح التجميل والترميم، مقاربة مختلفة لمفهوم الجمال: ليست المشكلة في المرآة، بل في النظرة القاسية إلى الذات.\n\nيوضح أن المرأة غالباً ما تكون أشدّ ناقدٍ لنفسها؛ تركّز على ما تغيّر بفعل الزمن أو بعد الأمومة، وتتجاهل ملامحها المضيئة. لذلك يبدأ العلاج، برأيه، من تبديل زاوية الرؤية: إبراز العناصر الجميلة بدل تكريس العيوب، تماماً كما يفعل الرسّام حين يسلّط الضوء على أقوى تفاصيل لوحته\n\nالحلقة الكاملة:https://youtu.be/RA1t8hzDt8w", "الجمال يبدأ بالمصالحة مع الذات", 107, false, "7HQ0B6B-4eM", "https://www.youtube.com/shorts/7HQ0B6B-4eM", "/downloads/shorts/Podcast With Nayla#/Podcast With Nayla - 2026-02-13 - [7HQ0B6B-4eM].mp4", true, 180, ~U[2026-02-13 16:34:00Z]] 13:30:37.392 [debug] QUERY OK source="sources" db=0.3ms idle=5.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [180] 13:30:37.394 [debug] QUERY OK source="media_items" db=1.2ms idle=4.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-12 16:54:12Z], 180] 13:30:37.395 [debug] QUERY OK source="media_items" db=1.0ms idle=5.5ms 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" ["في \"بودكاست مع نايلة\"، يروي الدكتور ميشال مطران، جراح التجميل والترميم، فلسفته التي تتجاوز الشكل إلى العمق: عودته إلى لبنان بدافع الحب لا المصلحة، المراحل الثلاث التي شكّلت وعيه في الغربة، وإيمانه بأن الجمال يبدأ من الداخل ويُصان بحدود أخلاقية يرفض بموجبها 80% من الطلبات غير المنطقية.\n\nمن ترميم ضحايا السرطان وانفجار 4 آب، إلى الدعوة للطب الوقائي وإطالة العمر الصحي، يؤكد مطران أن الجراحة رسالة تعيد الهوية والأمل.\nرسالته للإنسان والمرأة والعالم تختصر بـ: \"الحياة قصيرة، فلنجعلها ذات معنى…\"\n\nالحلقة الكاملة: https://youtu.be/RA1t8hzDt8w", "الدكتور ميشال مطران ضيف \"بودكاست مع نايلة\"", "cea5a816-f24e-4ddc-b79d-b7d00928f587", 66, false, "o6fydBSfyfM", "https://www.youtube.com/shorts/o6fydBSfyfM", 7, "/downloads/shorts/Podcast With Nayla#/Podcast With Nayla - 2026-02-12 - [o6fydBSfyfM].mp4", false, false, true, 180, [], 98, ~U[2026-02-12 16:54:12Z], ~U[2026-04-15 13:30:37Z], ~U[2026-04-15 13:30:37Z], "في \"بودكاست مع نايلة\"، يروي الدكتور ميشال مطران، جراح التجميل والترميم، فلسفته التي تتجاوز الشكل إلى العمق: عودته إلى لبنان بدافع الحب لا المصلحة، المراحل الثلاث التي شكّلت وعيه في الغربة، وإيمانه بأن الجمال يبدأ من الداخل ويُصان بحدود أخلاقية يرفض بموجبها 80% من الطلبات غير المنطقية.\n\nمن ترميم ضحايا السرطان وانفجار 4 آب، إلى الدعوة للطب الوقائي وإطالة العمر الصحي، يؤكد مطران أن الجراحة رسالة تعيد الهوية والأمل.\nرسالته للإنسان والمرأة والعالم تختصر بـ: \"الحياة قصيرة، فلنجعلها ذات معنى…\"\n\nالحلقة الكاملة: https://youtu.be/RA1t8hzDt8w", "الدكتور ميشال مطران ضيف \"بودكاست مع نايلة\"", 66, false, "o6fydBSfyfM", "https://www.youtube.com/shorts/o6fydBSfyfM", "/downloads/shorts/Podcast With Nayla#/Podcast With Nayla - 2026-02-12 - [o6fydBSfyfM].mp4", true, 180, ~U[2026-02-12 16:54:12Z]] 13:30:37.396 [debug] QUERY OK source="sources" db=0.3ms idle=5.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" = ?) [180] 13:30:37.397 [debug] QUERY OK source="media_items" db=1.2ms idle=4.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-08 17:01:28Z], 180] 13:30:37.399 [debug] QUERY OK source="media_items" db=0.9ms idle=5.5ms 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" ["زياد الشعّار، رجل الأعمال اللبناني ورئيس شركة Darglobal، يشاركنا دروسًا ثمينة في إدارة الوقت والحياة في برنامج “بودكاست مع نايلة”:\n“حياتنا قصيرة ووقتنا محدود، لذلك لا يمكن العمل لساعات طويلة بلا توقف. النجاح لا يأتي من إجهاد الذات، بل من التركيز على ما يؤثر فعليًا في النتائج، وعلى تطوير النفس والفريق.\"", "زياد الشعّار: إدارة الوقت مفتاح النجاح", "bd4ccc10-4f21-4150-8e1f-ead40efacf32", 111, false, "tZZSPFMW5_o", "https://www.youtube.com/shorts/tZZSPFMW5_o", 8, "/downloads/shorts/Podcast With Nayla#/Podcast With Nayla - 2026-02-08 - [tZZSPFMW5_o].mp4", false, false, true, 180, [], 98, ~U[2026-02-08 17:01:28Z], ~U[2026-04-15 13:30:37Z], ~U[2026-04-15 13:30:37Z], "زياد الشعّار، رجل الأعمال اللبناني ورئيس شركة Darglobal، يشاركنا دروسًا ثمينة في إدارة الوقت والحياة في برنامج “بودكاست مع نايلة”:\n“حياتنا قصيرة ووقتنا محدود، لذلك لا يمكن العمل لساعات طويلة بلا توقف. النجاح لا يأتي من إجهاد الذات، بل من التركيز على ما يؤثر فعليًا في النتائج، وعلى تطوير النفس والفريق.\"", "زياد الشعّار: إدارة الوقت مفتاح النجاح", 111, false, "tZZSPFMW5_o", "https://www.youtube.com/shorts/tZZSPFMW5_o", "/downloads/shorts/Podcast With Nayla#/Podcast With Nayla - 2026-02-08 - [tZZSPFMW5_o].mp4", true, 180, ~U[2026-02-08 17:01:28Z]] 13:30:37.399 [debug] QUERY OK source="sources" db=0.3ms 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" = ?) [180] 13:30:37.401 [debug] QUERY OK source="media_items" db=1.2ms idle=4.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-05 17:00:20Z], 180] 13:30:37.402 [debug] QUERY OK source="media_items" db=0.9ms idle=5.2ms 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" ["في هذه الحلقة من البودكاست، تستضيف نايلة تويني رجل الأعمال اللبناني والرئيس التنفيذي لشركة Darglobal، زياد الشعّار، في حوار عميق وصريح يتناول مسيرته المهنية، وفلسفته في بناء الشركات، وتجربته الشخصية التي شكّلت نظرته إلى القيادة والنجاح.\n\nالبودكاست الكامل عبر يوتيوب \"Podcast With Nayla\"", "زياد الشعّار ضيف \"بودكاست مع نايلة\"", "ba9f3945-9f20-4dd7-b65a-5afb38d99cc4", 71, false, "EaME4ObIqgI", "https://www.youtube.com/shorts/EaME4ObIqgI", 9, "/downloads/shorts/Podcast With Nayla#/Podcast With Nayla - 2026-02-05 - [EaME4ObIqgI].mp4", false, false, true, 180, [], 98, ~U[2026-02-05 17:00:20Z], ~U[2026-04-15 13:30:37Z], ~U[2026-04-15 13:30:37Z], "في هذه الحلقة من البودكاست، تستضيف نايلة تويني رجل الأعمال اللبناني والرئيس التنفيذي لشركة Darglobal، زياد الشعّار، في حوار عميق وصريح يتناول مسيرته المهنية، وفلسفته في بناء الشركات، وتجربته الشخصية التي شكّلت نظرته إلى القيادة والنجاح.\n\nالبودكاست الكامل عبر يوتيوب \"Podcast With Nayla\"", "زياد الشعّار ضيف \"بودكاست مع نايلة\"", 71, false, "EaME4ObIqgI", "https://www.youtube.com/shorts/EaME4ObIqgI", "/downloads/shorts/Podcast With Nayla#/Podcast With Nayla - 2026-02-05 - [EaME4ObIqgI].mp4", true, 180, ~U[2026-02-05 17:00:20Z]] 13:30:37.403 [debug] QUERY OK source="sources" db=0.3ms idle=5.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [180] 13:30:37.404 [debug] QUERY OK source="media_items" db=1.2ms idle=4.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-04 16:38:52Z], 180] 13:30:37.406 [debug] QUERY OK source="media_items" db=0.8ms idle=5.2ms 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" ["في حلقة جديدة من “بودكاست مع نايلة” تستضيف #نايلة_تويني الرئيس التنفيذي لشركة دار جلوبال ورئيس مجلس إدارة شركة Wasalt زياد الشعار \n\nيمكنكم مشاهدة الحلقة الكاملة الخميس 5 شباط، الساعة 19:00 بتوقيت بيروت, عبر قناة “Podcast with Nayla” على يوتيوب.", "زياد الشعار ضيف “بودكاست مع نايلة”", "7c5c8a38-f49e-4035-9db2-539234494e0d", 37, false, "IgU2FxlNQ5I", "https://www.youtube.com/shorts/IgU2FxlNQ5I", 10, "/downloads/shorts/Podcast With Nayla#/Podcast With Nayla - 2026-02-04 - [IgU2FxlNQ5I].mp4", false, false, true, 180, [], 98, ~U[2026-02-04 16:38:52Z], ~U[2026-04-15 13:30:37Z], ~U[2026-04-15 13:30:37Z], "في حلقة جديدة من “بودكاست مع نايلة” تستضيف #نايلة_تويني الرئيس التنفيذي لشركة دار جلوبال ورئيس مجلس إدارة شركة Wasalt زياد الشعار \n\nيمكنكم مشاهدة الحلقة الكاملة الخميس 5 شباط، الساعة 19:00 بتوقيت بيروت, عبر قناة “Podcast with Nayla” على يوتيوب.", "زياد الشعار ضيف “بودكاست مع نايلة”", 37, false, "IgU2FxlNQ5I", "https://www.youtube.com/shorts/IgU2FxlNQ5I", "/downloads/shorts/Podcast With Nayla#/Podcast With Nayla - 2026-02-04 - [IgU2FxlNQ5I].mp4", true, 180, ~U[2026-02-04 16:38:52Z]] 13:30:37.406 [debug] QUERY OK source="sources" db=0.3ms idle=4.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [180] 13:30:37.408 [debug] QUERY OK source="media_items" db=1.2ms idle=4.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-30 17:00:23Z], 180] 13:30:37.409 [debug] QUERY OK source="media_items" db=0.9ms idle=5.1ms 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" ["في هذا المقطع من “بودكاست مع نايلة”، يتحدث الفنان العراقي والمهندس المعماري والخطاط طه الهيتي عن تأثير طفولته وبيئته العائلية في تشكيل شخصيته الفنية. يكشف كيف أن نشأته بين ثلاث شقيقات أسهمت في تنمية حسّه الفني ونظرته للتفاصيل، وكيف بدأت علاقته بالرسم والخط منذ الصغر، حتى قبل أن يتعلّم القراءة.\n\nالبودكاست الكامل عبر يوتيوب \"Podcast With Nayla\"", "طه الهيتي: نظرة المرأة صنعت بدايتي الفنية", "6f8eddad-451e-4e87-a573-c8c2f8a02ec8", 100, false, "9Vxqvh6lAE4", "https://www.youtube.com/shorts/9Vxqvh6lAE4", 11, "/downloads/shorts/Podcast With Nayla#/Podcast With Nayla - 2026-01-30 - [9Vxqvh6lAE4].mp4", false, false, true, 180, [], 98, ~U[2026-01-30 17:00:23Z], ~U[2026-04-15 13:30:37Z], ~U[2026-04-15 13:30:37Z], "في هذا المقطع من “بودكاست مع نايلة”، يتحدث الفنان العراقي والمهندس المعماري والخطاط طه الهيتي عن تأثير طفولته وبيئته العائلية في تشكيل شخصيته الفنية. يكشف كيف أن نشأته بين ثلاث شقيقات أسهمت في تنمية حسّه الفني ونظرته للتفاصيل، وكيف بدأت علاقته بالرسم والخط منذ الصغر، حتى قبل أن يتعلّم القراءة.\n\nالبودكاست الكامل عبر يوتيوب \"Podcast With Nayla\"", "طه الهيتي: نظرة المرأة صنعت بدايتي الفنية", 100, false, "9Vxqvh6lAE4", "https://www.youtube.com/shorts/9Vxqvh6lAE4", "/downloads/shorts/Podcast With Nayla#/Podcast With Nayla - 2026-01-30 - [9Vxqvh6lAE4].mp4", true, 180, ~U[2026-01-30 17:00:23Z]] 13:30:37.410 [debug] QUERY OK source="sources" db=0.3ms idle=5.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [180] 13:30:37.411 [debug] QUERY OK source="media_items" db=1.2ms idle=4.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-29 17:02:22Z], 180] 13:30:37.412 [debug] QUERY OK source="media_items" db=0.8ms idle=5.2ms 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" ["في حلقة مميّزة من \"بودكاست مع نايلة\"، يشارك الفنان والمهندس المعماري والخطاط العراقي طه الهيتي رؤيته الفلسفية للحياة، حيث يعرّف نفسه أولاً كإنسان قبل أي لقب. من العمارة إلى الخط، ومن الحروب إلى الحرية، حديث صادق عن الجمال، التجربة، الإيقاع، والنقد… ولماذا يرى أن الخط هو \"الموسيقى المقروءة\"", "طه الهيتي في \"بودكاست مع نايلة\"", "40540814-2d2b-4981-ada0-d543fd6ec9fd", 54, false, "XEq2xbU7muI", "https://www.youtube.com/shorts/XEq2xbU7muI", 12, "/downloads/shorts/Podcast With Nayla#/Podcast With Nayla - 2026-01-29 - [XEq2xbU7muI].mp4", false, false, true, 180, [], 98, ~U[2026-01-29 17:02:22Z], ~U[2026-04-15 13:30:37Z], ~U[2026-04-15 13:30:37Z], "في حلقة مميّزة من \"بودكاست مع نايلة\"، يشارك الفنان والمهندس المعماري والخطاط العراقي طه الهيتي رؤيته الفلسفية للحياة، حيث يعرّف نفسه أولاً كإنسان قبل أي لقب. من العمارة إلى الخط، ومن الحروب إلى الحرية، حديث صادق عن الجمال، التجربة، الإيقاع، والنقد… ولماذا يرى أن الخط هو \"الموسيقى المقروءة\"", "طه الهيتي في \"بودكاست مع نايلة\"", 54, false, "XEq2xbU7muI", "https://www.youtube.com/shorts/XEq2xbU7muI", "/downloads/shorts/Podcast With Nayla#/Podcast With Nayla - 2026-01-29 - [XEq2xbU7muI].mp4", true, 180, ~U[2026-01-29 17:02:22Z]] 13:30:37.413 [debug] QUERY OK source="sources" db=0.3ms idle=4.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [180] 13:30:37.414 [debug] QUERY OK source="media_items" db=1.2ms idle=4.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-28 17:31:25Z], 180] 13:30:37.416 [debug] QUERY OK source="media_items" db=0.8ms idle=5.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" ["في حلقة جديدة من “بودكاست مع نايلة” تستضيف #نايلة_تويني الفنان العراقي والمهندس المعماري والخطاط طه الهيتي \n\nيمكنكم مشاهدة الحلقة الكاملة الخميس 29 كانون الثاني، الساعة 19:00 بتوقيت بيروت, عبر قناة “Podcast with Nayla” على يوتيوب.", "طه الهيتي ضيف “بودكاست مع نايلة”", "17174fe8-1d27-4bb6-a062-1d24649b4fc2", 33, false, "188ISWckW04", "https://www.youtube.com/shorts/188ISWckW04", 13, "/downloads/shorts/Podcast With Nayla#/Podcast With Nayla - 2026-01-28 - [188ISWckW04].mp4", false, false, true, 180, [], 98, ~U[2026-01-28 17:31:25Z], ~U[2026-04-15 13:30:37Z], ~U[2026-04-15 13:30:37Z], "في حلقة جديدة من “بودكاست مع نايلة” تستضيف #نايلة_تويني الفنان العراقي والمهندس المعماري والخطاط طه الهيتي \n\nيمكنكم مشاهدة الحلقة الكاملة الخميس 29 كانون الثاني، الساعة 19:00 بتوقيت بيروت, عبر قناة “Podcast with Nayla” على يوتيوب.", "طه الهيتي ضيف “بودكاست مع نايلة”", 33, false, "188ISWckW04", "https://www.youtube.com/shorts/188ISWckW04", "/downloads/shorts/Podcast With Nayla#/Podcast With Nayla - 2026-01-28 - [188ISWckW04].mp4", true, 180, ~U[2026-01-28 17:31:25Z]] 13:30:37.416 [debug] QUERY OK source="sources" db=0.3ms idle=4.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [180] 13:30:37.418 [debug] QUERY OK source="media_items" db=1.2ms idle=4.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-25 17:00:26Z], 180] 13:30:37.419 [debug] QUERY OK source="media_items" db=0.8ms idle=5.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" ["في هذا المقطع من “بودكاست مع نايلة”، يتحدث الفنان التشكيلي السعودي راشد الشعشعي عن مفهوم الإدهاش في الفن، مؤكداً أن العمل الفني لا يكتمل إلا بتفاعل الجمهور معه. \n\nالبودكاست الكامل عبر يوتيوب \"Podcast With Nayla\"", "العمل الفني لا يصبح فناً إلا بتفاعل الجمهور", "1062b4df-71cc-41fc-aab3-ae87915a0c4c", 120, false, "JCdYv1q5nWg", "https://www.youtube.com/shorts/JCdYv1q5nWg", 14, "/downloads/shorts/Podcast With Nayla#/Podcast With Nayla - 2026-01-25 - [JCdYv1q5nWg].mp4", false, false, true, 180, [], 98, ~U[2026-01-25 17:00:26Z], ~U[2026-04-15 13:30:37Z], ~U[2026-04-15 13:30:37Z], "في هذا المقطع من “بودكاست مع نايلة”، يتحدث الفنان التشكيلي السعودي راشد الشعشعي عن مفهوم الإدهاش في الفن، مؤكداً أن العمل الفني لا يكتمل إلا بتفاعل الجمهور معه. \n\nالبودكاست الكامل عبر يوتيوب \"Podcast With Nayla\"", "العمل الفني لا يصبح فناً إلا بتفاعل الجمهور", 120, false, "JCdYv1q5nWg", "https://www.youtube.com/shorts/JCdYv1q5nWg", "/downloads/shorts/Podcast With Nayla#/Podcast With Nayla - 2026-01-25 - [JCdYv1q5nWg].mp4", true, 180, ~U[2026-01-25 17:00:26Z]] 13:30:37.420 [debug] QUERY OK source="sources" db=0.3ms idle=4.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [180] 13:30:37.421 [debug] QUERY OK source="media_items" db=1.2ms idle=4.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-23 16:38:50Z], 180] 13:30:37.423 [debug] QUERY OK source="media_items" db=0.9ms idle=5.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" ["يرى الفنان التشكيلي السعودي راشد الشعشعي أن الفن الحقيقي هو ما يبقى أثره، لا ما يتكاثر حجمه. في حديثه مع نايلة تويني، يتوقف عند تحوّله من إنتاج الأعمال الفنية إلى بناء مؤسسات ثقافية ربحية وغير ربحية، بحثًا عن الاستدامة، وعن مكان عادل للفنان في هرم الاقتصاد، حيث يتحوّل الإبداع من فكرة إلى نظام", "الفنان التشكيلي السعودي راشد الشعشعي", "b5fac608-2061-48c0-b11a-1d939353be97", 111, false, "vOoeNyn4-oU", "https://www.youtube.com/shorts/vOoeNyn4-oU", 15, "/downloads/shorts/Podcast With Nayla#/Podcast With Nayla - 2026-01-23 - [vOoeNyn4-oU].mp4", false, false, true, 180, [], 98, ~U[2026-01-23 16:38:50Z], ~U[2026-04-15 13:30:37Z], ~U[2026-04-15 13:30:37Z], "يرى الفنان التشكيلي السعودي راشد الشعشعي أن الفن الحقيقي هو ما يبقى أثره، لا ما يتكاثر حجمه. في حديثه مع نايلة تويني، يتوقف عند تحوّله من إنتاج الأعمال الفنية إلى بناء مؤسسات ثقافية ربحية وغير ربحية، بحثًا عن الاستدامة، وعن مكان عادل للفنان في هرم الاقتصاد، حيث يتحوّل الإبداع من فكرة إلى نظام", "الفنان التشكيلي السعودي راشد الشعشعي", 111, false, "vOoeNyn4-oU", "https://www.youtube.com/shorts/vOoeNyn4-oU", "/downloads/shorts/Podcast With Nayla#/Podcast With Nayla - 2026-01-23 - [vOoeNyn4-oU].mp4", true, 180, ~U[2026-01-23 16:38:50Z]] 13:30:37.423 [debug] QUERY OK source="sources" db=0.4ms idle=4.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [180] 13:30:37.425 [debug] QUERY OK source="media_items" db=1.2ms idle=4.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-22 17:07:43Z], 180] 13:30:37.426 [debug] QUERY OK source="media_items" db=1.1ms idle=5.2ms 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" ["في هذه الحلقة من بودكاست مع نايلة، تستضيف نايلة تويني الفنان التشكيلي السعودي راشد الشعشعي في حوار عميق يتجاوز السيرة الشخصية إلى أسئلة الفن، الوجود، والهوية.\n\nمن طفولته في القرية، وعلاقته المبكرة بالطبيعة، والضباب، والزراعة، إلى انتقاله إلى مكة ثم الرياض، يروي الشعشعي كيف تشكّل وعيه البصري، وكيف أصبح الفن بالنسبة له أسلوب حياة لا مهنة فقط.\nنتوقف عند تجربته في التعليم، وتأثير والده، ودور المدرسة، والأسواق، والعمل المبكر في تكوين شخصيته الفنية، وصولاً إلى رؤيته للفن اليوم ككائن حي يتطور مع الإنسان والمجتمع.\nحلقة تناقش معنى الفن في زمن السرعة، التكنولوجيا، والذكاء الاصطناعي، ودور الفنان في خلق الدهشة، وملء الفراغ الإنساني في حياة معاصرة شديدة التنظيم.\n\n حوار غني بالفلسفة، الذاكرة، والأسئلة المفتوحة عن الجمال، اللون، والوظيفة الاجتماعية للفن.", "راشد الشعشعي في \"بودكاست مع نايلة\"", "470c6b1a-1587-4df4-97a1-a696c94db765", 62, false, "yAr6gjOELog", "https://www.youtube.com/shorts/yAr6gjOELog", 16, "/downloads/shorts/Podcast With Nayla#/Podcast With Nayla - 2026-01-22 - [yAr6gjOELog].mp4", false, false, true, 180, [], 98, ~U[2026-01-22 17:07:43Z], ~U[2026-04-15 13:30:37Z], ~U[2026-04-15 13:30:37Z], "في هذه الحلقة من بودكاست مع نايلة، تستضيف نايلة تويني الفنان التشكيلي السعودي راشد الشعشعي في حوار عميق يتجاوز السيرة الشخصية إلى أسئلة الفن، الوجود، والهوية.\n\nمن طفولته في القرية، وعلاقته المبكرة بالطبيعة، والضباب، والزراعة، إلى انتقاله إلى مكة ثم الرياض، يروي الشعشعي كيف تشكّل وعيه البصري، وكيف أصبح الفن بالنسبة له أسلوب حياة لا مهنة فقط.\nنتوقف عند تجربته في التعليم، وتأثير والده، ودور المدرسة، والأسواق، والعمل المبكر في تكوين شخصيته الفنية، وصولاً إلى رؤيته للفن اليوم ككائن حي يتطور مع الإنسان والمجتمع.\nحلقة تناقش معنى الفن في زمن السرعة، التكنولوجيا، والذكاء الاصطناعي، ودور الفنان في خلق الدهشة، وملء الفراغ الإنساني في حياة معاصرة شديدة التنظيم.\n\n حوار غني بالفلسفة، الذاكرة، والأسئلة المفتوحة عن الجمال، اللون، والوظيفة الاجتماعية للفن.", "راشد الشعشعي في \"بودكاست مع نايلة\"", 62, false, "yAr6gjOELog", "https://www.youtube.com/shorts/yAr6gjOELog", "/downloads/shorts/Podcast With Nayla#/Podcast With Nayla - 2026-01-22 - [yAr6gjOELog].mp4", true, 180, ~U[2026-01-22 17:07:43Z]] 13:30:37.427 [debug] QUERY OK source="sources" db=0.4ms idle=5.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [180] 13:30:37.428 [debug] QUERY OK source="media_items" db=1.2ms idle=4.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-21 17:00:18Z], 180] 13:30:37.430 [debug] QUERY OK source="media_items" db=0.9ms idle=5.7ms 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" ["في حلقة جديدة من \"بودكاست مع نايلة\" تستضيف #نايلة_تويني الفنان التشكيلي السعودي راشد الشعشعي\n\nيمكنكم مشاهدة الحلقة الكاملة الخميس 21 كانون الثاني، الساعة 19:00 بتوقيت بيروت, عبر قناة “Podcast with Nayla” على يوتيوب.\n\n@naylatueni \n\n#PodcastWithNayla\n#بودكاست_مع_نايلة", "راشد الشعشعي ضيف \"بودكاست مع نايلة\"", "cfbe48bd-f6fb-4355-87eb-d02fb31edace", 33, false, "D8Q68QZpp0E", "https://www.youtube.com/shorts/D8Q68QZpp0E", 17, "/downloads/shorts/Podcast With Nayla#/Podcast With Nayla - 2026-01-21 - [D8Q68QZpp0E].mp4", false, false, true, 180, [], 98, ~U[2026-01-21 17:00:18Z], ~U[2026-04-15 13:30:37Z], ~U[2026-04-15 13:30:37Z], "في حلقة جديدة من \"بودكاست مع نايلة\" تستضيف #نايلة_تويني الفنان التشكيلي السعودي راشد الشعشعي\n\nيمكنكم مشاهدة الحلقة الكاملة الخميس 21 كانون الثاني، الساعة 19:00 بتوقيت بيروت, عبر قناة “Podcast with Nayla” على يوتيوب.\n\n@naylatueni \n\n#PodcastWithNayla\n#بودكاست_مع_نايلة", "راشد الشعشعي ضيف \"بودكاست مع نايلة\"", 33, false, "D8Q68QZpp0E", "https://www.youtube.com/shorts/D8Q68QZpp0E", "/downloads/shorts/Podcast With Nayla#/Podcast With Nayla - 2026-01-21 - [D8Q68QZpp0E].mp4", true, 180, ~U[2026-01-21 17:00:18Z]] 13:30:37.431 [debug] QUERY OK source="sources" db=0.3ms idle=5.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" = ?) [180] 13:30:37.432 [debug] QUERY OK source="media_items" db=1.2ms idle=4.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-19 17:57:46Z], 180] 13:30:37.433 [debug] QUERY OK source="media_items" db=0.9ms idle=5.1ms 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" ["الكاتبة والروائية السعودية بدرية البشر تروي في من “بودكاست مع نايلة” رحلتها من حي شعبي حيث وُلدت ودرست، إلى اكتشاف العالم وكتابة حكايات عن المرأة القادرة على الصمود والحب والكرامة، والرجل الشهم الذي يحمي الضعيف.\n\nالبودكاست الكامل عبر يوتيوب \"بودكاست مع نايلة\"\u2069\n\n\n✅ الاشتراك في القناة : \nhttps://shorturl.at/bkjsi", "بدرية البشر وتحوّلات المرأة السعودية في “بودكاست مع نايلة”", "fd4b30be-4741-4a08-8daf-bc270aadabd3", 146, false, "b_Rz4qFxt6w", "https://www.youtube.com/shorts/b_Rz4qFxt6w", 18, "/downloads/shorts/Podcast With Nayla#/Podcast With Nayla - 2026-01-19 - [b_Rz4qFxt6w].mp4", false, false, true, 180, [], 98, ~U[2026-01-19 17:57:46Z], ~U[2026-04-15 13:30:37Z], ~U[2026-04-15 13:30:37Z], "الكاتبة والروائية السعودية بدرية البشر تروي في من “بودكاست مع نايلة” رحلتها من حي شعبي حيث وُلدت ودرست، إلى اكتشاف العالم وكتابة حكايات عن المرأة القادرة على الصمود والحب والكرامة، والرجل الشهم الذي يحمي الضعيف.\n\nالبودكاست الكامل عبر يوتيوب \"بودكاست مع نايلة\"\u2069\n\n\n✅ الاشتراك في القناة : \nhttps://shorturl.at/bkjsi", "بدرية البشر وتحوّلات المرأة السعودية في “بودكاست مع نايلة”", 146, false, "b_Rz4qFxt6w", "https://www.youtube.com/shorts/b_Rz4qFxt6w", "/downloads/shorts/Podcast With Nayla#/Podcast With Nayla - 2026-01-19 - [b_Rz4qFxt6w].mp4", true, 180, ~U[2026-01-19 17:57:46Z]] 13:30:37.434 [debug] QUERY OK source="sources" db=0.4ms idle=5.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" = ?) [180] 13:30:37.436 [debug] QUERY OK source="media_items" db=1.2ms idle=4.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-16 17:00:02Z], 180] 13:30:37.438 [debug] QUERY OK source="media_items" db=2.4ms idle=5.2ms 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" ["في هذا المقطع من “بودكاست مع نايلة”، تتحدث مشاعل الشميمري عن طفولتها وبدايات حلمها بالفضاء، كاشفةً كيف كان دعم عائلتها عاملاً حاسماً في مسيرتها.\n\nالبودكاست الكامل عبر يوتيوب \"Podcast With Nayla\"", "مشاعل الشميمري: دعم العائلة كان الوقود الأول للحلم", "e86bf885-84bf-45e8-96c2-00cfb48b3e48", 85, false, "aac13O3bKAw", "https://www.youtube.com/shorts/aac13O3bKAw", 19, "/downloads/shorts/Podcast With Nayla#/Podcast With Nayla - 2026-01-16 - [aac13O3bKAw].mp4", false, false, true, 180, [], 98, ~U[2026-01-16 17:00:02Z], ~U[2026-04-15 13:30:37Z], ~U[2026-04-15 13:30:37Z], "في هذا المقطع من “بودكاست مع نايلة”، تتحدث مشاعل الشميمري عن طفولتها وبدايات حلمها بالفضاء، كاشفةً كيف كان دعم عائلتها عاملاً حاسماً في مسيرتها.\n\nالبودكاست الكامل عبر يوتيوب \"Podcast With Nayla\"", "مشاعل الشميمري: دعم العائلة كان الوقود الأول للحلم", 85, false, "aac13O3bKAw", "https://www.youtube.com/shorts/aac13O3bKAw", "/downloads/shorts/Podcast With Nayla#/Podcast With Nayla - 2026-01-16 - [aac13O3bKAw].mp4", true, 180, ~U[2026-01-16 17:00:02Z]] 13:30:37.439 [debug] QUERY OK source="sources" db=0.3ms idle=6.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [180] 13:30:37.441 [debug] QUERY OK source="media_items" db=1.2ms idle=5.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-15 17:01:12Z], 180] 13:30:37.442 [debug] QUERY OK source="media_items" db=1.0ms idle=6.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" ["في حلقة استثنائية من “بودكاست مع نايلة”، تستضيف نايلة تويني المهندسة وكابتن الطيار مشاعل الشميمري، أول امرأة في هندسة الطيران في الخليج. نتعرف على رحلتها من طفلة صغيرة تحدق في النجوم في صحراء عنيزة، إلى مهندسة فضاء تبني الصواريخ وتواجه التحديات في عالم يهيمن عليه الرجال. مشاعل تشاركنا قصص الإصرار، التغلب على التمييز، وأهمية الخيال والفشل كخطوات نحو النجاح.\n\nالبودكاست الكامل عبر يوتيوب \"Podcast With Nayla\"", "مشاعل الشميمري: من صحراء عنيزة إلى الفضاء… رحلة حلم وإصرار", "dcfe8a2a-af28-4501-83a2-fe3ca93b0f88", 62, false, "d8OMo4pYCQ4", "https://www.youtube.com/shorts/d8OMo4pYCQ4", 20, "/downloads/shorts/Podcast With Nayla#/Podcast With Nayla - 2026-01-15 - [d8OMo4pYCQ4].mp4", false, false, true, 180, [], 98, ~U[2026-01-15 17:01:12Z], ~U[2026-04-15 13:30:37Z], ~U[2026-04-15 13:30:37Z], "في حلقة استثنائية من “بودكاست مع نايلة”، تستضيف نايلة تويني المهندسة وكابتن الطيار مشاعل الشميمري، أول امرأة في هندسة الطيران في الخليج. نتعرف على رحلتها من طفلة صغيرة تحدق في النجوم في صحراء عنيزة، إلى مهندسة فضاء تبني الصواريخ وتواجه التحديات في عالم يهيمن عليه الرجال. مشاعل تشاركنا قصص الإصرار، التغلب على التمييز، وأهمية الخيال والفشل كخطوات نحو النجاح.\n\nالبودكاست الكامل عبر يوتيوب \"Podcast With Nayla\"", "مشاعل الشميمري: من صحراء عنيزة إلى الفضاء… رحلة حلم وإصرار", 62, false, "d8OMo4pYCQ4", "https://www.youtube.com/shorts/d8OMo4pYCQ4", "/downloads/shorts/Podcast With Nayla#/Podcast With Nayla - 2026-01-15 - [d8OMo4pYCQ4].mp4", true, 180, ~U[2026-01-15 17:01:12Z]] 13:30:37.443 [debug] QUERY OK source="sources" db=0.3ms idle=6.6ms UPDATE "sources" SET "last_indexed_at" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-04-15 13:30:37Z], ~U[2026-04-15 13:30:37Z], 180] 13:30:37.444 [debug] QUERY OK source="media_items" db=1.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 ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [180] 13:30:37.446 [debug] QUERY OK source="media_items" db=1.4ms idle=5.5ms SELECT count(*) FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [180] 13:30:37.447 [debug] QUERY OK source="media_items" db=0.4ms idle=5.6ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [180] 13:30:37.450 [debug] QUERY OK source="tasks" db=0.4ms idle=4.9ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2192141, 180, ~U[2026-04-15 13:30:37Z], ~U[2026-04-15 13:30:37Z]] 13:30:37.450 [info] {"args":{"id":180},"id":2187247,"meta":{},"state":"success","max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","duration":336431139,"event":"job:stop","queue_time":207909,"attempt":1,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 13:30:43.428 [info] {"source":"oban","duration":17839,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:30:50.700 [info] GET /sources/260/media/4320259 13:30:50.701 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "4320259", "prevent_download" => "true", "source_id" => "260"} Pipelines: [:browser] 13:30:50.701 [debug] QUERY OK source="media_items" db=0.1ms idle=1690.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" = ?) [4320259] 13:30:50.702 [debug] QUERY OK source="tasks" db=0.1ms idle=1690.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" [4320259] 13:30:50.702 [debug] QUERY OK source="sources" db=0.3ms idle=1690.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" = ?) [260] 13:30:50.702 [debug] QUERY OK source="settings" db=0.1ms idle=1233.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:30:50.703 [debug] QUERY OK source="settings" db=0.2ms idle=232.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:30:50.703 [debug] QUERY OK source="settings" db=0.1ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:30:50.704 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.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" = ?) [2] 13:30:50.706 [info] Sent 200 in 5ms 13:31:00.867 [info] {"source":"oban","duration":123,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:31:09.500 [info] {"args":{"id":46},"id":2192105,"meta":{},"system_time":1776259869500174391,"max_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:09.500 [debug] QUERY OK source="sources" db=0.3ms idle=1489.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" = ?) [46] 13:31:09.501 [debug] QUERY OK source="settings" db=0.8ms idle=1489.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:09.502 [debug] QUERY OK source="media_profiles" db=0.2ms idle=1010.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" = ?) [2] 13:31:09.502 [debug] QUERY OK source="settings" db=0.2ms idle=9.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:09.502 [debug] Fetching recent media IDs from YouTube API for playlist: UU6A5Hm2n4ua3gYOHAXxbwbg 13:31:09.503 [debug] QUERY OK source="settings" db=0.2ms idle=2.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:31:09.503 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 13:31:09.815 [debug] QUERY OK source="media_items" db=1.2ms idle=312.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [46, "91FeGvZJScY", "CYBhH_JYrao", "bZT12EHs9Yg", "kbyoiRxn4PI", "SOBkcZSh9II", "zxgDhss5Exw", "amWmTGGET0E", "lHSr_TCLAhk", "fAvcbWRtbyY", "sSD4o9fv_Ew", "krEyWTE0BnQ", "Kz54TXV2ZA4", "PtuYWSOmUPg", "xjw6HjH1noU", "hC2iGUBovAE", "dI34Vp0NFxo", "iH5m0ygselg", "HxUaarF3cOE", "MMOATdS4HTY", "hNctdULnqXQ", "hri9lwiAmbU", "MpuKiJvR3iU", "ZGhsiJ7xyMM", "FlX8Oi3j2lA", "qotJKnBv_XY", "S-NmaIYR_9A", "nOUKPh8FyOA", "sPXEIXVBQPc", "VLm4ts60Jlw", "cM_ILEVbG38", "tZvrO4sGQS0", "OZP4vBfv8cY", "zyjZ2Ywo-sE", "0h-0sZswhS0", "LPVlRTKp4LY", "Jw9Oufynn44", "-SAsUMbDi0c", "vULJb128GAs", "PHs_eSgo9O4", "9CenR6dKkp4", "iO8InAwJARw", "pxSbAVwVPtg", "jvQiQnJUkYE", "okvHOwXHwrs", "Ske0itt1bEY", "T0L4hNCy_9Q", "A0ZpqNJzNcM", "y1yd3nZ9CEk", "pNZjleftqOs", ...] 13:31:09.818 [debug] QUERY OK source="media_items" db=2.3ms idle=314.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")))) [46] 13:31:09.820 [debug] QUERY OK source="tasks" db=0.3ms idle=317.2ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2192142, 46, ~U[2026-04-15 13:31:09Z], ~U[2026-04-15 13:31:09Z]] 13:31:09.821 [info] {"args":{"id":46},"id":2192105,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":320872,"event":"job:stop","queue_time":504889,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:31:13.447 [info] {"source":"oban","duration":17824,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:31:22.516 [info] {"args":{"id":162},"id":2192107,"meta":{},"system_time":1776259882516100599,"max_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:22.516 [debug] QUERY OK source="sources" db=0.3ms idle=1505.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" = ?) [162] 13:31:22.517 [debug] QUERY OK source="settings" db=0.2ms idle=1505.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:22.518 [debug] QUERY OK source="media_profiles" db=0.9ms idle=1009.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" = ?) [2] 13:31:22.518 [debug] QUERY OK source="settings" db=0.2ms idle=9.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:31:22.518 [debug] Fetching recent media IDs from YouTube API for playlist: UUABzsyFLLA-fKu05lR-49RA 13:31:22.519 [debug] QUERY OK source="settings" db=0.1ms idle=3.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:31:22.519 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 13:31:22.794 [debug] QUERY OK source="media_items" db=1.2ms idle=276.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [162, "ekjubKROBRg", "4pyotqfBLhM", "2rPbJvL3j4Y", "2O90s2wLTos", "8ZEYPhSYVIE", "MhmiUOWYTxY", "T3HEM7ZNQPA", "V9g3NsG6ut4", "KFgnlLa1D3c", "xuK6RuwvSqs", "d1T9zgY6e8U", "U37vbS9xCmA", "4VfVt3CmdrE", "LHNQ0Hi1a0Q", "kiBovELN07k", "_BwwTsb2TI0", "O9nDiWzdXlo", "T0ZcxY4D2aA", "-12pzaDhv_A", "p2YtdDNlU6k", "FJ9jGXXdoUo", "QbRHZBbwpbA", "jo9TYjGV7uQ", "eECh3m0EVG0", "VvwxdVWgXh0", "qVXJvOy80Q4", "3F4x-FMlEjA", "Tf07AdpNyww", "eP5Nph4v_DE", "ZnLiB07EjmM", "SRE_KFmxcq8", "Lx_lGb9dkYQ", "dMZ3w9NsjrM", "saSk7K_qJEo", "zrRiTNHXA1w", "JDEMAWmI6hU", "PODXln9kxPI", "ewnhb2rTabk", "ZbgB2Wdq6pA", "83PGdBO5sJk", "Z5K6fG36bDM", "snQvJ89e53Y", "15cm2QYHlSY", "Sh9rBNM8AHk", "NOZ6drrRrI8", "PHEHlvvVeAw", "t9omgey7Q0w", "6IYTsuTZeuI", "swAglzdSLts", ...] 13:31:22.798 [debug] QUERY OK source="media_items" db=2.6ms idle=278.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")))) [162] 13:31:22.800 [debug] QUERY OK source="tasks" db=0.2ms idle=280.9ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2192143, 162, ~U[2026-04-15 13:31:22Z], ~U[2026-04-15 13:31:22Z]] 13:31:22.801 [info] {"args":{"id":162},"id":2192107,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":284625,"event":"job:stop","queue_time":430614,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:31:29.467 [info] GET /sources/161/media/4687535 13:31:29.467 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "4687535", "prevent_download" => "true", "source_id" => "161"} Pipelines: [:browser] 13:31:29.468 [debug] QUERY OK source="media_items" db=0.2ms idle=1456.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" = ?) [4687535] 13:31:29.468 [debug] QUERY OK source="tasks" db=0.1ms idle=1457.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" [4687535] 13:31:29.469 [debug] QUERY OK source="sources" db=0.3ms idle=1457.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" = ?) [161] 13:31:29.469 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=1458.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" = ?) [2172422] 13:31:29.470 [debug] QUERY OK source="settings" db=0.1ms idle=951.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:29.470 [debug] QUERY OK source="settings" db=0.1ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:31:29.471 [debug] QUERY OK source="settings" db=0.1ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:31:29.471 [debug] QUERY OK source="media_profiles" db=0.2ms idle=2.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" = ?) [2] 13:31:29.473 [info] Sent 200 in 6ms 13:31:43.466 [info] {"source":"oban","duration":17780,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:32:00.868 [info] {"source":"oban","duration":123,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:32:02.350 [info] GET /sources/155/media/4624096 13:32:02.350 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "4624096", "prevent_download" => "true", "source_id" => "155"} Pipelines: [:browser] 13:32:02.351 [debug] QUERY OK source="media_items" db=0.2ms queue=0.1ms idle=1339.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" = ?) [4624096] 13:32:02.351 [debug] QUERY OK source="tasks" db=0.1ms idle=1340.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" [4624096] 13:32:02.351 [debug] QUERY OK source="sources" db=0.3ms idle=1340.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" = ?) [155] 13:32:02.352 [debug] QUERY OK source="settings" db=0.1ms idle=797.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:32:02.352 [debug] QUERY OK source="settings" db=0.1ms idle=341.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:32:02.353 [debug] QUERY OK source="settings" db=0.1ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:32:02.354 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 13:32:02.355 [info] Sent 200 in 5ms 13:32:08.571 [info] {"args":{"id":171},"id":2192108,"meta":{},"system_time":1776259928571018588,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:32:08.571 [debug] QUERY OK source="sources" db=0.3ms idle=560.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" = ?) [171] 13:32:08.572 [debug] QUERY OK source="settings" db=0.8ms idle=560.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:32:08.573 [debug] QUERY OK source="media_profiles" db=0.2ms idle=561.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" = ?) [2] 13:32:08.573 [debug] QUERY OK source="settings" db=0.2ms idle=9.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:32:08.573 [debug] Fetching recent media IDs from YouTube API for playlist: UUPCJJLOkkiG_nO9lZkfXnjw 13:32:08.574 [debug] QUERY OK source="settings" db=0.1ms idle=2.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:32:08.574 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 13:32:08.912 [debug] QUERY OK source="media_items" db=1.3ms idle=339.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [171, "VFX3pYhqhMc", "8akbqnY6xfo", "mQGq7-_ZQpk", "DvU-9b-WRJQ", "qcVMc5qMHMc", "ZyaHtWeeQJo", "ObsLfR-eCfU", "wlrCH1ymC38", "BClWowlDc8Y", "IURONY7yLa0", "tXm7P3osDUM", "fEJp3H2bGIY", "ckYlSSk9ZDY", "6eKiHxor-8w", "m4s-6oJifb4", "J4KgJCBFs3I", "JJX9_mf8FpA", "KYuy8_X3KnQ", "fAKwe1CyPFQ", "25U_zUTaGl4", "OH-Lamsjd9Q", "hswGipBbpOs", "xy6xhSL7UCs", "VV-71sXr_Eg", "GtzJpE7Immk", "rrHhJaJ4PnE", "baWEivZpZpo", "eBYlWe7Cr7U", "k2AXmp7yS9A", "Y2M9tN8gnj0", "6ma-PaQ-e6c", "JOeBw_6a5XU", "LXdTRc3Tzu4", "owNOuAsIk5U", "us6iLwMmGKE", "GaGQuySKjYQ", "LaU1HhuupRQ", "SI-1fDbu4ss", "VgyfdGRM4Pc", "rHAI52w5zxs", "lzGGMh8vkyc", "NoqX1AM-4VA", "UH4xsNgVKrU", "0mT-lxX7dLo", "YuJWnY0puNw", "_BC4l__ihhY", "yH5YAprPCA0", "JKxMb-Ky2P0", "kA0vffcJPD4", ...] 13:32:08.914 [debug] QUERY OK source="media_items" db=1.1ms idle=340.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")))) [171] 13:32:08.916 [debug] QUERY OK source="tasks" db=0.3ms idle=342.1ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2192144, 171, ~U[2026-04-15 13:32:08Z], ~U[2026-04-15 13:32:08Z]] 13:32:08.917 [info] {"args":{"id":171},"id":2192108,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":345684,"event":"job:stop","queue_time":491079,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:32:13.486 [info] {"source":"oban","duration":17953,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:32:33.580 [info] GET /sources/347/media/4263279 13:32:33.581 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "4263279", "prevent_download" => "true", "source_id" => "347"} Pipelines: [:browser] 13:32:33.581 [debug] QUERY OK source="media_items" db=0.2ms idle=1570.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" = ?) [4263279] 13:32:33.582 [debug] QUERY OK source="tasks" db=0.1ms idle=1570.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" [4263279] 13:32:33.582 [debug] QUERY OK source="sources" db=0.3ms idle=1570.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" = ?) [347] 13:32:33.582 [debug] QUERY OK source="settings" db=0.1ms idle=992.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:32:33.583 [debug] QUERY OK source="settings" db=0.2ms idle=571.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:32:33.583 [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 [] 13:32:33.584 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:32:33.595 [info] Sent 200 in 14ms 13:32:39.607 [info] {"args":{"id":45},"id":2192109,"meta":{},"system_time":1776259959607055157,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:32:39.607 [debug] QUERY OK source="sources" db=0.3ms idle=596.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" = ?) [45] 13:32:39.608 [debug] QUERY OK source="settings" db=0.2ms idle=596.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:32:39.609 [debug] QUERY OK source="media_profiles" db=0.7ms idle=597.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" = ?) [2] 13:32:39.609 [debug] QUERY OK source="settings" db=0.2ms idle=9.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:32:39.609 [debug] Fetching recent media IDs from YouTube API for playlist: UUMQ18I4n6ccOSNDLfdhrUbQ 13:32:39.609 [debug] QUERY OK source="settings" db=0.1ms idle=2.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:32:39.610 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 13:32:39.968 [debug] QUERY OK source="media_items" db=1.3ms idle=358.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [45, "K3YX-iM4LQ0", "1th0U5H3aHc", "HGQV0of6nTE", "tKUGP9uxthw", "zQ3Qx9XHEf4", "oh-kSHOIQ-c", "RIGhyFg4AEY", "v9qp1yPZt94", "gMO10EuN6KY", "guC1BavbIsk", "Fmcoi8sp3kY", "UHXR0zqI9J8", "AAbWLkNEyac", "zlJ3ZE4YpI8", "vJLpHsN9O_M", "kUUO6WBjK7Y", "9MmcAy4OnXQ", "7G_bPyOUvq0", "Rc52Q9uG9p0", "Y8n3lqN1i3g", "dD8t_STorhk", "3dNHma-3EgY", "No3485rTj_Y", "xoIs_xBbBWQ", "3K3hFo6GUvU", "NhOWgP2G6SQ", "Phk0M8YZHc4", "_IAzU1Fd9Ak", "PMpaUqMnKiI", "p0NoIs5o5_8", "dy-0x1OV7mQ", "la8vobugu4g", "x6Ya11dw01M", "btegTB5eZC8", "awVvsRDCfkw", "6RwmzCGOVYk", "DIQ2PB2ht0Y", "vu6koXlG7Po", "Eoe_RDgTSFw", "zSVaXb8nd4E", "0vFVIUPZOto", "lJ-mtNTLrHE", "uZ79fUJjhyQ", "HWMx3-Xlr6Y", "kUtb_rKxgw0", "qmiQw-kcCfI", "PtJ2G8fLzSs", "lmjBT5TyeLc", "PEM_S-3B_Ps", ...] 13:32:39.971 [debug] QUERY OK source="media_items" db=2.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 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [45] 13:32:39.974 [debug] QUERY OK source="tasks" db=0.3ms idle=363.6ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2192145, 45, ~U[2026-04-15 13:32:39Z], ~U[2026-04-15 13:32:39Z]] 13:32:39.974 [info] {"args":{"id":45},"id":2192109,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":367111,"event":"job:stop","queue_time":385088,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:32:43.505 [info] {"source":"oban","duration":18130,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:32:45.615 [info] {"args":{"id":550},"id":2192110,"meta":{},"system_time":1776259965615016823,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:32:45.615 [debug] QUERY OK source="sources" db=0.2ms idle=604.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" = ?) [550] 13:32:45.616 [debug] QUERY OK source="settings" db=0.7ms idle=604.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:32:45.617 [debug] QUERY OK source="media_profiles" db=0.2ms idle=605.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" = ?) [2] 13:32:45.617 [debug] QUERY OK source="settings" db=0.2ms idle=9.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:32:45.617 [debug] Fetching recent media IDs from YouTube API for playlist: UUyVm0Ssw0oOM3GVTFEgfhVg 13:32:45.618 [debug] QUERY OK source="settings" db=0.1ms idle=2.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:32:45.618 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 13:32:45.884 [debug] QUERY OK source="media_items" db=0.8ms idle=267.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [550, "VVIu4Gd4Bmc", "VGkvWr49xiw", "FdtdrFElwxQ", "BiF8O-aJPsk", "pEPIdeIbSqE", "HVKDahMQhLU", "K1Z5WWHlSs0", "bTV-2GoMx5k", "5sktFoXR3kE", "Iw29TZ6SLvo", "QC4YTqx7lzA", "BIqcmk-5aJw", "YNoKdu3sWVw", "lDBjR9fkeyk", "UUw-e-5nl_w", "dWSKUDO1V2I", "ZxzpHQbUKZ8", "-88OXqMJjwg", "la1zxxjndF4", "d9IgzofO0fw", "o5zrD7rGl30", "quRGt1p1A6k", "IaipBYPY5V4", "iQu6FfiMnF4", "8xBlIDRpM28", "Lfo4DApK5a4", "bCJ3n8KOHYg", "Sjq6OHG4LSA", "8dSZzMsNwyE", "D6scLf0M_fw", "LbqgtTaCN-k", "VipSIn8XPCo", "laY5ME4rd8I", "iEqiRJ55fSM", "KpJw8Q3uePk", "wwRpgDY-BWw", "iV1WybdFWlE", "-orEfZNWjmY", "sBdEudKHhrc", "VBf9tHUdj1E", "whEUmNj9kZE", "n1-6atPiL-g", "xeXJJg6jwm0", "T65vDEtDyu0", "pe0HV6-wnsU", "i0IdbczAU7I", "2tGs0NNZaAM", "bq6i0vWfoZ0", "sRC7ONGF8EQ", ...] 13:32:45.885 [debug] QUERY OK source="media_items" db=0.5ms idle=268.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")))) [550] 13:32:45.887 [debug] QUERY OK source="tasks" db=0.3ms idle=269.3ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2192146, 550, ~U[2026-04-15 13:32:45Z], ~U[2026-04-15 13:32:45Z]] 13:32:45.888 [info] {"args":{"id":550},"id":2192110,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":272874,"event":"job:stop","queue_time":534193,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:32:59.633 [info] {"args":{"id":432},"id":2192111,"meta":{},"system_time":1776259979633121268,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:32:59.633 [debug] QUERY OK source="sources" db=0.2ms idle=622.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [432] 13:32:59.634 [debug] QUERY OK source="settings" db=0.2ms idle=622.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:32:59.634 [debug] QUERY OK source="media_profiles" db=0.3ms idle=623.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" = ?) [3] 13:32:59.635 [debug] QUERY OK source="settings" db=0.2ms idle=8.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:32:59.635 [debug] Fetching recent media IDs from YouTube API for playlist: UUjqNqKjLuFBCfjZ5WoI0_Kw 13:32:59.635 [debug] QUERY OK source="settings" db=0.1ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:32:59.635 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 13:32:59.893 [debug] QUERY OK source="media_items" db=1.1ms idle=257.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [432, "BNcH5os2Azc", "yB1u7nWLyZM", "R9PH1e1T4bE", "mRIpLTPueWs", "eiVtQXCEJNI", "wVff1dLCB2o", "yKp5TotCvCM", "YzSEz5GqB9c", "FVkgWH0fdG4", "Vs9a6lqv2Mk", "m4NrFYSOXM8", "_91NR0tetqI", "y9T5O1B2Y8I", "a447IYbwNjk", "5fyJDR9E5dI", "tNLR5cr-GpM", "SRPizcmFrqI", "CRAuwECvcoE", "BWixeDYPutA", "kdoJee--cYo", "_L0JyHhOPa8", "cYOILGWiA90", "WSk4s-6dWho", "Fcocf1LGh8k", "ALSaV53wF_8", "8210atQw6mk", "xS335AwgMhE", "U7Ao_x_mZrc", "SHtY1j8nD80", "7DaGvK3ZlzM", "oC1KNxej1a0", "UcXUMjckYlI", "aRfBOREb9yk", "TDNwMa688us", "3vlPML1zG3E", "RkmKL4n9xLQ", "JdCOo0MBWM4", "zmj1XdI1edU", "rWxi69DrDWc", "eUftJ6-GB9E", "vbkMwqI6iKw", "qZRVpNRqIPo", "qzAOOwQboR4", "2acjUU6cQh4", "9accY9x0NmQ", "NDhBgmst590", "Uxi8ZvR6KjM", "QQ3kf587e-Y", "x5nb-k2uUzo", ...] 13:32:59.894 [debug] QUERY OK source="media_items" db=0.9ms idle=259.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")))) [432] 13:32:59.896 [debug] QUERY OK source="tasks" db=0.2ms idle=260.7ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2192147, 432, ~U[2026-04-15 13:32:59Z], ~U[2026-04-15 13:32:59Z]] 13:32:59.897 [info] {"args":{"id":432},"id":2192111,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":263654,"event":"job:stop","queue_time":140267,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:33:00.869 [info] {"source":"oban","duration":138,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:33:01.370 [info] GET /sources/553/media/4401724 13:33:01.370 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "4401724", "prevent_download" => "true", "source_id" => "553"} Pipelines: [:browser] 13:33:01.370 [debug] QUERY OK source="media_items" db=0.2ms idle=742.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" = ?) [4401724] 13:33:01.371 [debug] QUERY OK source="tasks" db=0.2ms idle=501.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" [4401724] 13:33:01.371 [debug] QUERY OK source="sources" db=0.3ms idle=360.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" = ?) [553] 13:33:01.372 [debug] QUERY OK source="settings" db=0.1ms idle=360.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:33:01.372 [debug] QUERY OK source="settings" db=0.1ms idle=361.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:33:01.373 [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 [] 13:33:01.373 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 13:33:01.375 [info] Sent 200 in 5ms 13:33:10.650 [info] {"args":{"id":371},"id":2192113,"meta":{},"system_time":1776259990650171267,"max_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:33:10.650 [debug] QUERY OK source="sources" db=0.2ms idle=1639.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" = ?) [371] 13:33:10.651 [debug] QUERY OK source="settings" db=0.2ms idle=1639.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:33:10.651 [debug] QUERY OK source="media_profiles" db=0.2ms idle=1009.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" = ?) [2] 13:33:10.652 [debug] QUERY OK source="settings" db=0.2ms idle=8.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:33:10.652 [debug] Fetching recent media IDs from YouTube API for playlist: UUPXKFARrr9KIazKFsIdZrbg 13:33:10.652 [debug] QUERY OK source="settings" db=0.1ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:33:10.652 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 13:33:11.238 [debug] QUERY OK source="media_items" db=1.2ms idle=586.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [371, "yoERyAZRcQw", "6jUjdCJenQs", "YpYESr2EwGs", "ouj3976UAV0", "LCEc0kTzWF8", "5ZGpRYl6ks8", "3gkOHFl5Ri4", "H255MFb1bs4", "95GWfCxldgI", "H1zRYcAm3Go", "7qp1GsOUzDQ", "JVjUwiWv3hs", "wgQQnINLVO0", "9JU10bS2zL0", "ZR7jEy3Vaso", "j5yCJlYe9eg", "iIY7sssVwrI", "a8lG2_2PvIY", "Pa4wns5otZs", "gr91GSu_Cro", "ajH6eOSCQz8", "v9om7xCpqr8", "KkpgKcSpZEQ", "zMVfXS39Q2U", "eOS-RREFSt8", "HPMKW_Riiy4", "NXLwiiz31bc", "bdTTpJLTrZ4", "dzbra-TCuUQ", "5SPKYzmAJ-Q", "Zsc3l7AVDfQ", "GjqzhuXGFAA", "NpWfLsVWwzI", "l96CSV_PcgQ", "-YGrEcjNLJ8", "JhPNMlhub4g", "5WtA5s9B3JA", "HbRInQ0QJ-8", "px1xWZRhIyA", "WK5LmlHayN0", "fcGFxqcjTyg", "vbMYWclnMJQ", "Wlmj1-25Jbw", "JWh5H2FFZ28", "siaOhImfbmc", "jO81Xp9TIIM", "kXpR9OxpnXw", "p_tveWViZTY", "9GBJPcAPYJM", ...] 13:33:11.249 [debug] QUERY OK source="media_items" db=9.5ms idle=588.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [371] 13:33:11.251 [debug] QUERY OK source="tasks" db=0.3ms idle=598.1ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2192148, 371, ~U[2026-04-15 13:33:11Z], ~U[2026-04-15 13:33:11Z]] 13:33:11.251 [info] {"args":{"id":371},"id":2192113,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":600991,"event":"job:stop","queue_time":115141,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:33:13.524 [info] {"source":"oban","duration":17860,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:33:26.600 [info] GET /sources/219/media/3608086 13:33:26.600 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "3608086", "prevent_download" => "true", "source_id" => "219"} Pipelines: [:browser] 13:33:26.601 [debug] QUERY OK source="media_items" db=0.3ms idle=1589.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" = ?) [3608086] 13:33:26.602 [debug] QUERY OK source="tasks" db=0.1ms idle=1590.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" [3608086] 13:33:26.602 [debug] QUERY OK source="sources" db=0.3ms idle=1590.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" = ?) [219] 13:33:26.602 [debug] QUERY OK source="settings" db=0.2ms idle=1591.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:33:26.603 [debug] QUERY OK source="settings" db=0.1ms idle=941.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:33:26.603 [debug] QUERY OK source="settings" db=0.1ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:33:26.604 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 13:33:26.606 [info] Sent 200 in 5ms 13:33:43.543 [info] {"source":"oban","duration":17919,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:33:49.364 [info] GET /sources/161/media/4623275/force_download 13:33:49.365 [debug] QUERY OK source="settings" db=0.2ms idle=1353.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:33:49.365 [debug] QUERY OK source="settings" db=0.1ms idle=1354.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:33:49.365 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 13:33:49.366 [error] #PID<0.6295.0> running PinchflatWeb.Endpoint (connection #PID<0.6294.0>, stream id 1) terminated Server: jak.hibeex.com:80 (http) Request: GET /sources/161/media/4623275/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/161/media/4623275/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.6294.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/161/media/4623275/force_download", host: "jak.hibeex.com", peer: {{172, 22, 0, 1}, 45362}, bindings: %{}, sock: {{172, 22, 0, 4}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYenF3a002d3hsbXJRS1FudUliaU5HRk9V.Ae67pn3TrxwrMYQXQsQMpAdVUS0qKVseUwl2ZDDH-LM", "from" => "gptbot(at)openai.com", "host" => "jak.hibeex.com", "referer" => "https://jak.hibeex.com/sources/161/media/4623275?prevent_download=true", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.232", "x-forwarded-proto" => "https", "x-openai-host-hash" => "41517590", "x-real-ip" => "74.7.243.232" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYenF3a002d3hsbXJRS1FudUliaU5HRk9V.Ae67pn3TrxwrMYQXQsQMpAdVUS0qKVseUwl2ZDDH-LM" }, halted: false, host: "jak.hibeex.com", method: "GET", owner: #PID<0.6295.0>, params: %{}, path_info: ["sources", "161", "media", "4623275", "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://jak.hibeex.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 22, 0, 1}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYenF3a002d3hsbXJRS1FudUliaU5HRk9V.Ae67pn3TrxwrMYQXQsQMpAdVUS0qKVseUwl2ZDDH-LM" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"connection", "close"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYenF3a002d3hsbXJRS1FudUliaU5HRk9V.Ae67pn3TrxwrMYQXQsQMpAdVUS0qKVseUwl2ZDDH-LM"}, {"from", "gptbot(at)openai.com"}, {"host", "jak.hibeex.com"}, {"referer", "https://jak.hibeex.com/sources/161/media/4623275?prevent_download=true"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)"}, {"x-forwarded-for", "74.7.243.232"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "41517590"}, {"x-real-ip", "74.7.243.232"} ], request_path: "/sources/161/media/4623275/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKaLFe7_pSJf7TEABBGB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.6294.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/161/media/4623275/force_download", host: "jak.hibeex.com", peer: {{172, 22, 0, 1}, 45362}, bindings: %{}, sock: {{172, 22, 0, 4}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYenF3a002d3hsbXJRS1FudUliaU5HRk9V.Ae67pn3TrxwrMYQXQsQMpAdVUS0qKVseUwl2ZDDH-LM", "from" => "gptbot(at)openai.com", "host" => "jak.hibeex.com", "referer" => "https://jak.hibeex.com/sources/161/media/4623275?prevent_download=true", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.232", "x-forwarded-proto" => "https", "x-openai-host-hash" => "41517590", "x-real-ip" => "74.7.243.232" }, method: "GET", body_length: 0, path_info: :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/161/media/4623275/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.6294.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/161/media/4623275/force_download", host: "jak.hibeex.com", peer: {{172, 22, 0, 1}, 45362}, bindings: %{}, sock: {{172, 22, 0, 4}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYenF3a002d3hsbXJRS1FudUliaU5HRk9V.Ae67pn3TrxwrMYQXQsQMpAdVUS0qKVseUwl2ZDDH-LM", "from" => "gptbot(at)openai.com", "host" => "jak.hibeex.com", "referer" => "https://jak.hibeex.com/sources/161/media/4623275?prevent_download=true", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.232", "x-forwarded-proto" => "https", "x-openai-host-hash" => "41517590", "x-real-ip" => "74.7.243.232" }, method: "GET", body_length: 0, path_info: :und (truncated) 13:34:00.870 [info] {"source":"oban","duration":115,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:34:08.515 [info] GET /sources/411/media/4688997 13:34:08.516 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "4688997", "prevent_download" => "true", "source_id" => "411"} Pipelines: [:browser] 13:34:08.516 [debug] QUERY OK source="media_items" db=0.2ms idle=1505.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" = ?) [4688997] 13:34:08.517 [debug] QUERY OK source="tasks" db=0.2ms idle=1505.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" [4688997] 13:34:08.517 [debug] QUERY OK source="sources" db=0.4ms idle=806.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" = ?) [411] 13:34:08.518 [debug] QUERY OK source="settings" db=0.1ms 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 [] 13:34:08.518 [debug] QUERY OK source="settings" db=0.1ms 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:34:08.518 [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 [] 13:34:08.519 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 13:34:08.521 [info] Sent 200 in 5ms 13:34:13.561 [info] {"source":"oban","duration":17660,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:34:22.735 [info] {"args":{"id":407},"id":2192114,"meta":{},"system_time":1776260062735686411,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:34:22.736 [debug] QUERY OK source="sources" db=0.8ms idle=724.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" = ?) [407] 13:34:22.737 [debug] QUERY OK source="settings" db=0.2ms idle=725.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:34:22.737 [debug] QUERY OK source="media_profiles" db=0.2ms idle=726.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" = ?) [2] 13:34:22.738 [debug] QUERY OK source="settings" db=0.8ms idle=9.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:34:22.738 [debug] Fetching recent media IDs from YouTube API for playlist: UUga4N76Fl4sgcn30iwBs7aQ 13:34:22.739 [debug] QUERY OK source="settings" db=0.1ms idle=3.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:34:22.739 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 13:34:23.236 [debug] QUERY OK source="media_items" db=1.3ms 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."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [407, "-W6KEugYxBQ", "zQxXycM3IvM", "BrCSskrHOBU", "gMn1XXQ6Xus", "YwcknlhzUEU", "tinS3wZQZu0", "HWH4PB4RVpo", "aDHfYXROc5A", "qzm_Dy_rilA", "MHICU_ehVZk", "I0ZNxiVwykM", "-OsGSH3KGbA", "N00x4OkBGu8", "zqAinHuD6Yo", "cv4FVPWWF8I", "2DysQO78Y3k", "byYpxLw97ic", "8KsVvEyjEpg", "QZIJ2atHpFo", "IH0DS0Hqi1I", "6RbFcKVIMTo", "8DI46MmEzts", "JCyRL-BCGrY", "CKGoJAuUbRw", "zB12EMayFig", "jbcagG6xgqg", "VGjk8hhgRYs", "zqhKlBQ9xWI", "1SKsmmYdYng", "6lt75J3-9lY", "4-f2sw7IWPw", "WMLsLgiPFks", "TOO3B46BiGc", "5oCRsyA3ZLQ", "BWLb5EI620w", "Av1kcYca1yI", "o4yxwefSKrg", "v4aMSQBA6GY", "1v1uQJfn7mU", "wzd5JlenK7U", "lqg9v9c50PQ", "bfsLRqnZBMI", "-L8pp9DEvrs", "48tZLvPwq1A", "HMzzHdRb5bI", "VhPje4BiC6o", "vJfLhWzehCU", "GenA6mFVXtQ", "49YQZrruUlY", ...] 13:34:23.242 [debug] QUERY OK source="media_items" db=3.8ms idle=500.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")))) [407] 13:34:23.243 [debug] QUERY OK source="tasks" db=0.2ms idle=504.1ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2192149, 407, ~U[2026-04-15 13:34:23Z], ~U[2026-04-15 13:34:23Z]] 13:34:23.244 [info] {"args":{"id":407},"id":2192114,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":508205,"event":"job:stop","queue_time":442199,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:34:25.741 [info] {"args":{"id":137},"id":2192115,"meta":{},"system_time":1776260065741214157,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:34:25.741 [debug] QUERY OK source="sources" db=0.3ms 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" = ?) [137] 13:34:25.742 [debug] QUERY OK source="settings" db=0.2ms idle=730.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:34:25.742 [debug] QUERY OK source="media_profiles" db=0.2ms idle=731.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" = ?) [2] 13:34:25.743 [debug] QUERY OK source="settings" db=0.2ms idle=8.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:34:25.743 [debug] Fetching recent media IDs from YouTube API for playlist: UU6VEazPLsTwCHAq2XU0tRyA 13:34:25.743 [debug] QUERY OK source="settings" db=0.2ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:34:25.743 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 13:34:26.125 [debug] QUERY OK source="media_items" db=1.2ms idle=381.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [137, "TYzW2hwb2eU", "Y0HbsrMblSY", "Ko2rEMjJDqc", "kGP1iyJ5JVk", "8X2Gp4JrjCc", "MEYfauKFQKM", "CCJCd8F_diQ", "jsWkXl3y2V8", "eKrqp-HV73w", "gXDgE1r0fmE", "xP_EQzF8VcA", "RfZpJRL7qPA", "UtFN8sG2dac", "f__SSRXQW_0", "APPiN4Oef3o", "q5MQnKjA87M", "zwkJ95N9B1M", "9l8J-8mZZwk", "F-TBX4m7Omw", "KKl0A-Y7xIU", "Psenv5CPh7w", "MP8WxJWv0VI", "Un04g6T0MBk", "e1dWuglj0wA", "ZnuWLqLfnYQ", "oUu62USr24A", "cRx1_mB9LxE", "PLAlGw5A21E", "hcpVRhBex9U", "LK2LTfPM2Qs", "Z5F2z1XcOSw", "CVaq9bG_tBY", "X-a2XbVX3-c", "apkWIdRFzpQ", "PANiqRRIbqw", "kiTdyj1OowM", "6dQkyg0e1c8", "Cf5yNSD5HGE", "_y3X1HIUBX4", "G-e7QMglAhc", "avXMv4RrRXI", "jC3yDlwTK2A", "myA5gcE-5KE", "bcJnqkTlunE", "nNArfQK259k", "ZG7Bikz9grA", "vo7HA72gZNQ", "TNz5GHFNBj0", "14XtzGLWUtw", ...] 13:34:26.128 [debug] QUERY OK source="media_items" db=2.2ms idle=383.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")))) [137] 13:34:26.130 [debug] QUERY OK source="tasks" db=0.3ms idle=386.3ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2192150, 137, ~U[2026-04-15 13:34:26Z], ~U[2026-04-15 13:34:26Z]] 13:34:26.131 [info] {"args":{"id":137},"id":2192115,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":389394,"event":"job:stop","queue_time":439855,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:34:43.580 [info] {"source":"oban","duration":17925,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:34:48.767 [info] {"args":{"id":195},"id":2192116,"meta":{},"system_time":1776260088767153570,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:34:48.768 [debug] QUERY OK source="sources" db=0.9ms idle=756.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" = ?) [195] 13:34:48.768 [debug] QUERY OK source="settings" db=0.2ms idle=757.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:34:48.769 [debug] QUERY OK source="media_profiles" db=0.2ms idle=757.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" = ?) [2] 13:34:48.769 [debug] QUERY OK source="settings" db=0.2ms idle=8.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:34:48.769 [debug] Fetching recent media IDs from YouTube API for playlist: UUBRMiH3Aivfkmh24Sa2dOew 13:34:48.770 [debug] QUERY OK source="settings" db=0.1ms idle=2.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:34:48.770 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 13:34:49.076 [debug] QUERY OK source="media_items" db=1.1ms idle=306.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [195, "p8SWCk5bHV4", "lGF5Y7n_vLA", "MCEgp0nDF_s", "eT8WC3vCNpM", "FdtHhPaD850", "efb72vQ-B5w", "T8yhYw2qYpU", "rxTb8olkoPk", "04sdzvBin2M", "FmxxJMMfjIQ", "DsF8tlvZfQU", "_nwUUMj2ihk", "ddP7GahgvdE", "igdQ646Rczo", "e6bNcQn6H8U", "VTaZnN2r-C4", "6s0PkW4X18k", "nq4j2vn85k0", "zSg2dCltMlE", "mMLIwZ1Hm-o", "pB0UeWaKMAk", "Zbd7ZR96fhs", "8431epN9yQY", "q9cidfvLSAQ", "TFtz5CBcSaA", "IHxBsWkSNC8", "KFnFetow2Fk", "l-66gKQOFFo", "9hrMhbVRqaQ", "nB7DXM3aXaM", "aJqijOOspFA", "XwtlpPm7d8Y", "XQ7i8_iskPU", "JDvpnFZiW-s", "Sg2smBn7oy4", "J7pPlV84TvE", "z3pnYIzRFNU", "QXwBbQYU1b0", "2EY_87Qp5es", "7oi6e-2M_jw", "5AW4xpNiS9w", "pbu9h-Ed45w", "XiUfyDi-vJA", "8sjUDoIvz3k", "Q4w7S0_bRNE", "IjBWwvWDNeA", "ENJS0N-wJrM", "vZzfd3fTI1I", "jFHXZyZwkzo", ...] 13:34:49.081 [debug] QUERY OK source="media_items" db=3.1ms idle=309.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")))) [195] 13:34:49.083 [debug] QUERY OK source="tasks" db=0.2ms idle=312.6ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2192151, 195, ~U[2026-04-15 13:34:49Z], ~U[2026-04-15 13:34:49Z]] 13:34:49.083 [info] {"args":{"id":195},"id":2192116,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":316090,"event":"job:stop","queue_time":417017,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:35:00.871 [info] {"source":"oban","duration":121,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:35:09.209 [info] GET /sources/131/media/4615608 13:35:09.209 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "4615608", "prevent_download" => "true", "source_id" => "131"} Pipelines: [:browser] 13:35:09.210 [debug] QUERY OK source="media_items" db=0.2ms idle=1198.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" = ?) [4615608] 13:35:09.210 [debug] QUERY OK source="tasks" db=0.1ms idle=424.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" [4615608] 13:35:09.211 [debug] QUERY OK source="sources" db=0.3ms idle=199.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [131] 13:35:09.211 [debug] QUERY OK source="settings" db=0.1ms idle=200.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:35:09.211 [debug] QUERY OK source="settings" db=0.1ms idle=200.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:35:09.212 [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 [] 13:35:09.213 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 13:35:09.214 [info] Sent 200 in 5ms 13:35:13.598 [info] {"source":"oban","duration":17825,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:35:20.806 [info] {"args":{"id":96},"id":2192117,"meta":{},"system_time":1776260120806054603,"max_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:35:20.806 [debug] QUERY OK source="sources" db=0.2ms idle=1795.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" = ?) [96] 13:35:20.807 [debug] QUERY OK source="settings" db=0.2ms idle=1795.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:35:20.807 [debug] QUERY OK source="media_profiles" db=0.2ms 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" = ?) [2] 13:35:20.808 [debug] QUERY OK source="settings" db=0.7ms idle=7.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:35:20.808 [debug] Fetching recent media IDs from YouTube API for playlist: UUKlJwuBeBliMD0OS9AN1LqA 13:35:20.808 [debug] QUERY OK source="settings" db=0.1ms idle=2.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:35:20.808 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 13:35:21.025 [debug] QUERY OK source="media_items" db=1.2ms idle=217.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [96, "lgi0gk0izVw", "iwGrG2LwuUU", "x62omneLjUQ", "7ZLylxGWhc8", "2JYaUJayC7M", "8MhWFLNJLcI", "z6uHcqDrdOU", "Cm-5wl2sGAk", "3mYv9NAhrwI", "_zGarVwlhrI", "UenlD8RnRzw", "k8GdyHR_PKI", "ph3d_UDtJmg", "sk3EIXCnj2Y", "gaPNo4hjpOA", "MfBOjMSaUlQ", "4kFWFkA5tzQ", "v4P3-qv5apE", "6sXolxcGHV8", "L0oqBbEp4Do", "eHOMLS47yRg", "fixM4HJ_t0c", "Z49bpbSmeqo", "lFk09LRAqoE", "UCFgrFMnq-M", "mX-ZHvm0EqQ", "6BeHK2sBAsU", "nVxb_6-i4vo", "5AWb3uGaGnM", "U6_uygrlXLQ", "hH-kmDMUdbM", "bECZSbJSUN4", "4NLmKeucGeQ", "So1_9zobHfI", "Q0dEwIee2QU", "owVM8htcVMY", "KdPcD4V4wwI", "ZiNb8EywGWk", "_sDNcewGKdA", "C1T0dqbQ8wY", "aOJPNjwzVoM", "ZnJE8cWMlek", "bLKHwG-zIBA", "gI5W6288Nqg", "PvlO47XZj74", "Sh9pKvCsBaw", "dGqaASnOllk", "J4aKYDp7efI", "V1hn7k2amaQ", ...] 13:35:21.040 [debug] QUERY OK source="media_items" db=13.3ms idle=219.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")))) [96] 13:35:21.042 [debug] QUERY OK source="tasks" db=0.3ms idle=232.9ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2192152, 96, ~U[2026-04-15 13:35:21Z], ~U[2026-04-15 13:35:21Z]] 13:35:21.042 [info] {"args":{"id":96},"id":2192117,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":236140,"event":"job:stop","queue_time":473815,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:35:22.810 [info] {"args":{"id":98},"id":2192118,"meta":{},"system_time":1776260122810020157,"max_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:35:22.810 [debug] QUERY OK source="sources" db=0.2ms idle=1767.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" = ?) [98] 13:35:22.811 [debug] QUERY OK source="settings" db=0.2ms idle=1761.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:35:22.811 [debug] QUERY OK source="media_profiles" db=0.2ms 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" = ?) [2] 13:35:22.811 [debug] QUERY OK source="settings" db=0.2ms idle=8.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:35:22.811 [debug] Fetching recent media IDs from YouTube API for playlist: UUAZb4c10tPnyyAPhEo-vS1w 13:35:22.812 [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 [] 13:35:22.812 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 13:35:23.091 [debug] QUERY OK source="media_items" db=1.1ms idle=279.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [98, "Ev9FN-nBkho", "G85Ah7FqgJw", "NMWezFTpuyA", "wpwVJMVDreg", "katvUb1-VtA", "j8v0Ci3CyCM", "39M5ZIuq5R0", "aezweDUgIYI", "o7yt-kZE8Ns", "ryQ2XQL7DM8", "yRENM57s7pk", "s1QGX8WMUIA", "JoMya8mFvqw", "Kl9b5jHoi0g", "MPstTZo5ZTI", "ufjD8yVfMyM", "hkPoP9qiNFc", "uJR-FImplgI", "AJMdBafruQQ", "_3YV1GNd8YM", "48-62pf9pVU", "TSCWJLqr7ts", "yXu61yOXpSE", "BEPkOy3AM9A", "-A3XI4Nev-I", "pWqiicpnZbs", "CjnYvDUygjA", "enO_DLOpBXk", "8-cvEj2h9Jw", "BRoLiutnbv0", "rFTGwrEkzcg", "KQaz_l3M1Zk", "zgLl_BLdBUU", "jcLjRB0wu2M", "bZj0l4Omo6Y", "bf-6IUrtFb4", "ICRJYx5e50Q", "AnEHzdsKX1I", "6yAcLo_1ez0", "kVAVTj64ZYI", "C0JE-lBoYig", "PyoZ_hdaI_E", "rHX8xNJAqgs", "CYFSuOfgFCs", "GPgPJrBC2Ss", "Jn7VbYmvfrc", "utK0QZwBRSw", "s6gLJF7hR6o", "9Awsk83VIIY", ...] 13:35:23.093 [debug] QUERY OK source="media_items" db=0.5ms idle=281.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")))) [98] 13:35:23.095 [debug] QUERY OK source="tasks" db=0.3ms idle=282.6ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2192153, 98, ~U[2026-04-15 13:35:23Z], ~U[2026-04-15 13:35:23Z]] 13:35:23.095 [info] {"args":{"id":98},"id":2192118,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":285298,"event":"job:stop","queue_time":445924,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:35:33.824 [info] {"args":{"id":179},"id":2192119,"meta":{},"system_time":1776260133824166312,"max_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:35:33.824 [debug] QUERY OK source="sources" db=0.3ms idle=813.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" = ?) [179] 13:35:33.825 [debug] QUERY OK source="settings" db=0.2ms idle=813.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:35:33.825 [debug] QUERY OK source="media_profiles" db=0.2ms idle=814.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" = ?) [2] 13:35:33.826 [debug] QUERY OK source="settings" db=0.2ms idle=7.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:35:33.826 [debug] Fetching recent media IDs from YouTube API for playlist: UUqyUIejEzM0o-weuEpnDi3Q 13:35:33.826 [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 [] 13:35:33.826 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 13:35:34.161 [debug] QUERY OK source="media_items" db=1.1ms idle=335.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [179, "pKXdilyXxAI", "GlncALbDrw8", "zf1ggra0IvY", "a6h5d-tGm6c", "uX6xwAMoZZo", "35efgolAJnQ", "6Y7p1LFvufE", "dO5F9yWjbpc", "41s3cMSb7j8", "zGinpJX6IK8", "GpwHRN69eck", "kK2cfv05DUo", "SBnnyouT6Jo", "gUIb3RFsZbM", "v-j7EdHnc2g", "Cs1y_qfIYP8", "uYzepecNaAw", "DgDtCp_z8Q0", "1TEhu1_Tv5U", "ezCec4ndn88", "x9dGduuEFHQ", "YYSe9GnVTF8", "0V6Snvm7WDM", "uml0Z4AZaK0", "5D_o1PuFNBU", "ZNkhOZYGWCo", "HnPtQuRuHjs", "fssPKb80GAk", "uCMuZv0LfQo", "wolCPbqmPKI", "P7hizGN3Qac", "oEjcEbXFr-0", "8ZJwuxwNEVY", "rFQGEqS1Jec", "JG-lowxduWk", "55cfeTeiBrU", "2H6XsOWSSCc", "mALFGAJ4Ank", "AWB5APi4yb8", "QO51is_uUwM", "AVbaqwT6wjA", "dDDhx5UY_bg", "7IGJcXIwM7c", "1286woUnTPg", "i3fhiv7KrnY", "hc5hbCiIt9E", "2nyFunyTN1Q", "9-l8VJK2Ivw", "1g1r_vTXaBE", ...] 13:35:34.165 [debug] QUERY OK source="media_items" db=2.2ms idle=337.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")))) [179] 13:35:34.169 [debug] QUERY OK source="tasks" db=0.3ms idle=2.9ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2192154, 179, ~U[2026-04-15 13:35:34Z], ~U[2026-04-15 13:35:34Z]] 13:35:34.170 [info] {"args":{"id":179},"id":2192119,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":345445,"event":"job:stop","queue_time":370707,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:35:42.835 [info] {"args":{"id":170},"id":2192120,"meta":{},"system_time":1776260142835715079,"max_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:35:42.836 [debug] QUERY OK source="sources" db=0.1ms idle=824.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" = ?) [170] 13:35:42.836 [debug] QUERY OK source="settings" db=0.1ms idle=824.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:35:42.836 [debug] QUERY OK source="media_profiles" db=0.1ms idle=825.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" = ?) [2] 13:35:42.837 [debug] QUERY OK source="settings" db=0.1ms idle=7.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:35:42.837 [debug] Fetching recent media IDs from YouTube API for playlist: UUNdRu8acJfOSM5j3ybyp_8Q 13:35:42.837 [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 [] 13:35:42.837 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 13:35:43.215 [debug] QUERY OK source="media_items" db=1.2ms idle=377.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [170, "2dII7fUtUYg", "B-nIGwHbAVs", "-CEceffxGFA", "KIZWJA513Ao", "QneeftA53KU", "8CWL7ppNA3o", "cOxCyazeCJw", "0cWGCaFuguk", "6QMfibl-SnI", "jC5eSFR8OCs", "FVDqcFTBKVY", "bNp8eoSN4nA", "FNs2bjyYdtY", "wkMVgzvQNJk", "UcAzsfkB5qg", "zlKNqgl80nM", "NOPKBI0xLhs", "gk_TAIbLoiA", "J6xcM7Qz7UQ", "3H4TvwkjcPQ", "JID7hDNO1P0", "nhxhPipgkRA", "4znyT54MUOA", "XZqby1gGpqk", "JKvUsl_2Ow0", "1KtDgc7yWBo", "07JhQX49XVM", "WIL0xXuMeVs", "ZhZ69ws2rkw", "X7qsGLZmBQU", "2kSaPVi5IEI", "SGr5g0G00zc", "XZeXUHAyVRg", "nGe0RBK8UJE", "oU-MArspg04", "-1jFdB-QkLM", "EP0eS5Z6USo", "cZ6gjlY_KjU", "OmoT95T7a9E", "F0-EPZUydzw", "Ar-wbxmesW4", "I9nthd03SOA", "e2TH7alqLJE", "h6JxkZwuIUI", "cDlpEFf5RjY", "tpD9Yz67hBw", "mejuzJnmSMA", "2X--RidFiDg", "-xh8HQlKlog", ...] 13:35:43.219 [debug] QUERY OK source="media_items" db=2.1ms idle=380.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")))) [170] 13:35:43.220 [debug] QUERY OK source="tasks" db=0.3ms idle=383.1ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2192155, 170, ~U[2026-04-15 13:35:43Z], ~U[2026-04-15 13:35:43Z]] 13:35:43.221 [info] {"args":{"id":170},"id":2192120,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":385230,"event":"job:stop","queue_time":397400,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:35:43.618 [info] {"source":"oban","duration":18274,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:35:43.838 [info] {"args":{"id":187},"id":2192121,"meta":{},"system_time":1776260143838256263,"max_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:35:43.839 [debug] QUERY OK source="sources" db=0.4ms idle=617.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" = ?) [187] 13:35:43.839 [debug] QUERY OK source="settings" db=0.2ms idle=611.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:35:43.840 [debug] QUERY OK source="media_profiles" db=0.7ms idle=221.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" = ?) [2] 13:35:43.841 [debug] QUERY OK source="settings" db=0.2ms idle=9.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:35:43.841 [debug] Fetching recent media IDs from YouTube API for playlist: UUigbBPzo9jjMgdG_CcnzJhQ 13:35:43.841 [debug] QUERY OK source="settings" db=0.1ms idle=3.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:35:43.841 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 13:35:44.121 [debug] QUERY OK source="media_items" db=1.2ms idle=281.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [187, "GWvaTlVbPNs", "84qfh3sRUAM", "ZlQo0Wg0kXE", "0ItF-y4uWew", "kyLG-9ClFFQ", "9Ci4G3TKIlw", "Ah2q5T91oBg", "G1SE0NM-Tbg", "cXLEVcF0DIU", "b5XQ9YhBNJg", "9_mnZd-1qAU", "yE3KKPh9vAk", "VQHaBfC_nWM", "hySWP5Xgqt0", "JlzRUtS79yc", "4Yup64cv6PU", "KDP--RC8T7c", "OlUBw4nrNvk", "kkTQeftsc1c", "jxsIjZJ3P3s", "CtK09-qlSxs", "pf9Rs02F65k", "rg5D_0SVYFs", "kl5PxYGHuTU", "eK4-7gVRdew", "j3ufeFuHN6Q", "fiVtSvdBv-8", "tN32kgkT0a4", "qkIvBGnVwSo", "UDsmYWUHvUE", "VegutkNwCEc", "H2LypidNEJk", "Rwfrdq2bCMc", "ueJbWMXwBKA", "cgJq4MyGTNY", "FBXo_CjG-5o", "0Xesauk55io", "pkb7MavLwuI", "RR5IHrnvHQE", "zHzrDgTVgmc", "2avyAUueWYE", "0WAVmj-UtIM", "VM5JWhfmf8c", "BGk1eSr6IUE", "T-oT349yB0U", "fB4Ex_Hw0pk", "CV2GjlGSxz4", "zPHZ2dRA7cg", "8Z3929e1YW4", ...] 13:35:44.124 [debug] QUERY OK source="media_items" db=1.2ms idle=283.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")))) [187] 13:35:44.125 [debug] QUERY OK source="tasks" db=0.3ms idle=284.1ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2192156, 187, ~U[2026-04-15 13:35:44Z], ~U[2026-04-15 13:35:44Z]] 13:35:44.126 [info] {"args":{"id":187},"id":2192121,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":287733,"event":"job:stop","queue_time":481290,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:35:44.840 [info] {"args":{"id":424},"id":2192122,"meta":{},"system_time":1776260144840122270,"max_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:35:44.840 [debug] QUERY OK source="sources" db=0.2ms idle=714.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" = ?) [424] 13:35:44.841 [debug] QUERY OK source="settings" db=0.2ms idle=714.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:35:44.841 [debug] QUERY OK source="media_profiles" db=0.2ms idle=708.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" = ?) [2] 13:35:44.841 [debug] QUERY OK source="settings" db=0.2ms idle=8.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:35:44.842 [debug] Fetching recent media IDs from YouTube API for playlist: UUduD22OSc9f98Fg4NuJHU3Q 13:35:44.842 [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 [] 13:35:44.842 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 13:35:45.259 [debug] QUERY OK source="media_items" db=1.2ms idle=417.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [424, "l-KXAJueeE4", "z6yloe8BVaU", "dZox-F9NY6Y", "Jzdco7kmG84", "PpT5cwX2J2k", "Wizm3xaYchc", "aGi5SNIySXE", "rO9X83U-9bE", "bpQK-NitpVg", "EMyelTKShBo", "c8_G0jFr5NQ", "aJCZzjOOv6g", "X7CxcWOcoUA", "_Urj9iKo5H4", "iXa5pmY_VCg", "gMWyJcoFnVY", "fz2LHk9pSdk", "Rs2ZZgrYK58", "L5Mjxge1yY0", "MpZ-VKedx7A", "zxIif2RJm38", "pf858AX4_U8", "MRMScf-DsO4", "0ftbeL6Y7qU", "qsiKWRrehzQ", "mkjwjTgdMmM", "Fo90Bdg8rNo", "aXG1UPQQofQ", "rTs81amP49Y", "fGSjULrPsx8", "toFpR-wyjfk", "9ElrpAc6_Bw", "l_mOZIne88k", "pHZAnjB8bws", "2m_Uh7xhQGo", "5h5ATFJs09U", "xgVOq6Bfn8A", "2grmoSe0Zrk", "kLWNObhY_tU", "JR2UuHcQH7w", "H_VB0gHAPMo", "tp5TYhBYYCg", "BZF41PXtYmU", "hVKtxCEwPvY", "9_a8vaqhvSY", "V4VJjvZQ_gY", "t4nG1fjFzng", "_ESHmhwSGro", "fhwAZIJtpCM", ...] 13:35:45.266 [debug] QUERY OK source="media_items" db=6.1ms idle=419.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")))) [424] 13:35:45.268 [debug] QUERY OK source="tasks" db=0.2ms idle=426.1ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2192157, 424, ~U[2026-04-15 13:35:45Z], ~U[2026-04-15 13:35:45Z]] 13:35:45.269 [info] {"args":{"id":424},"id":2192122,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":428632,"event":"job:stop","queue_time":322171,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:35:48.845 [info] {"args":{"id":402},"id":2192123,"meta":{},"system_time":1776260148845193816,"max_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:35:48.845 [debug] QUERY OK source="sources" db=0.3ms idle=1834.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" = ?) [402] 13:35:48.846 [debug] QUERY OK source="settings" db=0.2ms idle=1834.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:35:48.846 [debug] QUERY OK source="media_profiles" db=0.2ms idle=1009.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" = ?) [2] 13:35:48.847 [debug] QUERY OK source="settings" db=0.2ms idle=8.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:35:48.847 [debug] Fetching recent media IDs from YouTube API for playlist: UUv9CRhIdmLdRXwyqWLqT-1Q 13:35:48.847 [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:35:48.847 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 13:35:49.273 [debug] QUERY OK source="media_items" db=1.3ms 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."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [402, "3j4xjklMoo4", "gZqaauRhZhs", "JZsQt_4QXgI", "5loSCFTOEb4", "zaih20lw4bs", "SgGtBFbw1kI", "mcgcu1JuGao", "d2GSwD0Il-k", "LxOugY_w3q0", "QGf453DDz1g", "rdmAe2CIRcc", "cxorSoldV_k", "GYTHnZR2Id8", "rowYQBlqD-Y", "U7m925r48Jk", "Iz_79p_yVE0", "dVpdpoG9xZ8", "EW-EpQnW2rM", "Gu8aUxdMI18", "2kOrlz4Nw60", "KrLslSzReHE", "HCjDOBHpbuU", "yBoY59dq0o0", "l57SqLe4IjQ", "TtoNGT10GMQ", "CurEIX5egYY", "epLEnwmvneE", "wZmAnXwbbkM", "V4mfjEXo2jQ", "kvTUlZ4EtlM", "4DWJDctae_w", "bFIKDKTUjyU", "XXE0whBrOe8", "hb64fr-vXyM", "kBfJu4Lr9-g", "ahzLQawdLYU", "7Pw6MSgHz5A", "wZYqqWU3DoU", "E-ZcRNdvjoM", "JV_dskh0-ws", "koGDw3vHTKY", "JC3sGWRDdbs", "e5dO2XUalWY", "aDlVWlAjbV8", "Hq7-l88KNzY", "_GY3Or8ZgYY", "W354MKgc8AM", "X9MULCFLPyg", "psW2wmVYvDk", ...] 13:35:49.276 [debug] QUERY OK source="media_items" db=2.4ms idle=428.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")))) [402] 13:35:49.278 [debug] QUERY OK source="tasks" db=0.3ms idle=430.7ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2192158, 402, ~U[2026-04-15 13:35:49Z], ~U[2026-04-15 13:35:49Z]] 13:35:49.279 [info] {"args":{"id":402},"id":2192123,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":433518,"event":"job:stop","queue_time":374189,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:36:00.872 [info] {"source":"oban","duration":141,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:36:01.858 [info] GET /sources/402/media/4611826/force_download 13:36:01.858 [debug] QUERY OK source="settings" db=0.1ms idle=986.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:36:01.859 [debug] QUERY OK source="settings" db=0.2ms idle=847.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:36:01.859 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 13:36:01.860 [error] #PID<0.6331.0> running PinchflatWeb.Endpoint (connection #PID<0.6330.0>, stream id 1) terminated Server: jak.hibeex.com:80 (http) Request: GET /sources/402/media/4611826/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/402/media/4611826/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.6330.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/402/media/4611826/force_download", host: "jak.hibeex.com", peer: {{172, 22, 0, 1}, 50434}, bindings: %{}, sock: {{172, 22, 0, 4}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYenF3a002d3hsbXJRS1FudUliaU5HRk9V.Ae67pn3TrxwrMYQXQsQMpAdVUS0qKVseUwl2ZDDH-LM", "from" => "gptbot(at)openai.com", "host" => "jak.hibeex.com", "referer" => "https://jak.hibeex.com/sources/402/media/4611826?prevent_download=true", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.232", "x-forwarded-proto" => "https", "x-openai-host-hash" => "41517590", "x-real-ip" => "74.7.243.232" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYenF3a002d3hsbXJRS1FudUliaU5HRk9V.Ae67pn3TrxwrMYQXQsQMpAdVUS0qKVseUwl2ZDDH-LM" }, halted: false, host: "jak.hibeex.com", method: "GET", owner: #PID<0.6331.0>, params: %{}, path_info: ["sources", "402", "media", "4611826", "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://jak.hibeex.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 22, 0, 1}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYenF3a002d3hsbXJRS1FudUliaU5HRk9V.Ae67pn3TrxwrMYQXQsQMpAdVUS0qKVseUwl2ZDDH-LM" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"connection", "close"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYenF3a002d3hsbXJRS1FudUliaU5HRk9V.Ae67pn3TrxwrMYQXQsQMpAdVUS0qKVseUwl2ZDDH-LM"}, {"from", "gptbot(at)openai.com"}, {"host", "jak.hibeex.com"}, {"referer", "https://jak.hibeex.com/sources/402/media/4611826?prevent_download=true"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)"}, {"x-forwarded-for", "74.7.243.232"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "41517590"}, {"x-real-ip", "74.7.243.232"} ], request_path: "/sources/402/media/4611826/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKaLNMg_m-SwHIIAAu8C"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.6330.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/402/media/4611826/force_download", host: "jak.hibeex.com", peer: {{172, 22, 0, 1}, 50434}, bindings: %{}, sock: {{172, 22, 0, 4}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYenF3a002d3hsbXJRS1FudUliaU5HRk9V.Ae67pn3TrxwrMYQXQsQMpAdVUS0qKVseUwl2ZDDH-LM", "from" => "gptbot(at)openai.com", "host" => "jak.hibeex.com", "referer" => "https://jak.hibeex.com/sources/402/media/4611826?prevent_download=true", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.232", "x-forwarded-proto" => "https", "x-openai-host-hash" => "41517590", "x-real-ip" => "74.7.243.232" }, method: "GET", body_length: 0, path_info: :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/402/media/4611826/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.6330.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/402/media/4611826/force_download", host: "jak.hibeex.com", peer: {{172, 22, 0, 1}, 50434}, bindings: %{}, sock: {{172, 22, 0, 4}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYenF3a002d3hsbXJRS1FudUliaU5HRk9V.Ae67pn3TrxwrMYQXQsQMpAdVUS0qKVseUwl2ZDDH-LM", "from" => "gptbot(at)openai.com", "host" => "jak.hibeex.com", "referer" => "https://jak.hibeex.com/sources/402/media/4611826?prevent_download=true", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.232", "x-forwarded-proto" => "https", "x-openai-host-hash" => "41517590", "x-real-ip" => "74.7.243.232" }, method: "GET", body_length: 0, path_info: :und (truncated) 13:36:09.872 [info] {"args":{"id":163},"id":2192124,"meta":{},"system_time":1776260169872115619,"max_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:36:09.872 [debug] QUERY OK source="sources" db=0.2ms idle=861.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" = ?) [163] 13:36:09.873 [debug] QUERY OK source="settings" db=0.2ms idle=861.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:36:09.873 [debug] QUERY OK source="media_profiles" db=0.2ms 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" = ?) [2] 13:36:09.874 [debug] QUERY OK source="settings" db=0.2ms idle=8.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:36:09.874 [debug] Fetching recent media IDs from YouTube API for playlist: UU8vdjzu_0QMQlG9qNT5D_AQ 13:36:09.874 [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:36:09.874 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 13:36:10.168 [debug] QUERY OK source="media_items" db=1.2ms idle=294.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [163, "AK_QSHnLvjQ", "qALXsYRF_cA", "smnHpsqBLms", "yqdOCd-jdeo", "jyUJuJhWHrs", "ZNHoFwAGFrc", "1srAVSvVOOw", "uk2FISKK7QQ", "2z-ztPJXjEU", "7L1pepENKXA", "Sv6q_F6r4DE", "mFS_V5zGaxs", "1PGqhUa4Bfg", "wbvPGTnY4Z0", "yBBSNz1Ymyo", "E6dquEKdz_M", "zD4_JqiQ7jw", "O_ynHoWd-ys", "ZkugEqFIqY4", "CfTmDWiVEqM", "iPb2DidxP48", "RFemTGJfb3Y", "_Tr7gM3Hzno", "UuvWpHA9eJ0", "0iDqCo9U78I", "b9HbLgu65cw", "2nwaI54hM2A", "2nFeIrPbzvo", "U3JjHuSfiog", "HRl29tSwTSI", "dNiviYe_iGc", "JLn7iuFdKL8", "zZRg322MXkE", "rvNKslgk6yQ", "lxVw40xOmNE", "Xw_9uYceyWo", "bD9_5xiDj8w", "jpfUutCaORQ", "nmxVTzLORDg", "7O9V1yRt15g", "n0oX65icbt4", "ry8AAFQwO-U", "1KPAD3URrFA", "ii1XRwxo04M", "jg0TYRxxYzQ", "8zv1MiJNXIk", "Z2jE4A-T2BU", "Zo9g-Mr4UXo", "qs7A7WPpjVU", ...] 13:36:10.178 [debug] QUERY OK source="media_items" db=7.9ms idle=296.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [163] 13:36:10.180 [debug] QUERY OK source="tasks" db=0.2ms idle=11.6ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2192159, 163, ~U[2026-04-15 13:36:10Z], ~U[2026-04-15 13:36:10Z]] 13:36:10.181 [info] {"args":{"id":163},"id":2192124,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":308466,"event":"job:stop","queue_time":959011,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:36:13.637 [info] {"source":"oban","duration":18153,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:36:25.892 [info] {"args":{"id":391},"id":2192125,"meta":{},"system_time":1776260185892343009,"max_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:36:25.893 [debug] QUERY OK source="sources" db=0.9ms idle=1881.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" = ?) [391] 13:36:25.894 [debug] QUERY OK source="settings" db=0.2ms 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 [] 13:36:25.894 [debug] QUERY OK source="media_profiles" db=0.2ms idle=883.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" = ?) [2] 13:36:25.894 [debug] QUERY OK source="settings" db=0.2ms idle=9.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:36:25.895 [debug] Fetching recent media IDs from YouTube API for playlist: UUqeCtPANEJ9yBQlEDmls7-g 13:36:25.895 [debug] QUERY OK source="settings" db=0.2ms idle=2.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:36:25.895 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 13:36:26.268 [debug] QUERY OK source="media_items" db=1.1ms idle=373.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [391, "fFGYg9Gv-PI", "Nz-IM8VFixQ", "CqBny6zVHgo", "gq4b-6y6fjg", "msNdXd-oH0g", "lKxykq3G-A0", "VUAkGy6N4AE", "YqObusJsgS8", "zm6eC_ly39Y", "9yEs_PiP91Y", "4FXTLipWWwo", "oS5oki_lq9U", "bFoaCNYCRJc", "_aMlBzxNdjs", "2ixudzh0OLs", "ABE_3uUXV5g", "PmdbLY-aHHQ", "2Nf3W31ARvI", "UzMQ9VNE9X4", "2BzFKxLtM5g", "k0BcDAp202Y", "AS8ZpSFzevg", "2lmcFhQukbI", "LBgXoEFhEZU", "ampWD1a4UJ8", "GwW4gaxsZ30", "Nt2W_LcRvHY", "A3owMXjvxow", "3mc8IV3hQcc", "5cFgzLZrLAQ", "p1NjYE-fBlI", "jvehHAuvLxw", "OyQUOPxRn38", "5uv3uK7cGgY", "jPQSSVZM7Rg", "rNu1K9oLo34", "0W-Y07_EURc", "L86F24V6J4Y", "0Mw6vu_ccZo", "mvnx10KZs2U", "KwtY240O9FE", "LihDSBkbZmQ", "2NSTkXZrUrU", "TQQqCfeebXs", "7l1F7EUEjiM", "_2vatrsVUxw", "c2wPUyxwoV4", "s_XgXgOzizM", "czocgai2km4", ...] 13:36:26.272 [debug] QUERY OK source="media_items" db=2.9ms idle=375.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")))) [391] 13:36:26.274 [debug] QUERY OK source="tasks" db=0.3ms idle=378.6ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2192160, 391, ~U[2026-04-15 13:36:26Z], ~U[2026-04-15 13:36:26Z]] 13:36:26.274 [info] {"args":{"id":391},"id":2192125,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":382137,"event":"job:stop","queue_time":366848,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:36:43.656 [info] {"source":"oban","duration":18332,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:36:48.956 [info] GET /sources/149/media/4671102 13:36:48.956 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "4671102", "source_id" => "149"} Pipelines: [:browser] 13:36:48.957 [debug] QUERY OK source="media_items" db=0.2ms idle=1040.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" = ?) [4671102] 13:36:48.957 [debug] QUERY OK source="tasks" db=0.1ms idle=946.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" [4671102] 13:36:48.958 [debug] QUERY OK source="sources" db=0.3ms idle=946.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" = ?) [149] 13:36:48.958 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=947.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" = ?) [2150460] 13:36:48.958 [debug] QUERY OK source="settings" db=0.1ms idle=40.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:36:48.959 [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 [] 13:36:48.959 [debug] QUERY OK source="settings" db=0.2ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:36:48.960 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 13:36:48.962 [info] Sent 200 in 5ms 13:36:49.076 [info] GET /sources/149/media/4671102/edit 13:36:49.076 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "4671102", "source_id" => "149"} Pipelines: [:browser] 13:36:49.076 [debug] QUERY OK source="media_items" db=0.2ms 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."id" = ?) [4671102] 13:36:49.077 [debug] QUERY OK source="settings" db=0.1ms idle=118.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:36:49.077 [debug] QUERY OK source="settings" db=0.1ms idle=118.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:36:49.078 [debug] QUERY OK source="settings" db=0.1ms idle=117.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:36:49.079 [info] Sent 200 in 3ms 13:36:49.167 [info] GET /sources/548/media/4612768/force_download 13:36:49.167 [debug] QUERY OK source="settings" db=0.2ms idle=206.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:36:49.167 [debug] QUERY OK source="settings" db=0.1ms idle=91.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:36:49.168 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 13:36:49.168 [error] #PID<0.6347.0> running PinchflatWeb.Endpoint (connection #PID<0.6346.0>, stream id 1) terminated Server: jak.hibeex.com:80 (http) Request: GET /sources/548/media/4612768/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/548/media/4612768/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.6346.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/548/media/4612768/force_download", host: "jak.hibeex.com", peer: {{172, 22, 0, 1}, 52782}, bindings: %{}, sock: {{172, 22, 0, 4}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYenF3a002d3hsbXJRS1FudUliaU5HRk9V.Ae67pn3TrxwrMYQXQsQMpAdVUS0qKVseUwl2ZDDH-LM", "from" => "gptbot(at)openai.com", "host" => "jak.hibeex.com", "referer" => "https://jak.hibeex.com/sources/548/media/4612768?prevent_download=true", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.232", "x-forwarded-proto" => "https", "x-openai-host-hash" => "41517590", "x-real-ip" => "74.7.243.232" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYenF3a002d3hsbXJRS1FudUliaU5HRk9V.Ae67pn3TrxwrMYQXQsQMpAdVUS0qKVseUwl2ZDDH-LM" }, halted: false, host: "jak.hibeex.com", method: "GET", owner: #PID<0.6347.0>, params: %{}, path_info: ["sources", "548", "media", "4612768", "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://jak.hibeex.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 22, 0, 1}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYenF3a002d3hsbXJRS1FudUliaU5HRk9V.Ae67pn3TrxwrMYQXQsQMpAdVUS0qKVseUwl2ZDDH-LM" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"connection", "close"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYenF3a002d3hsbXJRS1FudUliaU5HRk9V.Ae67pn3TrxwrMYQXQsQMpAdVUS0qKVseUwl2ZDDH-LM"}, {"from", "gptbot(at)openai.com"}, {"host", "jak.hibeex.com"}, {"referer", "https://jak.hibeex.com/sources/548/media/4612768?prevent_download=true"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)"}, {"x-forwarded-for", "74.7.243.232"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "41517590"}, {"x-real-ip", "74.7.243.232"} ], request_path: "/sources/548/media/4612768/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKaLP8wQO6t9ngwAAvKC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.6346.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/548/media/4612768/force_download", host: "jak.hibeex.com", peer: {{172, 22, 0, 1}, 52782}, bindings: %{}, sock: {{172, 22, 0, 4}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYenF3a002d3hsbXJRS1FudUliaU5HRk9V.Ae67pn3TrxwrMYQXQsQMpAdVUS0qKVseUwl2ZDDH-LM", "from" => "gptbot(at)openai.com", "host" => "jak.hibeex.com", "referer" => "https://jak.hibeex.com/sources/548/media/4612768?prevent_download=true", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.232", "x-forwarded-proto" => "https", "x-openai-host-hash" => "41517590", "x-real-ip" => "74.7.243.232" }, method: "GET", body_length: 0, path_info: :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/548/media/4612768/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.6346.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/548/media/4612768/force_download", host: "jak.hibeex.com", peer: {{172, 22, 0, 1}, 52782}, bindings: %{}, sock: {{172, 22, 0, 4}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYenF3a002d3hsbXJRS1FudUliaU5HRk9V.Ae67pn3TrxwrMYQXQsQMpAdVUS0qKVseUwl2ZDDH-LM", "from" => "gptbot(at)openai.com", "host" => "jak.hibeex.com", "referer" => "https://jak.hibeex.com/sources/548/media/4612768?prevent_download=true", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.232", "x-forwarded-proto" => "https", "x-openai-host-hash" => "41517590", "x-real-ip" => "74.7.243.232" }, method: "GET", body_length: 0, path_info: :und (truncated) 13:37:00.873 [info] {"source":"oban","duration":115,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:37:11.949 [info] {"args":{"id":443},"id":2192127,"meta":{},"system_time":1776260231949093444,"max_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:37:11.949 [info] {"args":{"id":546},"id":2192128,"meta":{},"system_time":1776260231949163723,"max_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:37:11.949 [debug] QUERY OK source="sources" db=0.3ms idle=938.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" = ?) [443] 13:37:11.950 [debug] QUERY OK source="sources" db=0.4ms idle=938.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" = ?) [546] 13:37:11.950 [debug] QUERY OK source="settings" db=0.4ms idle=8.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:37:11.951 [debug] QUERY OK source="media_profiles" db=0.3ms 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" = ?) [2] 13:37:11.951 [debug] QUERY OK source="settings" db=1.5ms idle=938.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:37:11.951 [debug] QUERY OK source="settings" db=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 [] 13:37:11.951 [debug] Fetching recent media IDs from YouTube API for playlist: UU452L96EaYLzAYTPAiRxKdA 13:37:11.952 [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" = ?) [2] 13:37:11.952 [debug] QUERY OK source="settings" db=0.2ms 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 [] 13:37:11.952 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 13:37:11.952 [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 [] 13:37:11.952 [debug] Fetching recent media IDs from YouTube API for playlist: UUokgtRLAWKNPdfFMaSfLLbA 13:37:11.952 [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 [] 13:37:11.952 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 13:37:12.488 [debug] QUERY OK source="media_items" db=0.9ms idle=535.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [546, "0d-Eo3MZIdo", "BH4YCJqDYlA", "_w6Dd9BP0C0", "euW7khacvEo", "WgBJZ1Ubsg0", "oE0vCmcN28s", "_mzQ8upmuMY", "1ypIFJz3jJw", "4ru4RjSiB98", "uMOtAsS4J3s", "Lt2M-jITUTg", "VVPOeq8vXtE", "U3zq72vSJog", "a947nJ7-Lvo", "U33HbFNz36o", "-wREg8baf4o", "f3AaiD26a6E", "cqxY60ckd9A", "o2kjrw3-kw8", "ekvQ83S0DAw", "D_Aw3z4ylsQ", "t7PTzeBUNeQ", "SeoEbrN765M", "lylZY9I_56U", "SH8Lz4NVxTc", "xX64EASCs8M", "PKrKsVzBbII", "wqU5gyoow7M", "eretrY5pnxQ", "SA0-0otEkfc", "pYj3D7t1QFk", "e8sKRE9Yt9U", "1ctTT71N7Ns", "19xtndufa6A", "WNLkyQFf4pM", "rqxHc4SgmUk", "21K3bNCgS-U", "-ybA8ZTcqcU", "gxZJ9yJjg_4", "CBk6n38J9bg", "oh5f3m8vsrs", "hMemXKyyX1o", "0sLgTRmSxII", "QDiGH9BiMwQ", "iAD8eVw6fSw", "VMCnDLDWz3A", "qivkxMSnNZc", "teq8bduREw8", "WC_DtGlrP-A", ...] 13:37:12.493 [debug] QUERY OK source="media_items" db=4.3ms idle=537.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")))) [546] 13:37:12.495 [debug] QUERY OK source="tasks" db=0.2ms idle=542.3ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2192161, 546, ~U[2026-04-15 13:37:12Z], ~U[2026-04-15 13:37:12Z]] 13:37:12.496 [info] {"args":{"id":546},"id":2192128,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":546377,"event":"job:stop","queue_time":408682,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:37:12.503 [info] {"args":{"id":408},"id":2192129,"meta":{},"system_time":1776260232503328490,"max_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:37:12.503 [debug] QUERY OK source="sources" db=0.2ms idle=8.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [408] 13:37:12.504 [debug] QUERY OK source="settings" db=0.2ms idle=8.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:37:12.504 [debug] QUERY OK source="media_profiles" db=0.2ms idle=9.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" = ?) [2] 13:37:12.505 [debug] QUERY OK source="settings" db=0.2ms idle=9.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:37:12.505 [debug] Fetching recent media IDs from YouTube API for playlist: UUN1b55nEWSpUH4dkJDbu24A 13:37:12.505 [debug] QUERY OK source="settings" db=0.1ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:37:12.506 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 13:37:13.674 [info] {"source":"oban","duration":17588,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:37:14.754 [debug] QUERY OK source="media_items" db=1.7ms idle=1077.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [443, "oD-QZSfOI5A", "2soSOj0KGN0", "nAbiXWcpC5k", "J6kw_Nka17Y", "e2IoGqWTX8s", "dtlPPLkCuG8", "ccc4EZfwyqg", "ZmemsVJRu3Q", "gVuzK2MUOy4", "jhtGF0DU-Us", "tdPeRTfPFug", "mYofjcnyeZM", "0tqpzvckxgU", "wp_lVw_Oemk", "_MQ322eFiM0", "PmpzFSPZmcU", "AZayZGnlOoc", "BDtCrgf6F6g", "e_3gcTBQa78", "TG58k-2U2wg", "Yf_zge2tHiw", "F7NHQ1rTVBw", "AZdFVvLhnbM", "1FJr-Rvlzfo", "-Uwz227DOXg", "xxBXGpIGDaU", "hZ4RSjsanf4", "CWuLASH1Hhg", "kxgmWGaaTSE", "p1mr39aRY1Q", "pFt6iqIug-E", "9n541lBjlso", "H8K-OVUzBP8", "UXtrfCEOPH0", "Tq6kuWhxY3k", "4sprHamH6sc", "wFO9Uo-aJJg", "M2goEYlN7wk", "6BH-hprkaBQ", "ZaVNjCXFcaQ", "__hPb3e-FK4", "Jxlr2hKwrys", "A6eWc8_bZtg", "ttgiRMWbm_s", "ENWcWveBkno", "8SU8mWL61Ek", "tcRaHb7HmAA", "o0aTw6Mv7lQ", "bbiAmRgZS1I", ...] 13:37:14.758 [debug] QUERY OK source="media_items" db=2.9ms idle=809.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")))) [443] 13:37:14.760 [debug] QUERY OK source="tasks" db=0.3ms idle=748.5ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2192162, 443, ~U[2026-04-15 13:37:14Z], ~U[2026-04-15 13:37:14Z]] 13:37:14.760 [info] {"args":{"id":443},"id":2192127,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":2811112,"event":"job:stop","queue_time":940610,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:37:14.767 [info] {"args":{"id":256},"id":2192130,"meta":{},"system_time":1776260234767201371,"max_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:37:14.767 [debug] QUERY OK source="sources" db=0.3ms 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" FROM "sources" AS s0 WHERE (s0."id" = ?) [256] 13:37:14.768 [debug] QUERY OK source="settings" db=0.2ms idle=8.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:37:14.768 [debug] QUERY OK source="media_profiles" db=0.3ms idle=8.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 13:37:14.769 [debug] QUERY OK source="settings" db=0.2ms idle=8.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:37:14.769 [debug] Fetching recent media IDs from YouTube API for playlist: UUKjuhDegX8XdpWCr6nvNHzA 13:37:14.769 [debug] QUERY OK source="settings" db=0.1ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:37:14.769 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 13:37:15.017 [debug] QUERY OK source="media_items" db=1.2ms idle=247.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [408, "60snLY1vA0E", "8pAhbBu7gEQ", "HdrrxdODQAA", "xKT3ecAfmFA", "YZO95dUHz3c", "Mp74vJFHTXM", "kJHttBFZxF0", "DmR_cT-8-hc", "SF2w4WoIFiM", "q_i5Q_JuqV8", "Ndx_mqpAlLE", "Ig5moNWc6Vg", "Kk40lncizgI", "ZcCyOkXZVjM", "c5LyWHDR8T8", "hMlhSujkKkk", "HSjwF2XIJdw", "_G5Eiyr8Qlo", "v7-lX7mNJ68", "HudMuosHMlo", "GKFSWYSGAoc", "svWkISzIjE4", "GrL4eRQxzcY", "1k3BfSt7mFI", "iyQOowSy4A8", "_wBp4fwp64E", "UcnxU-Nvp5o", "IKICkr0QDOg", "UKwdbZm6vWI", "95n7T6LSGTY", "x44wBLwVhQM", "NFTaRxu7pug", "a7SCBCJ4XIs", "BRFviE90sMY", "MgkuBaYfHLs", "KlJXxAtvjK0", "Wn-63J_jbSA", "dXXm7I0L8Dg", "kPnJgT8MklY", "vxA2Q_mrji4", "m-5OapnOgFM", "akPHdyMUl5M", "Zt6xVHfqseQ", "mk6FncB9cAA", "sbdzFS0t1zg", "BbTzZQTIwwg", "SZrqUGh_TbQ", "TXZpfFC90NQ", "SKo3F9Mr8ac", ...] 13:37:15.019 [debug] QUERY OK source="media_items" db=0.5ms idle=249.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")))) [408] 13:37:15.021 [debug] QUERY OK source="tasks" db=0.3ms idle=72.4ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2192163, 408, ~U[2026-04-15 13:37:15Z], ~U[2026-04-15 13:37:15Z]] 13:37:15.021 [info] {"args":{"id":408},"id":2192129,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":2517878,"event":"job:stop","queue_time":701759,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:37:15.028 [info] {"args":{"id":176},"id":2192131,"meta":{},"system_time":1776260235028093891,"max_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:37:15.028 [debug] QUERY OK source="sources" db=0.2ms 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" FROM "sources" AS s0 WHERE (s0."id" = ?) [176] 13:37:15.029 [debug] QUERY OK source="settings" db=0.2ms idle=8.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:37:15.029 [debug] QUERY OK source="media_profiles" db=0.2ms idle=8.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 13:37:15.029 [debug] QUERY OK source="settings" db=0.2ms idle=8.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:37:15.030 [debug] Fetching recent media IDs from YouTube API for playlist: UU6F-j9LyXIK_zXY0gbYRjog 13:37:15.030 [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 [] 13:37:15.030 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 13:37:15.335 [debug] QUERY OK source="media_items" db=1.3ms 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 WHERE ((m0."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [256, "DWUkU2XDaoQ", "bVd27otzkEo", "F401cxKw1uU", "V87j3RfYskI", "RTSIfcIPHZ4", "r-6bh8Odx3k", "iEMNXXVqx7k", "2oeIvbhGdss", "sqk9bSoEIi0", "tw7_JSncn18", "Wyve63135Fk", "xOlkugUCHIQ", "ZOg-UTcOWUI", "tEwCDo5sX-g", "fJMNv2rp3Ws", "_TsErXjEPo0", "aRzn7h73ScM", "foX-0CXMqzc", "OrIJDRZ5yck", "vIY1jM73Wv8", "wk0VqC_Dp3U", "6CT5F2T1kuk", "WHEKWr_ikX0", "Nku_tw_1kfE", "x0x_PkTgmTY", "yd3ttzfK_d8", "qrLjOFq4CXQ", "TQOZbpfSpxY", "2KcmeqRBAe0", "RZ7eKXOcDZA", "fyLOfjJj4cU", "-tkxtoUZNb0", "0dLV8wNyw-k", "59Gjb5NFDVQ", "Txw1JLPYcmY", "H5BLR4XliT0", "g43xxBSEsWk", "ZBSrSI_ZUgc", "PI6qDflxIQg", "wHPDU9EoILs", "3QbyJoTM7VY", "PFckr4gh1BA", "qvU1PKff_sM", "sJzJsaWL88U", "gY9uPzofHhk", "uRXFS29DGLM", "RvxT0XEbgAg", "N3SukH8PqzM", "9hfJK_HQqho", ...] 13:37:15.337 [debug] QUERY OK source="media_items" db=1.1ms idle=307.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")))) [256] 13:37:15.340 [debug] QUERY OK source="tasks" db=0.3ms idle=4.8ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2192164, 256, ~U[2026-04-15 13:37:15Z], ~U[2026-04-15 13:37:15Z]] 13:37:15.340 [info] {"args":{"id":256},"id":2192130,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":573069,"event":"job:stop","queue_time":2632191,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:37:15.347 [info] {"args":{"id":548},"id":2192132,"meta":{},"system_time":1776260235347078867,"max_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:37:15.347 [debug] QUERY OK source="sources" db=0.2ms idle=7.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" = ?) [548] 13:37:15.348 [debug] QUERY OK source="settings" db=0.2ms idle=8.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:37:15.348 [debug] QUERY OK source="media_profiles" db=0.3ms idle=8.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 13:37:15.349 [debug] QUERY OK source="settings" db=0.2ms idle=8.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:37:15.349 [debug] Fetching recent media IDs from YouTube API for playlist: UUKIe0D8roD7OIY6GUZey4kA 13:37:15.349 [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 [] 13:37:15.349 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 13:37:15.612 [debug] QUERY OK source="media_items" db=1.1ms idle=263.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [176, "VrP9i5gRFmM", "WEoJyqjOLDs", "V3MNyEwmqr8", "qhNxSY35WZU", "rkb-6qjO3YM", "r_NzVN4OmIs", "YTpf0mOXNrI", "oNyFz82BVzY", "rK_Mp0leQUk", "rOIPOkqFo4o", "s-yFsryoeeA", "vHIVeqvO4aQ", "knyKlUZIwYQ", "irSIienUQd4", "eM9SB2Ny8lc", "vqZ6zySlGOU", "UdkGF_z3Aks", "ZPeBeS87EeI", "s7Ajz6YL2ZE", "rWmx74av4x4", "tNXj29ZS0VY", "oISdxagKMBI", "RVo_ar7OSDk", "dFcdYCKkc3Q", "jJmOjPGDdHQ", "uNFmnch6DkU", "agDEZAVDYAU", "I-sJTe9u0j4", "v8e_tW3NX0Y", "qGe25_jFNQ0", "0pMIwYMKE9w", "5ZYWspIqYLw", "vHH0LheJQFs", "VFlYnIQiIUo", "xQtI8cE7Igc", "cDH4cPa7XJM", "6F93shePog0", "Vn0A4aUTSbY", "yU0CccqqaX0", "tEEfMkbYfUY", "8DRBW9BERJM", "Mo6Z427HkdA", "C_hN-U1qgUo", "ACz-TF_Ln-w", "EvO9y5iGN-U", "tqH-9fmPdI0", "DnW4gL41yQc", "VDVDUOJgS9s", "0_mxyqK3sDk", ...] 13:37:15.614 [debug] QUERY OK source="media_items" db=0.5ms 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 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [176] 13:37:15.631 [debug] QUERY OK source="tasks" db=15.3ms idle=266.4ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2192165, 176, ~U[2026-04-15 13:37:15Z], ~U[2026-04-15 13:37:15Z]] 13:37:15.634 [info] {"args":{"id":176},"id":2192131,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":603222,"event":"job:stop","queue_time":2613266,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:37:15.641 [info] {"args":{"id":191},"id":2192133,"meta":{},"system_time":1776260235640992271,"max_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:37:15.641 [debug] QUERY OK source="sources" db=0.2ms idle=25.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" = ?) [191] 13:37:15.641 [debug] QUERY OK source="settings" db=0.2ms idle=25.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:37:15.642 [debug] QUERY OK source="media_profiles" db=0.2ms idle=10.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 13:37:15.642 [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:37:15.642 [debug] Fetching recent media IDs from YouTube API for playlist: UUaA8WJj7rZtNb41Bb34tnTA 13:37:15.643 [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 [] 13:37:15.643 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 13:37:15.916 [debug] QUERY OK source="media_items" db=1.2ms idle=273.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [548, "PfYHk-vjB_A", "2BuBWoUgyqk", "AAe4lJr8LMM", "f6a1cd0qIxk", "8CazQzCY3t4", "k_P0qA3sX5U", "sXQ4VA_qjEY", "Dp250ZKHJvk", "mPyaYSsntuQ", "fTqrxHYDV5I", "3sQXejmW6wI", "XJMyqh9XYjY", "lU_i_QnA1S4", "P2CObeRek_k", "UwhNyYKx5X0", "428okyYmv44", "6fqMb-oK-Xg", "mHjmfW7C5Uo", "bat3ptnzuc8", "ELACjXyUUtw", "IRUYXKvvbXU", "U8eH_biTWGw", "S5ontcrzHhU", "zybPVOUlIqM", "YjgY6OmtJLs", "dmyIkdPaWP8", "zlieCi6Tfsg", "5IgGWjGjOZc", "JR2faI1-OQU", "kpdNGZo3xQs", "L5VHg61PP5c", "HqM_WjUA12o", "bJgA5PhNu8M", "u4HpsaGxe_A", "wdJNBZvvtmA", "6nDTPvnPiy0", "LWpibL8P5B8", "F4eYz8hOg2g", "Vga4Xk3lkn0", "IWOLQphzwqA", "nKeMdr6iVts", "O29G6yd4URM", "m5qGxBjn1KM", "IYYcLFicyM8", "PfB9Sc92vYA", "ofLrgtXQLq4", "2cpOCFmVcvw", "KSbDk4A_DWc", "g2MNyRTZXIc", ...] 13:37:15.918 [debug] QUERY OK source="media_items" db=1.3ms idle=275.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")))) [548] 13:37:15.920 [debug] QUERY OK source="tasks" db=0.2ms idle=276.9ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2192166, 548, ~U[2026-04-15 13:37:15Z], ~U[2026-04-15 13:37:15Z]] 13:37:15.920 [info] {"args":{"id":548},"id":2192132,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":573397,"event":"job:stop","queue_time":2621593,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:37:16.248 [debug] QUERY OK source="media_items" db=1.3ms idle=327.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [191, "jZPBvl0cOVg", "JAPsrunU5Lg", "9Vx5IKgj6FE", "ISsGIXK0DAo", "Id20bd5X2iU", "x6VkSJy4HNw", "2IR8K7NYkNo", "_DKN9NK3Vg4", "gG7-BfNX30Q", "liy01fr1yBE", "Jlh8uBe7RFY", "9cXfBEwntzA", "qacVmM42e_o", "O4wwG8qBqXs", "1fBaNL_3JHs", "BzxEZMf3Rjc", "AvL2XPACjik", "tuWjvViGp4o", "hzy4lCK6rM8", "H0KL7u9cC1M", "8XEOshhKUPU", "rTXEC3VFqVo", "SNRZzKVH754", "eZEP7qSvMWQ", "DsbsadX-7Rw", "oNX2TzH926Q", "ClJpxV5rPkE", "5GGq9OhxbeY", "bZMwkPXAI-0", "aGAwKq2voMw", "A7Z9XghbCsE", "jBEX06n7cWQ", "UPbV21bn7Mg", "1UgURk7PuQg", "_vndBPsf0vQ", "0UJZmJzzLVI", "EUGuC62oYgg", "ABAOXlx_WuY", "4siwTxHoj5k", "IJthhi9-Ex4", "EL8VyinqjXI", "ElgT-WHpxvk", "XigqTb7Y5OQ", "RIT7GX_bO1Y", "3wQqHyMG3yo", "X6JeIE1t1pQ", "swJSgogb9ys", "DRZ6y0qceR4", "CS-oesi4GLs", ...] 13:37:16.252 [debug] QUERY OK source="media_items" db=2.5ms idle=329.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")))) [191] 13:37:16.254 [debug] QUERY OK source="tasks" db=0.2ms idle=304.3ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2192167, 191, ~U[2026-04-15 13:37:16Z], ~U[2026-04-15 13:37:16Z]] 13:37:16.254 [info] {"args":{"id":191},"id":2192133,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":613514,"event":"job:stop","queue_time":2495023,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:37:32.977 [info] {"args":{"id":116},"id":2192134,"meta":{},"system_time":1776260252977142325,"max_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:37:32.977 [debug] QUERY OK source="sources" db=0.3ms idle=966.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" = ?) [116] 13:37:32.978 [debug] QUERY OK source="settings" db=0.2ms idle=966.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:37:32.978 [debug] QUERY OK source="media_profiles" db=0.2ms idle=967.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" = ?) [2] 13:37:32.979 [debug] QUERY OK source="settings" db=0.2ms idle=8.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:37:32.979 [debug] Fetching recent media IDs from YouTube API for playlist: UU4vo6vxydWDmBa84KMKhiXw 13:37:32.979 [debug] QUERY OK source="settings" db=0.1ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:37:32.979 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 13:37:33.634 [debug] QUERY OK source="media_items" db=1.3ms idle=654.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [116, "nytXL_VEGmw", "678MQRWDzLE", "kfMP1FlsZ-Y", "IB-kOvrzKX8", "TdtuOizJSew", "AQUU0tZDwfI", "Wn3MRd9Wuro", "S7DdtEy9Jgg", "CV5yz6G2Z9w", "q36ovsRziNo", "odjn_S9EIdQ", "FSsKyw-iEzY", "wjMtWMa1A80", "ABWJtxsG3eU", "k4XabFYYE7Q", "5pfiBaTNIsQ", "zRDynSEI6Fk", "iD1AGYL4bR0", "t-8_25lfMJM", "Oe_TXmyWqJ8", "0NzC4S1dgM0", "9cULliuD6nE", "EDO5ReEwdio", "XdeqVSzgy2U", "TTAXcbQpEaE", "ECAr_67wdPM", "LLacJ65FK6Y", "muI5rDkVn3A", "EbMCcAmbOOo", "IkKAj4Ki2sc", "SSGgoLGe4tY", "BT7x8jDjP_0", "duHnTnv43l8", "qWRjcOH3A38", "sZeBxpZHl_8", "269E9Qg_TJ8", "K5TDrxiDhmg", "phQpyBEcPbM", "y20UfhdVbKY", "ProjJh_PVb4", "U35NNywKWkw", "HvjbSZ1jNpQ", "ab3H7nqA4iQ", "8Fg9GartJlE", "52y4kIvGb5s", "Q8yBHGBwAnc", "rFtQq4npWC4", "5LTTw4DBUwQ", "IhN1EwbuSJE", ...] 13:37:33.641 [debug] QUERY OK source="media_items" db=6.0ms idle=657.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")))) [116] 13:37:33.643 [debug] QUERY OK source="tasks" db=0.3ms idle=663.4ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2192168, 116, ~U[2026-04-15 13:37:33Z], ~U[2026-04-15 13:37:33Z]] 13:37:33.643 [info] {"args":{"id":116},"id":2192134,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":666221,"event":"job:stop","queue_time":947878,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:37:39.970 [info] GET /sources/149/media/4648979/edit 13:37:39.970 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "4648979", "source_id" => "149"} Pipelines: [:browser] 13:37:39.971 [debug] QUERY OK source="media_items" db=0.3ms idle=993.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" = ?) [4648979] 13:37:39.972 [debug] QUERY OK source="settings" db=0.1ms idle=960.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:37:39.972 [debug] QUERY OK source="settings" db=0.1ms idle=960.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:37:39.973 [debug] QUERY OK source="settings" db=0.1ms idle=961.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:37:39.974 [info] Sent 200 in 3ms 13:37:40.088 [info] GET /sources/149/media/4638533/edit 13:37:40.089 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "4638533", "source_id" => "149"} Pipelines: [:browser] 13:37:40.089 [debug] QUERY OK source="media_items" db=0.1ms idle=117.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" = ?) [4638533] 13:37:40.089 [debug] QUERY OK source="settings" db=0.2ms idle=117.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:37:40.090 [debug] QUERY OK source="settings" db=0.1ms idle=117.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:37:40.090 [debug] QUERY OK source="settings" db=0.2ms idle=117.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:37:40.091 [info] Sent 200 in 3ms 13:37:43.693 [info] {"source":"oban","duration":18074,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:37:44.589 [info] GET /sources/149/media/4701074/edit 13:37:44.589 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "4701074", "source_id" => "149"} Pipelines: [:browser] 13:37:44.589 [debug] QUERY OK source="media_items" db=0.2ms idle=896.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" = ?) [4701074] 13:37:44.590 [debug] QUERY OK source="settings" db=0.1ms idle=606.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:37:44.590 [debug] QUERY OK source="settings" db=0.0ms idle=579.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:37:44.591 [debug] QUERY OK source="settings" db=0.1ms idle=579.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:37:44.592 [info] Sent 200 in 3ms 13:37:44.706 [info] GET /sources/149/media/4638503/edit 13:37:44.706 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "4638503", "source_id" => "149"} Pipelines: [:browser] 13:37:44.707 [debug] QUERY OK source="media_items" db=0.2ms idle=695.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" = ?) [4638503] 13:37:44.707 [debug] QUERY OK source="settings" db=0.2ms idle=117.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:37:44.708 [debug] QUERY OK source="settings" db=0.1ms idle=117.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:37:44.708 [debug] QUERY OK source="settings" db=0.1ms idle=117.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:37:44.709 [info] Sent 200 in 3ms 13:37:45.024 [info] GET /sources/149/media/4701074 13:37:45.024 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "4701074", "source_id" => "149"} Pipelines: [:browser] 13:37:45.024 [debug] QUERY OK source="media_items" db=0.1ms idle=317.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" = ?) [4701074] 13:37:45.025 [debug] QUERY OK source="tasks" db=0.2ms idle=317.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" [4701074] 13:37:45.025 [debug] QUERY OK source="sources" db=0.5ms idle=317.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" = ?) [149] 13:37:45.026 [debug] QUERY OK source="settings" db=0.1ms idle=317.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:37:45.026 [debug] QUERY OK source="settings" db=0.1ms idle=41.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:37:45.027 [debug] QUERY OK source="settings" db=0.1ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:37:45.028 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 13:37:45.029 [info] Sent 200 in 5ms 13:37:45.525 [info] GET /sources/149/media/4638529/edit 13:37:45.525 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "4638529", "source_id" => "149"} Pipelines: [:browser] 13:37:45.526 [debug] QUERY OK source="media_items" db=0.1ms idle=500.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [4638529] 13:37:45.526 [debug] QUERY OK source="settings" db=0.1ms idle=500.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:37:45.527 [debug] QUERY OK source="settings" db=0.1ms idle=500.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:37:45.527 [debug] QUERY OK source="settings" db=0.2ms idle=500.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:37:45.529 [info] Sent 200 in 3ms 13:37:51.089 [info] GET /sources/149/media/4674947 13:37:51.089 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "4674947", "source_id" => "149"} Pipelines: [:browser] 13:37:51.090 [debug] QUERY OK source="media_items" db=0.2ms idle=97.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" = ?) [4674947] 13:37:51.091 [debug] QUERY OK source="tasks" db=0.3ms idle=79.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" [4674947] 13:37:51.091 [debug] QUERY OK source="sources" db=0.4ms idle=79.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [149] 13:37:51.091 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=80.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" = ?) [2155363] 13:37:51.092 [debug] QUERY OK source="settings" db=0.1ms idle=80.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:37:51.092 [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 [] 13:37:51.093 [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 [] 13:37:51.093 [debug] QUERY OK source="media_profiles" db=0.2ms idle=2.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" = ?) [2] 13:37:51.095 [info] Sent 200 in 6ms 13:37:51.209 [info] GET /sources/149/media/4638514/edit 13:37:51.209 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "4638514", "source_id" => "149"} Pipelines: [:browser] 13:37:51.210 [debug] QUERY OK source="media_items" db=0.2ms idle=118.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" = ?) [4638514] 13:37:51.210 [debug] QUERY OK source="settings" db=0.1ms idle=118.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:37:51.211 [debug] QUERY OK source="settings" db=0.1ms idle=118.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:37:51.211 [debug] QUERY OK source="settings" db=0.1ms idle=118.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:37:51.212 [info] Sent 200 in 3ms 13:37:51.466 [info] GET /sources/149/media/4659871 13:37:51.466 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "4659871", "source_id" => "149"} Pipelines: [:browser] 13:37:51.466 [debug] QUERY OK source="media_items" db=0.2ms idle=372.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" = ?) [4659871] 13:37:51.467 [debug] QUERY OK source="tasks" db=0.1ms idle=256.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" [4659871] 13:37:51.467 [debug] QUERY OK source="sources" db=0.3ms idle=256.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" = ?) [149] 13:37:51.467 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=256.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" = ?) [2135759] 13:37:51.468 [debug] QUERY OK source="settings" db=0.1ms idle=256.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:37:51.468 [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 [] 13:37:51.469 [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 [] 13:37:51.469 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 13:37:51.471 [info] Sent 200 in 5ms 13:37:51.967 [info] GET /sources/149/media/4638514 13:37:51.967 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "4638514", "source_id" => "149"} Pipelines: [:browser] 13:37:51.967 [debug] QUERY OK source="media_items" db=0.2ms idle=499.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" = ?) [4638514] 13:37:51.968 [debug] QUERY OK source="tasks" db=0.1ms idle=499.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" [4638514] 13:37:51.968 [debug] QUERY OK source="sources" db=0.3ms idle=499.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" = ?) [149] 13:37:51.968 [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 [] 13:37:51.969 [debug] QUERY OK source="settings" db=0.1ms idle=499.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:37:51.969 [debug] QUERY OK source="settings" db=0.1ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:37:51.970 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 13:37:51.971 [info] Sent 200 in 4ms 13:37:52.862 [info] GET /sources/509/media/4352366 13:37:52.863 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "4352366", "prevent_download" => "true", "source_id" => "509"} Pipelines: [:browser] 13:37:52.863 [debug] QUERY OK source="media_items" db=0.2ms idle=894.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" = ?) [4352366] 13:37:52.864 [debug] QUERY OK source="tasks" db=0.2ms idle=894.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" [4352366] 13:37:52.864 [debug] QUERY OK source="sources" db=0.3ms idle=894.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" = ?) [509] 13:37:52.864 [debug] QUERY OK source="settings" db=0.2ms idle=894.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:37:52.865 [debug] QUERY OK source="settings" db=0.1ms idle=871.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:37:52.865 [debug] QUERY OK source="settings" db=0.0ms 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 [] 13:37:52.866 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 13:37:52.868 [info] Sent 200 in 5ms 13:38:00.874 [info] {"source":"oban","duration":163,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:38:06.016 [info] {"args":{"id":398},"id":2192135,"meta":{},"system_time":1776260286016041156,"max_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:38:06.016 [debug] QUERY OK source="sources" db=0.2ms idle=5.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [398] 13:38:06.017 [debug] QUERY OK source="settings" db=0.2ms idle=5.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:38:06.018 [debug] QUERY OK source="media_profiles" db=0.8ms 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" = ?) [2] 13:38:06.019 [debug] QUERY OK source="settings" db=0.3ms idle=7.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:38:06.019 [debug] Fetching recent media IDs from YouTube API for playlist: UUCbIqqUYqlvskcT4UJKgp0A 13:38:06.019 [debug] QUERY OK source="settings" db=0.1ms idle=3.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:38:06.019 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 13:38:06.336 [debug] QUERY OK source="media_items" db=1.2ms idle=318.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [398, "TMMZYc9IgDA", "17sWgRsYQqY", "ZpjrNISTUh0", "NEeBdV2GB8U", "6UEKxr0CjGg", "NWCVD7myp4o", "MhK3gfLvTNw", "eEHajx5JzSs", "I4XkUPlVuNA", "BBHjfuE8uYc", "oaummeIbyiE", "IAYtkgRgV1o", "4zhXB40pfuQ", "O0-9r7OeVjg", "BR1SZVInqnw", "7wBlas-p7zU", "xEHgIoiu8WU", "2zWSjk5Vqn8", "7xtXhYC1oLM", "8bg5pYHU1rU", "StfQN_0vmWs", "kSuw_nrQou0", "--cc1UnTZOM", "v02AjJzWA5c", "gTuMrWqxe7s", "p-v9j1CbD5s", "3YFqKJeDWQk", "X5EsXmOGxkQ", "zkCjl4vhiVI", "QBLbqY5Ea-U", "p1Ca3rBtM_0", "80PF1Vatv4o", "cof4ynZjXTg", "aNEFg5WCC_s", "1l8S9eDgjms", "fQG9_ZWhmps", "mG6ZDr2-_0E", "SGZJHTfLUFY", "sIbaqt6JzeU", "YTFHrYqpmDA", "EggNQNf4-xg", "SDmB0xlDdw0", "d55qkSwiDEo", "75tg3p5h8K8", "NN-DFa3l_xs", "ICTzn9oQJjQ", "lGi0YQw2FHw", "uo6mStUoJjc", "fYOGrcWS7vk", ...] 13:38:06.339 [debug] QUERY OK source="media_items" db=1.8ms idle=320.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")))) [398] 13:38:06.341 [debug] QUERY OK source="tasks" db=0.2ms idle=321.5ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2192169, 398, ~U[2026-04-15 13:38:06Z], ~U[2026-04-15 13:38:06Z]] 13:38:06.341 [info] {"args":{"id":398},"id":2192135,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":325326,"event":"job:stop","queue_time":381456,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:38:07.941 [info] GET /sources/149/media/4693393/edit 13:38:07.941 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "4693393", "source_id" => "149"} Pipelines: [:browser] 13:38:07.942 [debug] QUERY OK source="media_items" db=0.3ms idle=1601.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" = ?) [4693393] 13:38:07.943 [debug] QUERY OK source="settings" db=0.3ms idle=1601.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:38:07.943 [debug] QUERY OK source="settings" db=0.1ms idle=1601.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:38:07.944 [debug] QUERY OK source="settings" db=0.1ms idle=1595.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:38:07.945 [info] Sent 200 in 3ms 13:38:08.068 [info] GET /sources/149/media/4638537 13:38:08.068 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "4638537", "source_id" => "149"} Pipelines: [:browser] 13:38:08.069 [debug] QUERY OK source="media_items" db=0.2ms idle=125.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" = ?) [4638537] 13:38:08.070 [debug] QUERY OK source="tasks" db=0.2ms idle=126.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" [4638537] 13:38:08.070 [debug] QUERY OK source="sources" db=0.3ms idle=125.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [149] 13:38:08.070 [debug] QUERY OK source="settings" db=0.1ms idle=59.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:38:08.071 [debug] QUERY OK source="settings" db=0.1ms idle=58.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:38:08.071 [debug] QUERY OK source="settings" db=0.1ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:38:08.072 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 13:38:08.074 [info] Sent 200 in 5ms 13:38:08.336 [info] GET /sources/149/media/4693393 13:38:08.336 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "4693393", "source_id" => "149"} Pipelines: [:browser] 13:38:08.337 [debug] QUERY OK source="media_items" db=0.2ms 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 WHERE (m0."id" = ?) [4693393] 13:38:08.338 [debug] QUERY OK source="tasks" db=0.1ms idle=266.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" [4693393] 13:38:08.338 [debug] QUERY OK source="sources" db=0.3ms idle=266.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" = ?) [149] 13:38:08.338 [debug] QUERY OK source="settings" db=0.1ms idle=266.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:38:08.339 [debug] QUERY OK source="settings" db=0.1ms idle=266.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:38:08.339 [debug] QUERY OK source="settings" db=0.1ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:38:08.340 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 13:38:08.341 [info] Sent 200 in 5ms 13:38:08.833 [info] GET /sources/149/media/4674946/edit 13:38:08.834 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "4674946", "source_id" => "149"} Pipelines: [:browser] 13:38:08.834 [debug] QUERY OK source="media_items" db=0.2ms idle=496.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" = ?) [4674946] 13:38:08.835 [debug] QUERY OK source="settings" db=0.1ms idle=496.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:38:08.835 [debug] QUERY OK source="settings" db=0.1ms idle=496.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:38:08.836 [debug] QUERY OK source="settings" db=0.1ms idle=496.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:38:08.837 [info] Sent 200 in 3ms 13:38:13.711 [info] {"source":"oban","duration":17523,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:38:19.033 [info] {"args":{"id":411},"id":2192136,"meta":{},"system_time":1776260299032989671,"max_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:38:19.034 [debug] QUERY OK source="sources" db=0.9ms idle=1022.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [411] 13:38:19.034 [debug] QUERY OK source="settings" db=0.2ms idle=1010.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:38:19.035 [debug] QUERY OK source="media_profiles" db=0.2ms idle=23.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" = ?) [2] 13:38:19.035 [debug] QUERY OK source="settings" db=0.2ms idle=8.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:38:19.035 [debug] Fetching recent media IDs from YouTube API for playlist: UUDItXi7_EXg4AEviycQNaLQ 13:38:19.036 [debug] QUERY OK source="settings" db=0.1ms idle=2.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:38:19.036 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 13:38:19.323 [debug] QUERY OK source="media_items" db=1.2ms idle=287.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [411, "JuDij37WcMQ", "rfg7AvtzW-w", "9D2z-swZk04", "z8Yxq-sXAEY", "M9BoVFGH0RY", "t8d0ZZmhz0U", "-yt8Js4ud6A", "4dW9FV5t4Yo", "ATPqDugamkY", "AXV7sIoRgkM", "TMmET7MMEYk", "fAXX1Gaj5XA", "s-1LQGqIeyM", "Td5Sf4q51bk", "QRrz7bLpg5Q", "iKP4LnL6Iy0", "EO4McLmPyJQ", "Ir9G5100kN0", "gA_5V8GkswQ", "Bq2dgjvq74I", "u7Q0hVQPYkE", "VH2u9XmsStE", "WC5MwjCb-m4", "UDCNa698Jrk", "hba6Wln8hFY", "ap2i_nGoQ4c", "UWGhRXAqpAA", "XeMCi0Np7cI", "4z4pMvSEcb0", "GvXJejZfMdY", "E0XS1NX_tcQ", "0q7aRwmrbtg", "CUmm-3krENA", "2rZzuysCjmg", "sbN8KmyhtQk", "d6rZg1_QO_M", "4PSn3m7r7O8", "W_yHf301OD0", "88HufGqVfCU", "FAbVG6RVX-M", "5oMDMqp8aNg", "7trWvdh3-xM", "EmvBf7NJPDo", "AfD6sytM9e8", "rckwoxIA8zI", "DC9ihJ9j8tg", "i8M4cmPln74", "aY6KSMYwGhA", "FITQe52CL6k", ...] 13:38:19.330 [debug] QUERY OK source="media_items" db=5.2ms idle=290.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")))) [411] 13:38:19.332 [debug] QUERY OK source="tasks" db=0.3ms idle=295.8ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2192170, 411, ~U[2026-04-15 13:38:19Z], ~U[2026-04-15 13:38:19Z]] 13:38:19.332 [info] {"args":{"id":411},"id":2192136,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":299454,"event":"job:stop","queue_time":455905,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:38:21.037 [info] {"args":{"id":174},"id":2192137,"meta":{},"system_time":1776260301037177596,"max_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:38:21.037 [debug] QUERY OK source="sources" db=0.3ms idle=26.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" = ?) [174] 13:38:21.038 [debug] QUERY OK source="settings" db=0.2ms idle=26.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:38:21.038 [debug] QUERY OK source="media_profiles" db=0.2ms idle=27.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 13:38:21.039 [debug] QUERY OK source="settings" db=0.2ms idle=8.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:38:21.039 [debug] Fetching recent media IDs from YouTube API for playlist: UUgh7hDxRUy44n2C0fpuweuA 13:38:21.039 [debug] QUERY OK source="settings" db=0.1ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:38:21.039 [debug] Using YouTube API key: AIzaSyDeUA3E_Cj81XUEIqE5oDPuD2fB7t9trSg 13:38:21.263 [debug] QUERY OK source="media_items" db=1.3ms idle=223.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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [174, "mnC32YQtLaM", "jFCnvX91Mf4", "ZBliwo9EBTQ", "ZtWxlUBlUeo", "O_YT14LOkV8", "vYkXCwBxaWk", "GQMcWcp7iII", "PM2hH6k6FAI", "OnPyArQdyqU", "yTmwiByqRB4", "2R_i6g6M1mU", "h6D3xHSmiN0", "LinnkM4bD5s", "mdTPRWg-mDY", "TNWDyRo9sgE", "jHQ67V9Qb_Y", "6KE_NGb5aQY", "9rxm1nOYr8U", "ALNHb-rmLqA", "5LZmm3G4abs", "hdGp9pZRWkE", "1-1VVVYCDxY", "PGgqj8Oc8qc", "BrRSe7jghBo", "ByP2G4j7jWE", "5bz0UaSzhe8", "OeUKShLLZoo", "PW3wFLy8tTM", "nY_bmBNlXO4", "nHoIck64yfU", "Ua1t9a59osg", "4Ipt1YC6Rsk", "Z0BjSmk8gCY", "Dz55V0-TnsE", "YXP5BmHMuJ8", "TSCLkDgFNis", "uwCW0TMNShU", "tBg3xMaUV7I", "Bj43Cq2_Wds", "361tk2e_sQc", "2W-0YlJUzHE", "YmvxFHR1Upg", "_ERvQbE6Qcg", "JKKOKWe6WUY", "h9ZvZQR8S6Q", "fw5S0jLGyw0", "Q9K5nuhZXso", "sOfyTqif9yg", "_4saIvJyiZY", ...] 13:38:21.267 [debug] QUERY OK source="media_items" db=3.1ms idle=226.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")))) [174] 13:38:21.269 [debug] QUERY OK source="tasks" db=0.2ms idle=229.3ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2192171, 174, ~U[2026-04-15 13:38:21Z], ~U[2026-04-15 13:38:21Z]] 13:38:21.269 [info] {"args":{"id":174},"id":2192137,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":232191,"event":"job:stop","queue_time":352343,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 13:38:27.046 [info] {"args":{"id":357},"id":2187287,"meta":{},"system_time":1776260307046195005,"max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 13:38:27.046 [debug] QUERY OK source="sources" db=0.3ms idle=35.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" = ?) [357] 13:38:27.047 [debug] QUERY OK source="settings" db=0.2ms idle=35.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:38:27.053 [debug] QUERY OK source="media_items" db=5.3ms idle=36.3ms SELECT count(*) FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [357] 13:38:27.054 [debug] QUERY OK source="media_items" db=0.6ms idle=14.0ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [357] 13:38:27.054 [debug] QUERY OK source="media_profiles" db=0.1ms idle=8.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 13:38:27.054 [debug] QUERY OK source="settings" db=0.1ms idle=7.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:38:27.055 [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:38:27.058 [debug] QUERY OK source="media_items" db=2.9ms idle=2.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" = ?) ORDER BY m0."uploaded_at" DESC LIMIT 50 OFFSET 20 [357] 13:38:27.060 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 13:38:27.060 [debug] Current batch of media processed. Will check again in 1000ms 13:38:27.060 [debug] QUERY OK source="settings" db=0.1ms idle=6.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:38:27.061 [debug] QUERY OK source="settings" db=0.2ms idle=6.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:38:27.061 [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:38:27.061 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@mazajofficial/shorts --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/shorts/Mazaj - مزاج/Mazaj - مزاج - %(upload_date>%Y-%m-%d)S - [%(id)S].%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --break-on-existing --download-archive /tmp/pinchflat/data/d7/29/d729fd357100595b58e52c02c746a8c35b0855dab45788d83247acbd7863e70c.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/4e/6a/4e6ac74ed9230f4bb7bf360fe89a1db95aa4cfc03ccc1522e5cce815676407bc.json --sleep-requests 5 --sleep-interval 4 --sleep-subtitles 5 --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:38:28.061 [debug] Current batch of media processed. Will check again in 1000ms 13:38:29.062 [debug] Current batch of media processed. Will check again in 1000ms 13:38:30.063 [debug] Current batch of media processed. Will check again in 1000ms 13:38:31.064 [debug] Current batch of media processed. Will check again in 1000ms 13:38:32.065 [debug] Current batch of media processed. Will check again in 1000ms 13:38:33.066 [debug] Current batch of media processed. Will check again in 1000ms 13:38:34.067 [debug] Current batch of media processed. Will check again in 1000ms 13:38:35.068 [debug] Current batch of media processed. Will check again in 1000ms 13:38:36.069 [debug] Current batch of media processed. Will check again in 1000ms 13:38:37.070 [debug] Current batch of media processed. Will check again in 1000ms 13:38:38.071 [debug] Current batch of media processed. Will check again in 1000ms 13:38:39.072 [debug] Current batch of media processed. Will check again in 1000ms 13:38:40.073 [debug] Current batch of media processed. Will check again in 1000ms 13:38:41.074 [debug] Current batch of media processed. Will check again in 1000ms 13:38:42.075 [debug] Current batch of media processed. Will check again in 1000ms 13:38:43.076 [debug] Current batch of media processed. Will check again in 1000ms 13:38:43.730 [info] {"source":"oban","duration":17798,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:38:44.077 [debug] Current batch of media processed. Will check again in 1000ms 13:38:45.078 [debug] Current batch of media processed. Will check again in 1000ms 13:38:46.079 [debug] Current batch of media processed. Will check again in 1000ms 13:38:47.080 [debug] Current batch of media processed. Will check again in 1000ms 13:38:48.081 [debug] Current batch of media processed. Will check again in 1000ms 13:38:49.082 [debug] Current batch of media processed. Will check again in 1000ms 13:38:50.083 [debug] Current batch of media processed. Will check again in 1000ms 13:38:51.084 [debug] Current batch of media processed. Will check again in 1000ms 13:38:52.085 [debug] Current batch of media processed. Will check again in 1000ms 13:38:53.086 [debug] Current batch of media processed. Will check again in 1000ms 13:38:53.877 [info] GET /sources/161/media/4687535/force_download 13:38:53.878 [debug] QUERY OK source="settings" db=0.1ms idle=866.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:38:53.879 [debug] QUERY OK source="settings" db=0.4ms 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 [] 13:38:53.879 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 13:38:53.879 [error] #PID<0.6429.0> running PinchflatWeb.Endpoint (connection #PID<0.6428.0>, stream id 1) terminated Server: jak.hibeex.com:80 (http) Request: GET /sources/161/media/4687535/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/161/media/4687535/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.6428.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/161/media/4687535/force_download", host: "jak.hibeex.com", peer: {{172, 22, 0, 1}, 33298}, bindings: %{}, sock: {{172, 22, 0, 4}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "from" => "gptbot(at)openai.com", "host" => "jak.hibeex.com", "referer" => "https://jak.hibeex.com/sources/161/media/4687535?prevent_download=true", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.232", "x-forwarded-proto" => "https", "x-openai-host-hash" => "41517590", "x-real-ip" => "74.7.243.232" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "jak.hibeex.com", method: "GET", owner: #PID<0.6429.0>, params: %{}, path_info: ["sources", "161", "media", "4687535", "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://jak.hibeex.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 22, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"connection", "close"}, {"from", "gptbot(at)openai.com"}, {"host", "jak.hibeex.com"}, {"referer", "https://jak.hibeex.com/sources/161/media/4687535?prevent_download=true"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)"}, {"x-forwarded-for", "74.7.243.232"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "41517590"}, {"x-real-ip", "74.7.243.232"} ], request_path: "/sources/161/media/4687535/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKaLXNVoiHqjTqkAAv6C"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.6428.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/161/media/4687535/force_download", host: "jak.hibeex.com", peer: {{172, 22, 0, 1}, 33298}, bindings: %{}, sock: {{172, 22, 0, 4}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "from" => "gptbot(at)openai.com", "host" => "jak.hibeex.com", "referer" => "https://jak.hibeex.com/sources/161/media/4687535?prevent_download=true", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.232", "x-forwarded-proto" => "https", "x-openai-host-hash" => "41517590", "x-real-ip" => "74.7.243.232" }, method: "GET", body_length: 0, path_info: :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/161/media/4687535/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.6428.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/161/media/4687535/force_download", host: "jak.hibeex.com", peer: {{172, 22, 0, 1}, 33298}, bindings: %{}, sock: {{172, 22, 0, 4}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "from" => "gptbot(at)openai.com", "host" => "jak.hibeex.com", "referer" => "https://jak.hibeex.com/sources/161/media/4687535?prevent_download=true", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.243.232", "x-forwarded-proto" => "https", "x-openai-host-hash" => "41517590", "x-real-ip" => "74.7.243.232" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "jak.hibeex.com", method: "GET", owner: #PID<0.6429.0>, params: %{}, path_info: ["sources", "161", "media", "4687535", "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://jak.hibeex.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, (truncated) 13:38:54.087 [debug] Current batch of media processed. Will check again in 1000ms 13:38:55.088 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "قولكن كم مرة الصبايا لخبطوا بالكلام وقت التصوير؟ \n\n@maryanagharibb @Jouhinamarlini \n\nتابعوا مقدمة هذا الموسم من ما يغلى عليك :\n\nماريانا غريب\n⬅️ إنستغرام: https://www.instagram.com/maryanagharibb\n⬅️ فيسبوك: https://www.facebook.com/Maryanateckit/\n⬅️ سناب شات: https://www.snapchat.com/@maryanagharib\n⬅️ يوتيوب: https://www.youtube.com/@maryanagharibb\n⬅️ تيك توك: https://www.tiktok.com/@maryana.gharib\n\nجوهينا مارليني\n⬅️ إنستغرام: https://www.instagram.com/jouhinamarlini/\n⬅️ فيسبوك: https://www.facebook.com/jouhinamarlini/\n⬅️ سناب شات: https://www.snapchat.com/@jouhinam\n⬅️ يوتيوب: https://www.youtube.com/channel/UChRHFHiGnox5STyK69Iwlyg\n⬅️ تيك توك: https://www.tiktok.com/@jouhinamarlini\n\n🤑 ما يغلى عليك\n⬅️ تيك توك: https://vm.tiktok.com/ZSJ3efwM6/\n⬅️ سناب شات: https://story.snapchat.com/p/4a78a4b0-8740-43b0-9e25-3c3a6d4da266\n\n🍳 حكاوي طبخ\n⬅️ تيك توك: https://vm.tiktok.com/ZSJ3eyQVq/\n⬅️ سناب شات: https://story.snapchat.com/p/b0b5bb59-1127-4622-8fa4-6140d5012273\n\n💎 هوس الجمال\n⬅️ تيك توك: https://vm.tiktok.com/ZSJ3e5UVd/\n⬅️ سناب شات: https://story.snapchat.com/p/5cbcb331-80ae-45ff-b26d-8d69d7617206\n\n🎉 تحديات مزاج\n⬅️ تيك توك: https://vm.tiktok.com/ZSJ3ejjpw/\n⬅️ سناب شات: https://story.snapchat.com/p/748fff14-1c66-4134-9f92-4cad73fb36f6\n\nللتواصل والاستفسارات:\n📩 الشؤون الإعلامية: ITPOriginals@itp.live\n📩 شؤون المواهب: Talent@itp.live\n\nمن إنتاج ITP LIVE\n⬅️ إنستغرام: https://www.instagram.com/itplive\n⬅️ تويتر: https://twitter.com/itpliveme\n⬅️ فيسبوك: https://www.facebook.com/itplive\n⬅️ الموقع الإلكتروني: https://itp.live\n\n#مزاج #Mazaj #هونغ_كونغ #سفر #يوميات #سياحة #HongKong #TravelVlog", "duration" => 46, "filename" => "/downloads/shorts/Mazaj - مزاج/Mazaj - مزاج - 2026-04-12 - [7wvSrHVoUcI].mp4", "id" => "7wvSrHVoUcI", "live_status" => "not_live", "original_url" => "https://www.youtube.com/shorts/7wvSrHVoUcI", "playlist_index" => 1, "timestamp" => 1776016812, "title" => "قولكن كم مرة الصبايا لخبطوا بالكلام وقت التصوير؟ 😆", "upload_date" => "20260412"} 13:38:55.089 [debug] QUERY OK source="sources" db=0.1ms idle=77.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" IN (?)) [357] 13:38:55.089 [debug] QUERY OK source="sources" db=0.1ms idle=78.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" = ?) [357] 13:38:55.092 [debug] QUERY OK source="media_items" db=3.1ms idle=78.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-12 18:00:12Z], 357] 13:38:55.095 [debug] QUERY OK source="media_items" db=1.4ms idle=82.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" ["قولكن كم مرة الصبايا لخبطوا بالكلام وقت التصوير؟ \n\n@maryanagharibb @Jouhinamarlini \n\nتابعوا مقدمة هذا الموسم من ما يغلى عليك :\n\nماريانا غريب\n⬅️ إنستغرام: https://www.instagram.com/maryanagharibb\n⬅️ فيسبوك: https://www.facebook.com/Maryanateckit/\n⬅️ سناب شات: https://www.snapchat.com/@maryanagharib\n⬅️ يوتيوب: https://www.youtube.com/@maryanagharibb\n⬅️ تيك توك: https://www.tiktok.com/@maryana.gharib\n\nجوهينا مارليني\n⬅️ إنستغرام: https://www.instagram.com/jouhinamarlini/\n⬅️ فيسبوك: https://www.facebook.com/jouhinamarlini/\n⬅️ سناب شات: https://www.snapchat.com/@jouhinam\n⬅️ يوتيوب: https://www.youtube.com/channel/UChRHFHiGnox5STyK69Iwlyg\n⬅️ تيك توك: https://www.tiktok.com/@jouhinamarlini\n\n🤑 ما يغلى عليك\n⬅️ تيك توك: https://vm.tiktok.com/ZSJ3efwM6/\n⬅️ سناب شات: https://story.snapchat.com/p/4a78a4b0-8740-43b0-9e25-3c3a6d4da266\n\n🍳 حكاوي طبخ\n⬅️ تيك توك: https://vm.tiktok.com/ZSJ3eyQVq/\n⬅️ سناب شات: https://story.snapchat.com/p/b0b5bb59-1127-4622-8fa4-6140d5012273\n\n💎 هوس الجمال\n⬅️ تيك توك: https://vm.tiktok.com/ZSJ3e5UVd/\n⬅️ سناب شات: https://story.snapchat.com/p/5cbcb331-80ae-45ff-b26d-8d69d7617206\n\n🎉 تحديات مزاج\n⬅️ تيك توك: https://vm.tiktok.com/ZSJ3ejjpw/\n⬅️ سناب شات: https://story.snapchat.com/p/748fff14-1c66-4134-9f92-4cad73fb36f6\n\nللتواصل والاستفسارات:\n📩 الشؤون الإعلامية: ITPOriginals@itp.live\n📩 شؤون المواهب: Talent@itp.live\n\nمن إنتاج ITP LIVE\n⬅️ إنستغرام: https://www.instagram.com/itplive\n⬅️ تويتر: https://twitter.com/itpliveme\n⬅️ فيسبوك: https://www.facebook.com/itplive\n⬅️ الموقع الإلكتروني: https://itp.live\n\n#مزاج #Mazaj #هونغ_كونغ #سفر #يوميات #سياحة #HongKong #TravelVlog", "قولكن كم مرة الصبايا لخبطوا بالكلام وقت التصوير؟ 😆", "131b203c-7a88-4036-957b-70054b7a3179", 46, false, "7wvSrHVoUcI", "https://www.youtube.com/shorts/7wvSrHVoUcI", 1, "/downloads/shorts/Mazaj - مزاج/Mazaj - مزاج - 2026-04-12 - [7wvSrHVoUcI].mp4", false, false, true, 357, [], 98, ~U[2026-04-12 18:00:12Z], ~U[2026-04-15 13:38:55Z], ~U[2026-04-15 13:38:55Z], "قولكن كم مرة الصبايا لخبطوا بالكلام وقت التصوير؟ \n\n@maryanagharibb @Jouhinamarlini \n\nتابعوا مقدمة هذا الموسم من ما يغلى عليك :\n\nماريانا غريب\n⬅️ إنستغرام: https://www.instagram.com/maryanagharibb\n⬅️ فيسبوك: https://www.facebook.com/Maryanateckit/\n⬅️ سناب شات: https://www.snapchat.com/@maryanagharib\n⬅️ يوتيوب: https://www.youtube.com/@maryanagharibb\n⬅️ تيك توك: https://www.tiktok.com/@maryana.gharib\n\nجوهينا مارليني\n⬅️ إنستغرام: https://www.instagram.com/jouhinamarlini/\n⬅️ فيسبوك: https://www.facebook.com/jouhinamarlini/\n⬅️ سناب شات: https://www.snapchat.com/@jouhinam\n⬅️ يوتيوب: https://www.youtube.com/channel/UChRHFHiGnox5STyK69Iwlyg\n⬅️ تيك توك: https://www.tiktok.com/@jouhinamarlini\n\n🤑 ما يغلى عليك\n⬅️ تيك توك: https://vm.tiktok.com/ZSJ3efwM6/\n⬅️ سناب شات: https://story.snapchat.com/p/4a78a4b0-8740-43b0-9e25-3c3a6d4da266\n\n🍳 حكاوي طبخ\n⬅️ تيك توك: https://vm.tiktok.com/ZSJ3eyQVq/\n⬅️ سناب شات: https://story.snapchat.com/p/b0b5bb59-1127-4622-8fa4-6140d5012273\n\n💎 هوس الجمال\n⬅️ تيك توك: https://vm.tiktok.com/ZSJ3e5UVd/\n⬅️ سناب شات: https://story.snapchat.com/p/5cbcb331-80ae-45ff-b26d-8d69d7617206\n\n🎉 تحديات مزاج\n⬅️ تيك توك: https://vm.tiktok.com/ZSJ3ejjpw/\n⬅️ سناب شات: https://story.snapchat.com/p/748fff14-1c66-4134-9f92-4cad73fb36f6\n\nللتواصل والاستفسارات:\n📩 الشؤون الإعلامية: ITPOriginals@itp.live\n📩 شؤون المواهب: Talent@itp.live\n\nمن إنتاج ITP LIVE\n⬅️ إنستغرام: https://www.instagram.com/itplive\n⬅️ تويتر: https://twitter.com/itpliveme\n⬅️ فيسبوك: https://www.facebook.com/itplive\n⬅️ الموقع الإلكتروني: https://itp.live\n\n#مزاج #Mazaj #هونغ_كونغ #سفر #يوميات #سياحة #HongKong #TravelVlog", "قولكن كم مرة الصبايا لخبطوا بالكلام وقت التصوير؟ 😆", 46, false, "7wvSrHVoUcI", "https://www.youtube.com/shorts/7wvSrHVoUcI", "/downloads/shorts/Mazaj - مزاج/Mazaj - مزاج - 2026-04-12 - [7wvSrHVoUcI].mp4", true, 357, ~U[2026-04-12 18:00:12Z]] 13:38:55.095 [debug] QUERY OK source="sources" db=0.5ms idle=27.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" = ?) [357] 13:38:55.096 [debug] QUERY OK source="media_profiles" db=0.3ms idle=7.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 13:38:55.097 [debug] QUERY OK source="media_items" db=0.9ms idle=7.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 [4696187] 13:38:55.097 [debug] Current batch of media processed. Will check again in 1000ms 13:38:56.099 [debug] Current batch of media processed. Will check again in 1000ms 13:38:57.100 [debug] Current batch of media processed. Will check again in 1000ms 13:38:58.101 [debug] Current batch of media processed. Will check again in 1000ms 13:38:59.102 [debug] Current batch of media processed. Will check again in 1000ms 13:39:00.103 [debug] Current batch of media processed. Will check again in 1000ms 13:39:00.875 [info] {"source":"oban","duration":177,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:39:01.104 [debug] Current batch of media processed. Will check again in 1000ms 13:39:01.635 [info] GET /sources/149/media/4689584/edit 13:39:01.636 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "4689584", "source_id" => "149"} Pipelines: [:browser] 13:39:01.636 [debug] QUERY OK source="media_items" db=0.2ms idle=760.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" = ?) [4689584] 13:39:01.637 [debug] QUERY OK source="settings" db=0.1ms idle=625.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:39:01.637 [debug] QUERY OK source="settings" db=0.1ms idle=626.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:39:01.638 [debug] QUERY OK source="settings" db=0.1ms idle=626.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:39:01.639 [info] Sent 200 in 3ms 13:39:01.755 [info] GET /sources/149/media/4689584 13:39:01.755 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "4689584", "source_id" => "149"} Pipelines: [:browser] 13:39:01.756 [debug] QUERY OK source="media_items" db=0.2ms idle=680.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" = ?) [4689584] 13:39:01.756 [debug] QUERY OK source="tasks" db=0.1ms idle=120.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" [4689584] 13:39:01.756 [debug] QUERY OK source="sources" db=0.2ms idle=119.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [149] 13:39:01.757 [debug] QUERY OK source="settings" db=0.1ms idle=119.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:39:01.757 [debug] QUERY OK source="settings" db=0.1ms idle=119.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:39:01.758 [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 [] 13:39:01.759 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 13:39:01.761 [info] Sent 200 in 5ms 13:39:01.902 [info] GET /sources/149/media/4663481 13:39:01.903 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "4663481", "source_id" => "149"} Pipelines: [:browser] 13:39:01.903 [debug] QUERY OK source="media_items" db=0.2ms idle=146.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [4663481] 13:39:01.904 [debug] QUERY OK source="tasks" db=0.1ms idle=146.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" [4663481] 13:39:01.904 [debug] QUERY OK source="sources" db=0.3ms idle=146.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" = ?) [149] 13:39:01.905 [debug] QUERY OK source="settings" db=0.1ms idle=146.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:39:01.905 [debug] QUERY OK source="settings" db=0.1ms idle=146.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:39:01.906 [debug] QUERY OK source="settings" db=0.1ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:39:01.906 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 13:39:01.908 [info] Sent 200 in 5ms 13:39:02.105 [debug] Current batch of media processed. Will check again in 1000ms 13:39:02.404 [info] GET /sources/149/media/4663481/edit 13:39:02.404 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "4663481", "source_id" => "149"} Pipelines: [:browser] 13:39:02.405 [debug] QUERY OK source="media_items" db=0.2ms idle=499.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" = ?) [4663481] 13:39:02.405 [debug] QUERY OK source="settings" db=0.2ms idle=500.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:39:02.406 [debug] QUERY OK source="settings" db=0.0ms idle=500.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:39:02.406 [debug] QUERY OK source="settings" db=0.0ms 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 [] 13:39:02.407 [info] Sent 200 in 3ms 13:39:03.106 [debug] Current batch of media processed. Will check again in 1000ms 13:39:04.107 [debug] Current batch of media processed. Will check again in 1000ms 13:39:05.108 [debug] Current batch of media processed. Will check again in 1000ms 13:39:06.109 [debug] Current batch of media processed. Will check again in 1000ms 13:39:07.110 [debug] Current batch of media processed. Will check again in 1000ms 13:39:08.111 [debug] Current batch of media processed. Will check again in 1000ms