15:28:14.209 [debug] QUERY OK source="sources" db=0.5ms idle=6.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [13] 15:28:14.212 [debug] QUERY OK source="media_items" db=2.6ms idle=5.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-22 07:24:06Z], 13] 15:28:14.213 [debug] QUERY OK source="media_items" db=1.1ms idle=7.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" ["Новая Редакция News!\n\n18+ НАСТОЯЩИЙ МАТЕРИАЛ (ИНФОРМАЦИЯ) ПРОИЗВЕДЕН, РАСПРОСТРАНЕН И (ИЛИ) НАПРАВЛЕН ИНОСТРАННЫМ АГЕНТОМ ПИВОВАРОВЫМ АЛЕКСЕЕМ ВЛАДИМИРОВИЧЕМ ЛИБО КАСАЕТСЯ ДЕЯТЕЛЬНОСТИ ИНОСТРАННОГО АГЕНТА ПИВОВАРОВА АЛЕКСЕЯ ВЛАДИМИРОВИЧА\n\nБлокировка по полной, иноагенты во власти?!, Ремесло-гейт, индивидуальный террор в Иране, Трамп мечтает о Кубе, Шойгу нарушил молчание, министр убежал от фермера, сбор за выезд за границу, ушли два патриарха, умер Чак Норрис, русская речь на «Оскаре», деанон Бэнкси, штраф за голый ИИ\n\nАвторы ИИ-клипа с Билли Айлиш:\nAI — Николай Колягин. https://t.me/nikopaskal_77\nМузыка — August Septemberov https://music.yandex.ru/album/40635972/track/148160364\n\nСодержание:\n00:00 Начало\n0:34 РКН против Тelegram. Кто побеждает?\n2:16 Ремесло ракритиковал Путина и попал в психушку\n3:39 Депутат Свинцов исключен из ЛДПР\n5:03 Россия без интернета\n7:00 Террор против руководства Ирана\n9:34 Из Epic Fury в Epic Fail\n10:09 Иран подбил истребитель-стелс F-35\n11:23 Цены на газ взлетели на 35%\n13:03 Иран вводит плату за проход танкеров \n15:33 Наземная операция ЦАХАЛ в Ливане\n17:22 «Будет честью». Трамп о захвате Кубы\n18:29 Трампу нужен мир с РФ?\n19:48 Газовоз Arctic Metagaz угрожает экологии\n21:07 Шойгу: в РФ больше нет безопасных регионов\n23:33 Забой скота продолжается\n24:45 Министр сбежал от фермерши Паниной\n27:03 Спецсбор для выезжающих за границу\n28:47 Арест главы Минздрава Кубани Филиппова\n30:41 Убийство под влиянием мошенников\n31:57 В РФ выросло число беспризорников\n34:07 Умер Католикос Грузии Илия II\n35:56 Не стало Чака Норриса \n38:09 Село, «причастное к воровскому миру»\n39:05 Конституционный референдум в Казахстане\n41:23 Победители и мемы «Оскара»\n44:13 Агентство Reuters сдеанонило Бэнкси\n45:30 Саудовская Аравия без «города будущего» \n47:39 Билли Айлиш поет «Прекрасное далеко»\n\nПоддержать «Редакцию»: \n💰 из России — через сервис Boosty: https://boosty.to/redakciya\n💰 из-за рубежа — через сервис Patreon: https://www.patreon.com/alexey_pivovarov\n💰 из-за рубежа — через функцию «Спонсорство» в YouTube: https://www.youtube.com/channel/UC1eFXmJNkjITxPFWTy6RsWg/join \n\nПодписывайтесь на наши социальные сети:\n\nТелеграм-канал Алексея Пивоварова:\nhttps://t.me/Alexey_Pivo_varov\n\n«Редакция» в «Дзене»:\nhttps://zen.yandex.ru/redakciya\n\n«Редакция» в «ВК»:\nhttps://vk.com/redakciya_pivovarova\n\nСотрудничество и идеи:\ninfo@redakciya.com\n\n#редакция #пивоваров #новости", "Редакция News: 213-я неделя", "bf8cb345-fc1a-41e0-87a9-ce1ea471b6b6", 2993, false, "4zu96lrlW2A", "https://www.youtube.com/watch?v=4zu96lrlW2A", 5, "/downloads/Редакция/2026-03-22 Редакция News: 213-я неделя.mp4", false, false, false, 13, [], 98, ~U[2026-03-22 07:24:06Z], ~U[2026-03-29 12:28:14Z], ~U[2026-03-29 12:28:14Z], "Новая Редакция News!\n\n18+ НАСТОЯЩИЙ МАТЕРИАЛ (ИНФОРМАЦИЯ) ПРОИЗВЕДЕН, РАСПРОСТРАНЕН И (ИЛИ) НАПРАВЛЕН ИНОСТРАННЫМ АГЕНТОМ ПИВОВАРОВЫМ АЛЕКСЕЕМ ВЛАДИМИРОВИЧЕМ ЛИБО КАСАЕТСЯ ДЕЯТЕЛЬНОСТИ ИНОСТРАННОГО АГЕНТА ПИВОВАРОВА АЛЕКСЕЯ ВЛАДИМИРОВИЧА\n\nБлокировка по полной, иноагенты во власти?!, Ремесло-гейт, индивидуальный террор в Иране, Трамп мечтает о Кубе, Шойгу нарушил молчание, министр убежал от фермера, сбор за выезд за границу, ушли два патриарха, умер Чак Норрис, русская речь на «Оскаре», деанон Бэнкси, штраф за голый ИИ\n\nАвторы ИИ-клипа с Билли Айлиш:\nAI — Николай Колягин. https://t.me/nikopaskal_77\nМузыка — August Septemberov https://music.yandex.ru/album/40635972/track/148160364\n\nСодержание:\n00:00 Начало\n0:34 РКН против Тelegram. Кто побеждает?\n2:16 Ремесло ракритиковал Путина и попал в психушку\n3:39 Депутат Свинцов исключен из ЛДПР\n5:03 Россия без интернета\n7:00 Террор против руководства Ирана\n9:34 Из Epic Fury в Epic Fail\n10:09 Иран подбил истребитель-стелс F-35\n11:23 Цены на газ взлетели на 35%\n13:03 Иран вводит плату за проход танкеров \n15:33 Наземная операция ЦАХАЛ в Ливане\n17:22 «Будет честью». Трамп о захвате Кубы\n18:29 Трампу нужен мир с РФ?\n19:48 Газовоз Arctic Metagaz угрожает экологии\n21:07 Шойгу: в РФ больше нет безопасных регионов\n23:33 Забой скота продолжается\n24:45 Министр сбежал от фермерши Паниной\n27:03 Спецсбор для выезжающих за границу\n28:47 Арест главы Минздрава Кубани Филиппова\n30:41 Убийство под влиянием мошенников\n31:57 В РФ выросло число беспризорников\n34:07 Умер Католикос Грузии Илия II\n35:56 Не стало Чака Норриса \n38:09 Село, «причастное к воровскому миру»\n39:05 Конституционный референдум в Казахстане\n41:23 Победители и мемы «Оскара»\n44:13 Агентство Reuters сдеанонило Бэнкси\n45:30 Саудовская Аравия без «города будущего» \n47:39 Билли Айлиш поет «Прекр (truncated) 15:28:14.214 [debug] QUERY OK source="sources" db=0.4ms idle=6.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [13] 15:28:14.217 [debug] QUERY OK source="media_items" db=2.5ms idle=6.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-19 19:16:32Z], 13] 15:28:14.219 [debug] QUERY OK source="media_items" db=1.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" ["Мы продолжаем серию наших географических выпусков и сегодня расскажем о стране, в которой была попытка перевоспитания всего народа — о Германии\n\n18+ НАСТОЯЩИЙ МАТЕРИАЛ (ИНФОРМАЦИЯ) ПРОИЗВЕДЕН, РАСПРОСТРАНЕН И (ИЛИ) НАПРАВЛЕН ИНОСТРАННЫМ АГЕНТОМ ПИВОВАРОВЫМ АЛЕКСЕЕМ ВЛАДИМИРОВИЧЕМ ЛИБО КАСАЕТСЯ ДЕЯТЕЛЬНОСТИ ИНОСТРАННОГО АГЕНТА ПИВОВАРОВА АЛЕКСЕЯ ВЛАДИМИРОВИЧА\n\nСовременная Германия — третья экономика в мире, главный бенефициар падения железного занавеса и крушения социалистического блока. Но спустя 35 лет тут снова голосуют за правых, все большую популярность набирает партия «Альтернатива для Германии», а заводы, названия которых памятны по прежним войнам, вновь загружены оборонными заказами и увеличивают мощности. А еще Берлин второй раз за сто с небольшим лет становится столицей русской эмиграции.\n\nКакой путь экономически, политически и психологически Германия прошла за 80 лет, отделяющие нас от Второй мировой, и что волнует немцев сейчас — смотрите в большом выпуске «Редакции»\n__________\nСодержание:\n00:00 Мы в Германии! \n04:49 На востоке снова голосуют за ультраправых? \n09:55 Тест на возраст\n12:05 Рейх рухнул. Что дальше?\n17:14 Противоречия Нюрнберга \n23:10 Нацист, ставший героем Америки \n27:24 Случилось ли раскаяние? \n35:20 Берлин - остров капитализма внутри ГДР \n41:40 Как появились две Германии? \n45:08 Почему Бонн избрал столицей ФРГ? \n48:30 Руководство ГДР\n53:06 То самое Штази \n58:10 Закрытый советский город прямо в центре Германии \n1:03:50 В какой момент решили построить стену? \n1:09:35 Истории побега из ГДР \n1:15:00 Какой была жизнь за стеной?\n1:19:25 Первый немецкий канцлер, который раскаялся \n1:23:45 Любимый (и самый жесткий) канцлер Германии \n1:26:40 Владимир Путин в Германии \n1:30:32 Как Дэвид Боуи помог объединить Германию? \n1:39:20 Оговорка, которая разрушила стену \n1:55:05 Разница между востоком и западом Германии сейчас \n2:00:15 Дружба Герхарда Шредера с Россией \n2:03:56 Ангела Меркель: взлет и роковая ошибка\n2:12:10 Лучшая шаурма в Берлине \n2:15:38 Китай обгоняет немецкий автопром?!\n2:20:00 Замерзает ли Германия без российского газа? \n2:22:11 Что происходит в Бундестаге сейчас? \n2:24:24 Германия снова готовится к войне ? \n2:31:00 Почему в стране почти нет камер видеонаблюдения? \n2:33:20 Устали ли в Германии от украинской повестки? \n2:38:26 Немецкие порядок и пунктуальность - миф? \n2:46:05 Зеленая энергетика в Германии \n2:48:40 Легендарное немецкое пиво \n2:55:50 И берлинское техно! \n3:02:05 Депутат из Москвы - теперь курьер в Берлине \n3:10:05 Отношения между Германией и Россией могут наладиться снова? \n3:17:15 Германия смогла начать заново?\n__________\nYouTube-канал политолога Алекса Юсупова: https://youtube.com/@yusupovskij?si=oteHLHQkXBmBHGGF\n\nПоддержать «Редакцию»: \n💰 из России — через сервис Boosty: https://boosty.to/redakciya\n💰 из-за рубежа — через сервис Patreon: https://www.patreon.com/alexey_pivovarov\n💰 из-за рубежа — через функцию «Спонсорство» в YouTube: https://www.youtube.com/channel/UC1eFXmJNkjITxPFWTy6RsWg/join \n\nПодписывайтесь на наши социальные сети:\n\nТелеграм-канал Алексея Пивоварова:\nhttps://t.me/Alexey_Pivo_varov\n\n«Редакция» в «Дзене»:\nhttps://zen.yandex.ru/redakciya\n\n«Редакция» в «ВК»:\nhttps://vk.com/redakciya_pivovarova\n\nСотрудничество и идеи:\ninfo@redakciya.com\n\n#редакция #пивоваров #германия", "Как живет Германия — страна, которая началась заново", "a56b4a16-7ccd-4c5b-9985-26539ed18309", 12306, false, "-Xjphrc5H9A", "https://www.youtube.com/watch?v=-Xjphrc5H9A", 6, "/downloads/Редакция/2026-03-19 Как живет Германия — страна, которая началась заново.mp4", false, false, false, 13, [], 98, ~U[2026-03-19 19:16:32Z], ~U[2026-03-29 12:28:14Z], ~U[2026-03-29 12:28:14Z], "Мы продолжаем серию наших географических выпусков и сегодня расскажем о стране, в которой была попытка перевоспитания всего народа — о Германии\n\n18+ НАСТОЯЩИЙ МАТЕРИАЛ (ИНФОРМАЦИЯ) ПРОИЗВЕДЕН, РАСПРОСТРАНЕН И (ИЛИ) НАПРАВЛЕН ИНОСТРАННЫМ АГЕНТОМ ПИВОВАРОВЫМ АЛЕКСЕЕМ ВЛАДИМИРОВИЧЕМ ЛИБО КАСАЕТСЯ ДЕЯТЕЛЬНОСТИ ИНОСТРАННОГО АГЕНТА ПИВОВАРОВА АЛЕКСЕЯ ВЛАДИМИРОВИЧА\n\nСовременная Германия — третья экономика в мире, главный бенефициар падения железного занавеса и крушения социалистического блока. Но спустя 35 лет тут снова голосуют за правых, все большую популярность набирает партия «Альтернатива для Германии», а заводы, названия которых памятны по прежним войнам, вновь загружены оборонными заказами и увеличивают мощности. А еще Берли (truncated) 15:28:14.219 [debug] QUERY OK source="sources" db=0.4ms 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" = ?) [13] 15:28:14.222 [debug] QUERY OK source="media_items" db=2.5ms idle=6.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-18 15:15:44Z], 13] 15:28:14.223 [debug] QUERY OK source="media_items" db=0.8ms idle=8.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Здравствуйте, дорогие друзья. В новом видео Алексей Пивоваров расскажет про авторские права и кризис среднего возраста. Спасибо за ваш интерес и поддержку!\n\n18+ НАСТОЯЩИЙ МАТЕРИАЛ (ИНФОРМАЦИЯ) ПРОИЗВЕДЕН, РАСПРОСТРАНЕН И (ИЛИ) НАПРАВЛЕН ИНОСТРАННЫМ АГЕНТОМ ПИВОВАРОВЫМ АЛЕКСЕЕМ ВЛАДИМИРОВИЧЕМ ЛИБО КАСАЕТСЯ ДЕЯТЕЛЬНОСТИ ИНОСТРАННОГО АГЕНТА ПИВОВАРОВА АЛЕКСЕЯ ВЛАДИМИРОВИЧА\n\nЧтобы задать вопрос, напишите его в комментариях под этим видео. На самые интересные Алексей ответит в следующий раз!\n\nСодержание:\n00:00 - Начало\n00:20 - О предстоящем выпуске из Германии\n02:15 - Ваши вопросы\n\nВыпуски, которые упоминает Алексей:\n1. Редакция.Live: https://www.youtube.com/watch?v=1dufRou7cz4\n2. Редакция.News: https://www.youtube.com/watch?v=j6O66lMpqzs\n3. Новогодний выпуск: https://www.youtube.com/watch?v=lxXI3oG8TGs&t=548s\n\nПоддержать «Редакцию»: \n💰 из России — через сервис Boosty: https://boosty.to/redakciya\n💰 из-за рубежа — через сервис Patreon: https://www.patreon.com/alexey_pivovarov\n💰 из-за рубежа — через функцию «Спонсорство» в YouTube: https://www.youtube.com/channel/UC1eFXmJNkjITxPFWTy6RsWg/join \n\nПодписывайтесь на наши социальные сети:\n\nТелеграм-канал Алексея Пивоварова:\nhttps://t.me/Alexey_Pivo_varov\n\n«Редакция» в «Дзене»:\nhttps://zen.yandex.ru/redakciya\n\n«Редакция» в «ВК»:\nhttps://vk.com/redakciya_pivovarova\n\nСотрудничество и идеи:\ninfo@redakciya.com\n\n#редакция #пивоваров", "Про радикализацию, меры безопасности и изменения в форматах", "9a063f4a-3042-4d20-8b3a-a8ebd5987c3d", 864, false, "93oL6v2Tmrg", "https://www.youtube.com/watch?v=93oL6v2Tmrg", 7, "/downloads/Редакция/2026-03-18 Про радикализацию, меры безопасности и изменения в форматах.NA", false, false, false, 13, [], 98, ~U[2026-03-18 15:15:44Z], ~U[2026-03-29 12:28:14Z], ~U[2026-03-29 12:28:14Z], "Здравствуйте, дорогие друзья. В новом видео Алексей Пивоваров расскажет про авторские права и кризис среднего возраста. Спасибо за ваш интерес и поддержку!\n\n18+ НАСТОЯЩИЙ МАТЕРИАЛ (ИНФОРМАЦИЯ) ПРОИЗВЕДЕН, РАСПРОСТРАНЕН И (ИЛИ) НАПРАВЛЕН ИНОСТРАННЫМ АГЕНТОМ ПИВОВАРОВЫМ АЛЕКСЕЕМ ВЛАДИМИРОВИЧЕМ ЛИБО КАСАЕТСЯ ДЕЯТЕЛЬНОСТИ ИНОСТРАННОГО АГЕНТА ПИВОВАРОВА АЛЕКСЕЯ ВЛАДИМИРОВИЧА\n\nЧтобы задать вопрос, напишите его в комментариях под этим видео. На самые интересные Алексей ответит в следующий раз!\n\nСодержание:\n00:00 - Начало\n00:20 - О предстоящем выпуске из Германии\n02:15 - Ваши вопросы\n\nВыпуски, которые упоминает Алексей:\n1. Редакция.Live: https://www.youtube.com/watch?v=1dufRou7cz4\n2. Редакция.News: https://www.youtube.com/watch?v=j6O66lMpqzs\n3. Новогодний выпуск: https://www.youtube.com/watch?v=lxXI3oG8TGs&t=548s\n\nПоддержать «Редакцию»: \n💰 из России — через сервис Boosty: https://boosty.to/redakciya\n💰 из-за рубежа — через сервис Patreon: https://www.patreon.com/alexey_pivovarov\n💰 из-за рубежа — через функцию «Спонсорство» в YouTube: https://www.youtube.com/channel/UC1eFXmJNkjITxPFWTy6RsWg/join \n\nПодписывайтесь на наши социальные сети:\n\nТелеграм-канал Алексея Пивоварова:\nhttps://t.me/Alexey_Pivo_varov\n\n«Редакция» в «Дзене»:\nhttps://zen.yandex.ru/redakciya\n\n«Редакция» в «ВК»:\nhttps://vk.com/redakciya_pivovarova\n\nСотрудничество и идеи:\ninfo@redakciya.com\n\n#редакция #пивоваров", "Про радикализацию, меры безопасности и изменения в форматах", 864, false, "93oL6v2Tmrg", "https://www.youtube.com/watch?v=93oL6v2Tmrg", "/downloads/Редакция/2026-03-18 Про радикализацию, меры безопасности и изменения в форматах.NA", false, 13, ~U[2026-03-18 15:15:44Z]] 15:28:14.224 [debug] QUERY OK source="sources" db=0.4ms idle=6.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [13] 15:28:14.226 [debug] QUERY OK source="media_items" db=2.4ms idle=5.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-17 08:28:47Z], 13] 15:28:14.228 [debug] QUERY OK source="media_items" db=1.0ms idle=7.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Две войны — иранская и украинская — оказались связаны теснее, чем можно было предположить\n\n18+ НАСТОЯЩИЙ МАТЕРИАЛ (ИНФОРМАЦИЯ) ПРОИЗВЕДЕН, РАСПРОСТРАНЕН И (ИЛИ) НАПРАВЛЕН ИНОСТРАННЫМ АГЕНТОМ ПИВОВАРОВЫМ АЛЕКСЕЕМ ВЛАДИМИРОВИЧЕМ ЛИБО КАСАЕТСЯ ДЕЯТЕЛЬНОСТИ ИНОСТРАННОГО АГЕНТА ПИВОВАРОВА АЛЕКСЕЯ ВЛАДИМИРОВИЧА\n\nДональд Трамп увяз на Ближнем Востоке, и у него не добавляется ни времени, ни желания разруливать украинскую проблему так же активно, как раньше. Более того, он требует и от Европы активней ввязаться в ситуацию в Ормузском проливе, намекая, что иначе не будет помогать с «их» киевской ситуацией.\n\nКак иранская кампания скажется на мирных переговорах по Украине и на какой срок затягивание одной войны может затянуть другую — смотрите в новом выпуске Разбора\n\n0:00 Затянет ли одна война другую? \n1:57 Киев отправил своих военных специалистов в страны Залива \n4:33 Иран: «Украина теперь – законная цель» \n9:40 «Герани» вместо «Шахедов»\n11:02 Дефицит Patriot\n13:50 Зеленский критикует Трампа \n17:37 Трамп требует от Европы включенности в войну \n19:14 Отношение к Резе Пехлеви, сыну иранского шаха \n21:00 Россия зарабатывает на этой войне? \n22:57 Что с переговорами России и Украины на фоне войны в Заливе?\n\n*Роскомнадзор настаивает, что спецоперация в Украине не является «нападением, вторжением либо объявлением войны»\n\nПоддержать «Редакцию»: \n💰 из России — через сервис Boosty: https://boosty.to/redakciya\n💰 из-за рубежа — через сервис Patreon: https://www.patreon.com/alexey_pivovarov\n💰 из-за рубежа — через функцию «Спонсорство» в YouTube: https://www.youtube.com/channel/UC1eFXmJNkjITxPFWTy6RsWg/join \n\nПодписывайтесь на наши социальные сети:\n\nТелеграм-канал Алексея Пивоварова:\nhttps://t.me/Alexey_Pivo_varov\n\n«Редакция» в «Дзене»:\nhttps://zen.yandex.ru/redakciya\n\n«Редакция» в «ВК»:\nhttps://vk.com/redakciya_pivovarova\n\nСотрудничество и идеи:\ninfo@redakciya.com\n\n#редакция #пивоваров #иран #украина", "Как иранская война добралась до Украины", "8bab2f45-aef0-4895-a5d4-1606c5375adf", 1555, false, "T8KIMEClJUk", "https://www.youtube.com/watch?v=T8KIMEClJUk", 8, "/downloads/Редакция/2026-03-17 Как иранская война добралась до Украины.mp4", false, false, false, 13, [], 97, ~U[2026-03-17 08:28:47Z], ~U[2026-03-29 12:28:14Z], ~U[2026-03-29 12:28:14Z], "Две войны — иранская и украинская — оказались связаны теснее, чем можно было предположить\n\n18+ НАСТОЯЩИЙ МАТЕРИАЛ (ИНФОРМАЦИЯ) ПРОИЗВЕДЕН, РАСПРОСТРАНЕН И (ИЛИ) НАПРАВЛЕН ИНОСТРАННЫМ АГЕНТОМ ПИВОВАРОВЫМ АЛЕКСЕЕМ ВЛАДИМИРОВИЧЕМ ЛИБО КАСАЕТСЯ ДЕЯТЕЛЬНОСТИ ИНОСТРАННОГО АГЕНТА ПИВОВАРОВА АЛЕКСЕЯ ВЛАДИМИРОВИЧА\n\nДональд Трамп увяз на Ближнем Востоке, и у него не добавляется ни времени, ни желания разруливать украинскую проблему так же активно, как раньше. Более того, он требует и от Европы активней ввязаться в ситуацию в Ормузском проливе, намекая, что иначе не будет помогать с «их» киевской ситуацией.\n\nКак иранская кампания скажется на мирных переговорах по Украине и на какой срок затягивание одной войны может затянуть другую — смотрите в новом выпуске Разбора\n\n0:00 Затянет ли одна война другую? \n1:57 Киев отправил своих военных специалистов в страны Залива \n4:33 Иран: «Украина теперь – законная цель» \n9:40 «Герани» вместо «Шахедов»\n11:02 Дефицит Patriot\n13:50 Зеленский критикует Трампа \n17:37 Трамп требует от Европы включенности в войну \n19:14 Отношение к Резе Пехлеви, сыну иранского шаха \n21:00 Россия зарабатывает на этой войне? \n22:57 Что с переговорами России и Украины на фоне войны в Заливе?\n\n*Роскомнадзор настаивает, что спецоперация в Украине не является «нападением, вторжением либо объявлением войны»\n\nПоддержать «Редакцию»: \n💰 из России — через сервис Boosty: https://boosty.to/redakciya\n💰 из-за рубежа — через сервис Patreon: https://www.patreon.com/alexey_pivovarov\n💰 из-за рубежа — через функцию «Спонсорство» в YouTube: https://www.youtube.com/channel/UC1eFXmJNkjITxPFWTy6RsWg/join \n\nПодписывайтесь на наши социальные сети:\n\nТелеграм-канал Алексея Пивоварова:\nhttps://t.me/Alexey_Pivo_varov\n\n«Редакция» в «Дзене»:\nhttps://zen.yandex.ru/redakciya\n\n«Редакция» в «ВК»:\nhttps://vk.com/redakciya_pivovarova\n\nСотрудничество и идеи:\ninfo@redakciya.com\n\n#редакция #пивоваров #иран #украина", "Как иранская война добралась до Украины", 1555, false, "T8KIMEClJUk", "https://www.youtube.com/watch?v=T8KIMEClJUk", "/downloads/Редакция/2026-03-17 Как иранская война добралась до Украины.mp4", false, 13, ~U[2026-03-17 08:28:47Z]] 15:28:14.228 [debug] QUERY OK source="sources" db=0.4ms idle=5.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [13] 15:28:14.231 [debug] QUERY OK source="media_items" db=2.5ms idle=5.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-15 07:26:17Z], 13] 15:28:14.232 [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" ["Новая Редакция News!\n\n18+ НАСТОЯЩИЙ МАТЕРИАЛ (ИНФОРМАЦИЯ) ПРОИЗВЕДЕН, РАСПРОСТРАНЕН И (ИЛИ) НАПРАВЛЕН ИНОСТРАННЫМ АГЕНТОМ ПИВОВАРОВЫМ АЛЕКСЕЕМ ВЛАДИМИРОВИЧЕМ ЛИБО КАСАЕТСЯ ДЕЯТЕЛЬНОСТИ ИНОСТРАННОГО АГЕНТА ПИВОВАРОВА АЛЕКСЕЯ ВЛАДИМИРОВИЧА\n\nИран пошел не по плану, цены на нефть летают, ослабление санкций, угрозы Орбану, Зеленский и сын шаха, Уиткофф ждет прорыва, Москва без интернета, приговоры по делу Крокуса, Лерчек больна, экстремистский фонд Галицкого, изъятие скота в Сибири, российский гимн на Паралимпиаде, убежище для футболисток, символичный метеорит\n\nСодержание:\n00:00 Начало\n0:35 Иран ставит условия Трампу\n2:12 Митинги за Моджтабу Хаменеи\n4:24 США и Израиль атакуют Иран\n6:30 Потери американской армии\n7:39 Иран атакует соседние страны\n9:39 Ормузский пролив блокирован\n12:08 Кризис в Белом доме\n14:09 Нефть дорожает, Москва в выигрыше\n16:30 Киев угрожает Орбану\n18:30 «Санта-Барбара» с переговорами по Украине\n21:00 7 погибших после удара по Брянску\n22:06 Обстрелы Донецка и Харькова\n23:34 Купянск – серая зона\n24:37 15 пожизненных за теракт в «Крокусе»\n26:22 Россия не выдаст воевавших иностранцев\n28:20 Кто займет место Москальковой\n29:34 У Лерчек рак четвертой стадии\n31:32 Дело против инвестора Галицкого\n32:51 Почему уничтожают скот в Сибири\n34:41 Москва без мобильного интернета\n35:45 Россияне скупают пейджеры и рации\n37:18 Что с рекламой в Telegram\n39:00 Возвращение iPod\n40:04 Российский гимн на Паралимпиаде\n41:34 Иранские футболистки-невозвращенки\n43:34 РФ едет на Венецианскую биеннале\n44:44 Искусственный мозг играет в Doom\n46:02 28-кратное превышение алкоголя в крови\n47:18 Штраф за сидение на троне Павла I\n48:19 Метеорит напугал Германию\n\nПоддержать «Редакцию»: \n💰 из России — через сервис Boosty: https://boosty.to/redakciya\n💰 из-за рубежа — через сервис Patreon: https://www.patreon.com/alexey_pivovarov\n💰 из-за рубежа — через функцию «Спонсорство» в YouTube: https://www.youtube.com/channel/UC1eFXmJNkjITxPFWTy6RsWg/join \n\nПодписывайтесь на наши социальные сети:\n\nТелеграм-канал Алексея Пивоварова:\nhttps://t.me/Alexey_Pivo_varov\n\n«Редакция» в «Дзене»:\nhttps://zen.yandex.ru/redakciya\n\n«Редакция» в «ВК»:\nhttps://vk.com/redakciya_pivovarova\n\nСотрудничество и идеи:\ninfo@redakciya.com\n\n#редакция #пивоваров #новости", "Редакция News: 212-я неделя", "cc15aedd-d812-4523-92b0-99b2236685e7", 3005, false, "1jIGsI-lwcU", "https://www.youtube.com/watch?v=1jIGsI-lwcU", 9, "/downloads/Редакция/2026-03-15 Редакция News: 212-я неделя.mp4", false, false, false, 13, [], 98, ~U[2026-03-15 07:26:17Z], ~U[2026-03-29 12:28:14Z], ~U[2026-03-29 12:28:14Z], "Новая Редакция News!\n\n18+ НАСТОЯЩИЙ МАТЕРИАЛ (ИНФОРМАЦИЯ) ПРОИЗВЕДЕН, РАСПРОСТРАНЕН И (ИЛИ) НАПРАВЛЕН ИНОСТРАННЫМ АГЕНТОМ ПИВОВАРОВЫМ АЛЕКСЕЕМ ВЛАДИМИРОВИЧЕМ ЛИБО КАСАЕТСЯ ДЕЯТЕЛЬНОСТИ ИНОСТРАННОГО АГЕНТА ПИВОВАРОВА АЛЕКСЕЯ ВЛАДИМИРОВИЧА\n\nИран пошел не по плану, цены на нефть летают, ослабление санкций, угрозы Орбану, Зеленский и сын шаха, Уиткофф ждет прорыва, Москва без интернета, приговоры по делу Крокуса, Лерчек больна, экстремистский фонд Галицкого, изъятие скота в Сибири, российский гимн на Паралимпиаде, убежище для футболисток, символичный метеорит\n\nСодержание:\n00:00 Начало\n0:35 Иран ставит условия Трампу\n2:12 Митинги за Моджтабу Хаменеи\n4:24 США и Израиль атакуют Иран\n6:30 Потери американской армии\n7:39 Иран атакует соседние страны\n9:39 Ормузский пролив блокирован\n12:08 Кризис в Белом доме\n14:09 Нефть дорожает, Москва в выигрыше\n16:30 Киев угрожает Орбану\n18:30 «Санта-Барбара» с переговорами по Украине\n21:00 7 погибших после удара по Брянску\n22:06 Обстрелы Донецка и Харькова\n23:34 Купянск – серая зона\n24:37 15 пожизненных за теракт в «Крокусе»\n26:22 Россия не выдаст воевавших иностранцев\n28:20 Кто займет место Москальковой\n29:34 У Лерчек рак четвертой стадии\n31:32 Дело против инвестора Галицкого\n32:51 Почему уничтожают скот в Сибири\n34:41 Москва без мобильного интернета\n35:45 Россияне скупают пейджеры и рации\n37:18 Что с рекламой в Telegram\n39:00 Возвращение iPod\n40:04 Российский гимн на Паралимпиаде\n41:34 Иранские футболистки-невозвращенки\n43:34 РФ едет на Венецианскую биеннале\n44:44 Искусственный мозг играет в Doom\n46:02 28-кратное превышение алкоголя в крови\n47:18 Штраф за сидение на троне Павла I\n48:19 Метеорит напугал Германию\n\nПоддержать «Редакцию»: \n💰 из России — через сервис Boosty: https://boosty.to/redakciya\n💰 из-за рубежа — через сервис Patreon: https://www.patreon.com/alexey_pivovarov\n💰 из-за рубежа — через фун (truncated) 15:28:14.233 [debug] QUERY OK source="sources" db=0.4ms idle=6.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [13] 15:28:14.236 [debug] QUERY OK source="media_items" db=2.4ms idle=5.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-11 16:26:28Z], 13] 15:28:14.237 [debug] QUERY OK source="media_items" db=0.8ms idle=7.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Здравствуйте, дорогие друзья. В новом видео Алексей Пивоваров расскажет про художников в изгнании и молодежный сленг. Спасибо за ваш интерес и поддержку!\n\n18+ НАСТОЯЩИЙ МАТЕРИАЛ (ИНФОРМАЦИЯ) ПРОИЗВЕДЕН, РАСПРОСТРАНЕН И (ИЛИ) НАПРАВЛЕН ИНОСТРАННЫМ АГЕНТОМ ПИВОВАРОВЫМ АЛЕКСЕЕМ ВЛАДИМИРОВИЧЕМ ЛИБО КАСАЕТСЯ ДЕЯТЕЛЬНОСТИ ИНОСТРАННОГО АГЕНТА ПИВОВАРОВА АЛЕКСЕЯ ВЛАДИМИРОВИЧА\n\nЧтобы задать вопрос, напишите его в комментариях под этим видео. На самые интересные Алексей ответит в следующий раз!\n\nСодержание:\n00:00 - Начало\n00:20 - О поездке с подписчиками\n02:11 - Ваши вопросы\n\nВыпуски, которые упоминает Алексей:\n1. Конфликт вокруг Ирана: https://youtu.be/2yjxzbICWcY?si=EXoL0UqC2InPN4cr\n2. Как Америка стала великой: https://www.youtube.com/watch?v=qHwvKuII8_c&t=2s\n3. Выпуск про эффект Долиной: https://youtu.be/2racFdzr_TA?si=JEV97sxw0_XvaXy_\n\nПоддержать «Редакцию»: \n💰 из России — через сервис Boosty: https://boosty.to/redakciya\n💰 из-за рубежа — через сервис Patreon: https://www.patreon.com/alexey_pivovarov\n💰 из-за рубежа — через функцию «Спонсорство» в YouTube: https://www.youtube.com/channel/UC1eFXmJNkjITxPFWTy6RsWg/join \n\nПодписывайтесь на наши социальные сети:\n\nТелеграм-канал Алексея Пивоварова:\nhttps://t.me/Alexey_Pivo_varov\n\n«Редакция» в «Дзене»:\nhttps://zen.yandex.ru/redakciya\n\n«Редакция» в «ВК»:\nhttps://vk.com/redakciya_pivovarova\n\nСотрудничество и идеи:\ninfo@redakciya.com\n\n#редакция #пивоваров", "Про поездку в Африку, косноязычие и современное искусство", "782b1953-630b-42b4-a90a-22b4a4665cf9", 980, false, "m7gfFZI6eJE", "https://www.youtube.com/watch?v=m7gfFZI6eJE", 10, "/downloads/Редакция/2026-03-11 Про поездку в Африку, косноязычие и современное искусство.NA", false, false, false, 13, [], 98, ~U[2026-03-11 16:26:28Z], ~U[2026-03-29 12:28:14Z], ~U[2026-03-29 12:28:14Z], "Здравствуйте, дорогие друзья. В новом видео Алексей Пивоваров расскажет про художников в изгнании и молодежный сленг. Спасибо за ваш интерес и поддержку!\n\n18+ НАСТОЯЩИЙ МАТЕРИАЛ (ИНФОРМАЦИЯ) ПРОИЗВЕДЕН, РАСПРОСТРАНЕН И (ИЛИ) НАПРАВЛЕН ИНОСТРАННЫМ АГЕНТОМ ПИВОВАРОВЫМ АЛЕКСЕЕМ ВЛАДИМИРОВИЧЕМ ЛИБО КАСАЕТСЯ ДЕЯТЕЛЬНОСТИ ИНОСТРАННОГО АГЕНТА ПИВОВАРОВА АЛЕКСЕЯ ВЛАДИМИРОВИЧА\n\nЧтобы задать вопрос, напишите его в комментариях под этим видео. На самые интересные Алексей ответит в следующий раз!\n\nСодержание:\n00:00 - Начало\n00:20 - О поездке с подписчиками\n02:11 - Ваши вопросы\n\nВыпуски, которые упоминает Алексей:\n1. Конфликт вокруг Ирана: https://youtu.be/2yjxzbICWcY?si=EXoL0UqC2InPN4cr\n2. Как Америка стала великой: https://www.youtube.com/watch?v=qHwvKuII8_c&t=2s\n3. Выпуск про эффект Долиной: https://youtu.be/2racFdzr_TA?si=JEV97sxw0_XvaXy_\n\nПоддержать «Редакцию»: \n💰 из России — через сервис Boosty: https://boosty.to/redakciya\n💰 из-за рубежа — через сервис Patreon: https://www.patreon.com/alexey_pivovarov\n💰 из-за рубежа — через функцию «Спонсорство» в YouTube: https://www.youtube.com/channel/UC1eFXmJNkjITxPFWTy6RsWg/join \n\nПодписывайтесь на наши социальные сети:\n\nТелеграм-канал Алексея Пивоварова:\nhttps://t.me/Alexey_Pivo_varov\n\n«Редакция» в «Дзене»:\nhttps://zen.yandex.ru/redakciya\n\n«Редакция» в «ВК»:\nhttps://vk.com/redakciya_pivovarova\n\nСотрудничество и идеи:\ninfo@redakciya.com\n\n#редакция #пивоваров", "Про поездку в Африку, косноязычие и современное искусство", 980, false, "m7gfFZI6eJE", "https://www.youtube.com/watch?v=m7gfFZI6eJE", "/downloads/Редакция/2026-03-11 Про поездку в Африку, косноязычие и современное искусство.NA", false, 13, ~U[2026-03-11 16:26:28Z]] 15:28:14.238 [debug] QUERY OK source="sources" db=0.4ms idle=6.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [13] 15:28:14.240 [debug] QUERY OK source="media_items" db=2.5ms idle=5.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-10 11:50:02Z], 13] 15:28:14.242 [debug] QUERY OK source="media_items" db=1.0ms idle=7.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" ["Нефть по 116 долларов за баррель — самое заметное экономическое следствие войны на Ближнем Востоке\n\n18+ НАСТОЯЩИЙ МАТЕРИАЛ (ИНФОРМАЦИЯ) ПРОИЗВЕДЕН, РАСПРОСТРАНЕН И (ИЛИ) НАПРАВЛЕН ИНОСТРАННЫМ АГЕНТОМ ПИВОВАРОВЫМ АЛЕКСЕЕМ ВЛАДИМИРОВИЧЕМ ЛИБО КАСАЕТСЯ ДЕЯТЕЛЬНОСТИ ИНОСТРАННОГО АГЕНТА ПИВОВАРОВА АЛЕКСЕЯ ВЛАДИМИРОВИЧА\n\nЭксперты сравнивают нынешний шок на нефтяном рынке с печально знаменитыми кризисами 1970-х, когда — тоже из-за событий на Ближнем Востоке — стремительный рост цен на топливо кардинально перекроил мировую экономику. \n\nКак происходящее может отразиться на России? И на военной ситуации в Украине? Будут ли США все глубже увязать в войне, последствия которой не смогли вовремя просчитать? Смотрите в новом выпуске Разбора\n___________\nСодержание:\n0:00 Экономические последствия войны\u00A0\n2:06 Нефть, золото, самолеты: везде турбулентность\u00A0\n4:35 Последствия закрытия Ормузского пролива, через который шла нефть \n6:33 США и Израиль обсуждают захват иранского острова\u00A0\n7:30 Кто покупал энергоресурсы у Ближнего Востока \n9:27 Бенефициар — Россия?\u00A0\n13:03 Трамп ослабит санкции на российскую нефть? \n15:18 Что с золотом? \n17:27 Киев предложил Ближнему Востоку помощь в борьбе с дронами\n20:59 Кризис в авиации из-за войны \n23:49 Бенефициар — Турция?\u00A0\n26:43 Как летают самолеты теперь и как полетят? \n27:19 Сможет ли Дональд Трамп позволить себе затяжной конфликт?\n\nПоддержать «Редакцию»: \n💰 из России — через сервис Boosty: https://boosty.to/redakciya\n💰 из-за рубежа — через сервис Patreon: https://www.patreon.com/alexey_pivovarov\n💰 из-за рубежа — через функцию «Спонсорство» в YouTube: https://www.youtube.com/channel/UC1eFXmJNkjITxPFWTy6RsWg/join \n\nПодписывайтесь на наши социальные сети:\n\nТелеграм-канал Алексея Пивоварова:\nhttps://t.me/Alexey_Pivo_varov\n\n«Редакция» в «Дзене»:\nhttps://zen.yandex.ru/redakciya\n\n«Редакция» в «ВК»:\nhttps://vk.com/redakciya_pivovarova\n\nСотрудничество и идеи:\ninfo@redakciya.com\n\n#редакция #пивоваров #нефть", "Нефть за 100: как война в Иране превращается в мировой экономический кризис", "a1300a9e-bb0e-4724-a56a-ac54f9430025", 1878, false, "pt-FiV9iwf8", "https://www.youtube.com/watch?v=pt-FiV9iwf8", 11, "/downloads/Редакция/2026-03-10 Нефть за 100: как война в Иране превращается в мировой экономический кризис.mp4", false, false, false, 13, [], 98, ~U[2026-03-10 11:50:02Z], ~U[2026-03-29 12:28:14Z], ~U[2026-03-29 12:28:14Z], "Нефть по 116 долларов за баррель — самое заметное экономическое следствие войны на Ближнем Востоке\n\n18+ НАСТОЯЩИЙ МАТЕРИАЛ (ИНФОРМАЦИЯ) ПРОИЗВЕДЕН, РАСПРОСТРАНЕН И (ИЛИ) НАПРАВЛЕН ИНОСТРАННЫМ АГЕНТОМ ПИВОВАРОВЫМ АЛЕКСЕЕМ ВЛАДИМИРОВИЧЕМ ЛИБО КАСАЕТСЯ ДЕЯТЕЛЬНОСТИ ИНОСТРАННОГО АГЕНТА ПИВОВАРОВА АЛЕКСЕЯ ВЛАДИМИРОВИЧА\n\nЭксперты сравнивают нынешний шок на нефтяном рынке с печально знаменитыми кризисами 1970-х, когда — тоже из-за событий на Ближнем Востоке — стремительный рост цен на топливо кардинально перекроил мировую экономику. \n\nКак происходящее может отразиться на России? И на военной ситуации в Украине? Будут ли США все глубже увязать в войне, последствия которой не смогли вовремя просчитать? Смотрите в новом выпуске Разбора\n___________\nСодержание:\n0:00 Экономические последствия войны\u00A0\n2:06 Нефть, золото, самолеты: везде турбулентность\u00A0\n4:35 Последствия закрытия Ормузского пролива, через который шла нефть \n6:33 США и Израиль обсуждают захват иранского острова\u00A0\n7:30 Кто покупал энергоресурсы у Ближнего Востока \n9:27 Бенефициар — Россия?\u00A0\n13:03 Трамп ослабит санкции на российскую нефть? \n15:18 Что с золотом? \n17:27 Киев предложил Ближнему Востоку помощь в борьбе с дронами\n20:59 Кризис в авиации из-за войны \n23:49 Бенефициар — Турция?\u00A0\n26:43 Как летают самолеты теперь и как полетят? \n27:19 Сможет ли Дональд Трамп позволить себе затяжной конфликт?\n\nПоддержать «Редакцию»: \n💰 из России — через сервис Boosty: https://boosty.to/redakciya\n💰 из-за рубежа — через сервис Patreon: https://www.patreon.com/alexey_pivovarov\n💰 из-за рубежа — через функцию «Спонсорство» в YouTube: https://www.youtube.com/channel/UC1eFXmJNkjITxPFWTy6RsWg/join \n\nПодписывайтесь на наши социальные сети:\n\nТелеграм-канал Алексея Пивоварова:\nhttps://t.me/Alexey_Pivo_varov\n\n«Редакция» в «Дзене»:\nhttps://zen.yandex.ru/redakciya\n\n«Редакция» в «ВК»:\nhttps://vk.com/redakciya_pivovarova\n\nСотрудничество и идеи:\ninfo@redakciya.com\n\n#редакция #пивоваров #нефть", "Нефть за 100: как война в Иране превращается в мировой экономический кризис", 1878, false, "pt-FiV9iwf8", "https: (truncated) 15:28:14.242 [debug] QUERY OK source="sources" db=0.4ms idle=6.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [13] 15:28:14.245 [debug] QUERY OK source="media_items" db=2.4ms idle=5.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-08 08:42:15Z], 13] 15:28:14.247 [debug] QUERY OK source="media_items" db=1.2ms idle=7.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Новая Редакция News!\n\n18+ НАСТОЯЩИЙ МАТЕРИАЛ (ИНФОРМАЦИЯ) ПРОИЗВЕДЕН, РАСПРОСТРАНЕН И (ИЛИ) НАПРАВЛЕН ИНОСТРАННЫМ АГЕНТОМ ПИВОВАРОВЫМ АЛЕКСЕЕМ ВЛАДИМИРОВИЧЕМ ЛИБО КАСАЕТСЯ ДЕЯТЕЛЬНОСТИ ИНОСТРАННОГО АГЕНТА ПИВОВАРОВА АЛЕКСЕЯ ВЛАДИМИРОВИЧА\n\n«Цели будут достигнуты», все-все-все в Персидской войне, как убили Хаменеи, россияне застряли в ОАЭ и на Мальдивах, нефть растет в цене, Трамп ссорится с Испанией, переговоры по Украине на паузе, Зеленский грозит Орбану «хлопцами», ФАС против Telegram, Джабраилов и парабеллум, исчезли билеты на Щербакова, приговор Шульман, новые маркировки в книгах и музыке, «былины ежедневные», продажа Рижского вокзала, с 8 Марта!\n\n*Минюст признал Екатерину Шульман иноагентом\n\nСодержание:\n00:00 Начало\n0:35 «Крупная военная операция» США\n2:27 Чем США бьют по Тегерану\n4:15 США потеряли 3 истребителя\n6:47 Похороны погибших в Иране\n8:34 Трамп требует капитуляции Тегерана\n11:02 Удары по Азербайджану, Кипру и Турции\n13:00 «Шахеды» бьют по АОЭ\n14:40 Пезешкиан извинился перед соседями\n17:01 Усиление КСИР и новый Рахбар\n18:46 Детали ликвидации Али Хаменеи\n20:22 Израиля идет в атаку на «Хезболлу»\n21:28 Эвакуация туристов с Ближнего Востока\n24:10 Рынки падают, нефть и газ дорожают\n25:55 Зеленский угрожает Орбану\n28:17 Реакция ЕС на «Эпическую ярость»\n30:59 Демократы пытаются остановить Трампа\n32:31 Что с переговорами РФ и Украины?\n34:37 Обстановка на украинском фронте\n36:01 Атакован танкер Arctic Metagaz\n38:28 Арестован бывший зам Шойгу Цаликов\n39:19 Кто бойкотировал открытие Паралимпиады\n42:23 ФАС: реклама в Telegram нарушает закон\n44:31 Прощание с Умаром Джабраиловым\n48:03 Отмена концертов стендапера Щербакова\n49:26 Блогер Маркарян получил 4,5 года\n49:57 Новый приговор Зареме Мусаевой\n53:04 Новые законы с 1 марта в РФ\n54:39 Запрет упоминания наркотиков в книгах и песнях\n56:24 Запрет англицизмов\n58:20 Новые назначения Хабенского и Безрукова\n59:20 Продается Рижский вокзал\n1:00:47 Пингвины падают с льдины\n1:01:33 С 8 Марта!\n\nПоддержать «Редакцию»: \n💰 из России — через сервис Boosty: https://boosty.to/redakciya\n💰 из-за рубежа — через сервис Patreon: https://www.patreon.com/alexey_pivovarov\n💰 из-за рубежа — через функцию «Спонсорство» в YouTube: https://www.youtube.com/channel/UC1eFXmJNkjITxPFWTy6RsWg/join \n\nПодписывайтесь на наши социальные сети:\n\nТелеграм-канал Алексея Пивоварова:\nhttps://t.me/Alexey_Pivo_varov\n\n«Редакция» в «Дзене»:\nhttps://zen.yandex.ru/redakciya\n\n«Редакция» в «ВК»:\nhttps://vk.com/redakciya_pivovarova\n\nСотрудничество и идеи:\ninfo@redakciya.com\n\n#редакция #пивоваров #новости", "Редакция News: 211-я неделя", "b6a7c562-584b-47f0-be4f-0246eac9d7bf", 3790, false, "j6O66lMpqzs", "https://www.youtube.com/watch?v=j6O66lMpqzs", 12, "/downloads/Редакция/2026-03-08 Редакция News: 211-я неделя.mp4", false, false, false, 13, [], 98, ~U[2026-03-08 08:42:15Z], ~U[2026-03-29 12:28:14Z], ~U[2026-03-29 12:28:14Z], "Новая Редакция News!\n\n18+ НАСТОЯЩИЙ МАТЕРИАЛ (ИНФОРМАЦИЯ) ПРОИЗВЕДЕН, РАСПРОСТРАНЕН И (ИЛИ) НАПРАВЛЕН ИНОСТРАННЫМ АГЕНТОМ ПИВОВАРОВЫМ АЛЕКСЕЕМ ВЛАДИМИРОВИЧЕМ ЛИБО КАСАЕТСЯ ДЕЯТЕЛЬНОСТИ ИНОСТРАННОГО АГЕНТА ПИВОВАРОВА АЛЕКСЕЯ ВЛАДИМИРОВИЧА\n\n«Цели будут достигнуты», все-все-все в Персидской войне, как убили Хаменеи, россияне застряли в ОАЭ и на Мальдивах, нефть растет в цене, Трамп ссорится с Испанией, переговоры по Украине на паузе, Зеленский грозит Орбану «хлопцами», ФАС против Telegram, Джабраилов и парабеллум, исчезли билеты на Щербакова, приговор Шульман, новые маркировки в книгах и музыке, «былины ежедневные», продажа Рижского вокзала, с 8 Марта!\n\n*Минюст признал Екатерину Шульман иноагентом\n\nСодержание:\n00:00 Начало\n0:35 «Крупная военная операция» США\n2:27 Чем США бьют по Тегерану\n4:15 США потеряли 3 истребителя\n6:47 Похороны погибших в Иране\n8:34 Трамп требует капитуляции Тегерана\n11:02 Удары по Азербайджану, Кипру и Турции\n13:00 «Шахеды» бьют по АОЭ\n14:40 Пезешкиан извинился перед соседями\n17:01 Усиление КСИР и новый Рахбар\n18:46 Детали ликвидации Али Хаменеи\n20:22 Израиля идет в атаку на «Хезболлу»\n21:28 Эвакуация туристов с Ближнего Востока\n24:10 Рынки падают, нефть и газ дорожают\n25:55 Зеленский угрожает Орбану\n28:17 Реакция ЕС на «Эпическую ярость»\n30:59 Демократы пытаются остановить Трампа\n32:31 Что с переговорами РФ и Украины?\n34:37 Обстановка на украинском фронте\n36:01 Атакован танкер Arctic Metagaz\n38:28 Арестован бывший зам Шойгу Цаликов\n39:19 Кто бойкотировал открытие Паралимпиады\n42:23 ФАС: р (truncated) 15:28:14.247 [debug] QUERY OK source="sources" db=0.5ms idle=6.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [13] 15:28:14.250 [debug] QUERY OK source="media_items" db=2.5ms idle=5.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-05 10:45:09Z], 13] 15:28:14.252 [debug] QUERY OK source="media_items" db=1.1ms idle=7.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Война на Ближнем Востоке очевидно затягивается, надежды Дональда Трампа на то, что после серии авиаударов в Иране начнется революция и режим падет, пока не оправдались\n\n18+ НАСТОЯЩИЙ МАТЕРИАЛ (ИНФОРМАЦИЯ) ПРОИЗВЕДЕН, РАСПРОСТРАНЕН И (ИЛИ) НАПРАВЛЕН ИНОСТРАННЫМ АГЕНТОМ ПИВОВАРОВЫМ АЛЕКСЕЕМ ВЛАДИМИРОВИЧЕМ ЛИБО КАСАЕТСЯ ДЕЯТЕЛЬНОСТИ ИНОСТРАННОГО АГЕНТА ПИВОВАРОВА АЛЕКСЕЯ ВЛАДИМИРОВИЧА\n\nИранские власти и КСИР не собираются сдаваться, а американцы дали понять, что без сделки удары будут продолжаться «до достижения целей» и «столько, сколько потребуется».\n\nКто может — причем ничего не делая — оказаться в неожиданном выигрыше, так это Москва. А в серьезном проигрыше — что тоже далеко не всем очевидно — уже оказался Китай. \n\nВ этом выпуске мы изучим ситуация на Ближнем Востоке более экспертно, потому что она, в той или иной степени, отразится на всех нас\n\nСодержание: \n00:00 Новая война \n02:15 Хаменеи убит. Что дальше? \n04:42 Чего добивается Трамп? \n05:53 Тайное оружие Израиля \n07:29 Шпионская сеть в Иране \n08:52 Иран = Венесуэла? \n09:14 Из-за смерти Хаменеи скорбят или радуются? \n11:33 Протесты в Иране \n11:59 Новый духовный лидер Ирана \n13:23 Задачи операции США\n15:47 Почему Трамп начал сейчас? \n17:41 Мотивация Израиля \n18:51 Как отвечает Иран \n21:09 Операция в Ливане — часть стратегии \n22:23 Нетаньяху втянул Трампа в войну? \n24:02 Атака на страны Персидского залива \n25:22 Что будет с ценами на нефть? \n26:58 Россия — бенефициар? \n27:20 Последствия для Китая и Европы \n30:59 Страны залива ответят? \n32:35 Начнется ли большая война на Ближнем Востоке? \n33:47 США против Испании? \n35:26 Сдержанная реакция Европы \n36:38 Стабильность в регионе закончилась? \n38:14 Начнут ли иранцы бежать из страны?\n\nПоддержать «Редакцию»: \n💰 из России — через сервис Boosty: https://boosty.to/redakciya\n💰 из-за рубежа — через сервис Patreon: https://www.patreon.com/alexey_pivovarov\n💰 из-за рубежа — через функцию «Спонсорство» в YouTube: https://www.youtube.com/channel/UC1eFXmJNkjITxPFWTy6RsWg/join \n\nПодписывайтесь на наши социальные сети:\n\nТелеграм-канал Алексея Пивоварова:\nhttps://t.me/Alexey_Pivo_varov\n\n«Редакция» в «Дзене»:\nhttps://zen.yandex.ru/redakciya\n\n«Редакция» в «ВК»:\nhttps://vk.com/redakciya_pivovarova\n\nСотрудничество и идеи:\ninfo@redakciya.com\n\n#редакция #пивоваров #иран", "Малая Мировая: как в конфликт вокруг Ирана оказались вовлечены десятки стран", "fe47ff5c-7b70-4b4f-b562-020fd1d87d8a", 2570, false, "2yjxzbICWcY", "https://www.youtube.com/watch?v=2yjxzbICWcY", 13, "/downloads/Редакция/2026-03-05 Малая Мировая: как в конфликт вокруг Ирана оказались вовлечены десятки стран.mp4", false, false, false, 13, [], 97, ~U[2026-03-05 10:45:09Z], ~U[2026-03-29 12:28:14Z], ~U[2026-03-29 12:28:14Z], "Война на Ближнем Востоке очевидно затягивается, надежды Дональда Трампа на то, что после серии авиаударов в Иране начнется революция и режим падет, пока не оправдались\n\n18+ НАСТОЯЩИЙ МАТЕРИАЛ (ИНФОРМАЦИЯ) ПРОИЗВЕДЕН, РАСПРОСТРАНЕН И (ИЛИ) НАПРАВЛЕН ИНОСТРАННЫМ АГЕНТОМ ПИВОВАРОВЫМ АЛЕКСЕЕМ ВЛАДИМИРОВИЧЕМ ЛИБО КАСАЕТСЯ ДЕЯТЕЛЬНОСТИ ИНОСТРАННОГО АГЕНТА ПИВОВАРОВА АЛЕКСЕЯ ВЛАДИМИРОВИЧА\n\nИранские власти и КСИР не собираются сдаваться, а американцы дали понять, что без сделки удары будут продолжаться «до достижения целей» и «столько, сколько потребуется».\n\nКто может — причем ничего не делая — оказаться в неожиданном выигрыше, так это Москва. А в серьезном проигрыше — что тоже далеко не всем очевидно — уже оказался Китай. \n\nВ этом выпуске мы изучим ситуация на Ближнем Востоке более экспертно, потому что она, в той или иной степени, отразится на всех нас\n\nСодержание: \n00:00 Новая война \n02:15 Хаменеи убит. Что дальше? \n04:42 Чего добивается Трамп? \n05:53 Тайное оружие Израиля \n07:29 Шпионская сеть в Иране \n08:52 Иран = Венесуэла? \n09:14 Из-за смерти Хаменеи скорбят или радуются? \n11:33 Протесты в Иране \n11:59 Новый духовный лидер Ирана \n13:23 Задачи операции США\n15:47 Почему Трамп начал сейчас? \n17:41 Мотивация Израиля \n18:51 Как отвечает Иран \n21:09 Операция в Ливане — часть стратегии \n22:23 Нетаньяху втянул Трампа в войну? \n24:02 Атака на страны Персидского залива \n25:22 Что будет с ценами на нефть? \n26:58 Россия — бенефициар? \n27:20 Последствия для Китая и Европы \n30:59 Страны залива ответят? \n32:35 Начнется ли большая война на Ближнем Востоке? \n33:47 США против Испании? \n35:26 Сдержанная реакция Европы \n36:38 Стабильность в регионе закончилась? \n3 (truncated) 15:28:14.252 [debug] QUERY OK source="sources" db=0.5ms idle=6.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [13] 15:28:14.255 [debug] QUERY OK source="media_items" db=2.5ms idle=6.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-04 11:22:37Z], 13] 15:28:14.259 [debug] QUERY OK source="media_items" db=3.4ms idle=7.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Здравствуйте, дорогие друзья. В новом видео Алексей Пивоваров расскажет про классический телевизионный репортаж и санкции. Спасибо за ваш интерес и поддержку!\n\n18+ НАСТОЯЩИЙ МАТЕРИАЛ (ИНФОРМАЦИЯ) ПРОИЗВЕДЕН, РАСПРОСТРАНЕН И (ИЛИ) НАПРАВЛЕН ИНОСТРАННЫМ АГЕНТОМ ПИВОВАРОВЫМ АЛЕКСЕЕМ ВЛАДИМИРОВИЧЕМ ЛИБО КАСАЕТСЯ ДЕЯТЕЛЬНОСТИ ИНОСТРАННОГО АГЕНТА ПИВОВАРОВА АЛЕКСЕЯ ВЛАДИМИРОВИЧА\n\nЧтобы задать вопрос, напишите его в комментариях под этим видео. На самые интересные Алексей ответит в следующий раз!\n\nСодержание:\n00:20 - О подаче заявления на снятие статуса иноагента\n01:14 - О выпуске с севера\n02:58 - Ваши вопросы\n\nВыпуски, которые упоминает Алексей:\n1. Репортаж Сошина из Воркуты: https://www.youtube.com/watch?v=x8KBXEmXs2s\n2. Редакция.Live: https://www.youtube.com/live/PRe-4PhdIuY?si=bBV3fWbVpcBEBR9n\n3. Выпуск о староверах. Часть 1: https://www.youtube.com/watch?v=17-3EGQ1aAw\n4. Выпуск о староверах. Часть 2: https://youtu.be/U9Nt0Jz488M?si=8_g8GavNAO3gBPXU\n\nПоддержать «Редакцию»: \n💰 из России — через сервис Boosty: https://boosty.to/redakciya\n💰 из-за рубежа — через сервис Patreon: https://www.patreon.com/alexey_pivovarov\n💰 из-за рубежа — через функцию «Спонсорство» в YouTube: https://www.youtube.com/channel/UC1eFXmJNkjITxPFWTy6RsWg/join \n\nПодписывайтесь на наши социальные сети:\n\nТелеграм-канал Алексея Пивоварова:\nhttps://t.me/Alexey_Pivo_varov\n\n«Редакция» в «Дзене»:\nhttps://zen.yandex.ru/redakciya\n\n«Редакция» в «ВК»:\nhttps://vk.com/redakciya_pivovarova\n\nСотрудничество и идеи:\ninfo@redakciya.com\n\n#редакция #пивоваров", "Про статус иноагента, техническое закулисье и востребованность военных экспертов", "a0880381-6125-46f8-84a9-125b91962667", 852, false, "KaDsuGt1bpE", "https://www.youtube.com/watch?v=KaDsuGt1bpE", 14, "/downloads/Редакция/2026-03-04 Про статус иноагента, техническое закулисье и востребованность военных экспертов.NA", false, false, false, 13, [], 98, ~U[2026-03-04 11:22:37Z], ~U[2026-03-29 12:28:14Z], ~U[2026-03-29 12:28:14Z], "Здравствуйте, дорогие друзья. В новом видео Алексей Пивоваров расскажет про классический телевизионный репортаж и санкции. Спасибо за ваш интерес и поддержку!\n\n18+ НАСТОЯЩИЙ МАТЕРИАЛ (ИНФОРМАЦИЯ) ПРОИЗВЕДЕН, РАСПРОСТРАНЕН И (ИЛИ) НАПРАВЛЕН ИНОСТРАННЫМ АГЕНТОМ ПИВОВАРОВЫМ АЛЕКСЕЕМ ВЛАДИМИРОВИЧЕМ ЛИБО КАСАЕТСЯ ДЕЯТЕЛЬНОСТИ ИНОСТРАННОГО АГЕНТА ПИВОВАРОВА АЛЕКСЕЯ ВЛАДИМИРОВИЧА\n\nЧтобы задать вопрос, напишите его в комментариях под этим видео. На самые интересные Алексей ответит в следующий раз!\n\nСодержание:\n00:20 - О подаче заявления на снятие статуса иноагента\n01:14 - О выпуске с севера\n02:58 - Ваши вопросы\n\nВыпуски, которые упоминает Алексей:\n1. Репортаж Сошина из Воркуты: https://www.youtube.com/watch?v=x8KBXEmXs2s\n2. Редакция.Live: https://www.youtube.com/live/PRe-4PhdIuY?si=bBV3fWbVpcBEBR9n\n3. Выпуск о староверах. Часть 1: https://www.youtube.com/watch?v=17-3EGQ1aAw\n4. Выпуск о староверах. Часть 2: https://youtu.be/U9Nt0Jz488M?si=8_g8GavNAO3gBPXU\n\nПоддержать «Редакцию»: \n💰 из России — через сервис Boosty: https://boosty.to/redakciya\n💰 из-за рубежа — через сервис Patreon: https://www.patreon.com/alexey_pivovarov\n💰 из-за рубежа — через функцию «Спонсорство» в YouTube: https://www.youtube.com/channel/UC1eFXmJNkjITxPFWTy6RsWg/join \n\nПодписывайтесь на наши социальные сети:\n\nТелеграм-канал Алексея Пивоварова:\nhttps://t.me/Alexey_Pivo_varov\n\n«Редакция» в «Дзене»:\nhttps://zen.yandex.ru/redakciya\n\n«Редакция» в «ВК»:\nhttps://vk.com/redakciya_pivovarova\n\nСотрудничество и идеи:\ninfo@redakciya.com\n\n#редакция #пивоваров", "Про статус иноагента, техническое закулисье и востребованность военных экспертов", 852, false, "KaDsuGt1bpE", "https://www.youtube.com/watch?v=KaDsuGt1bpE", "/downloads/Редакция/2026-03-04 Про статус иноагента, техническое закулисье и востребованность военных экспертов.NA", false, 13, ~U[2026-03-04 11:22:37Z]] 15:28:14.259 [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" = ?) [13] 15:28:14.262 [debug] QUERY OK source="media_items" db=2.4ms idle=8.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-03 07:21:41Z], 13] 15:28:14.264 [debug] QUERY OK source="media_items" db=1.0ms idle=10.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Кадры работы ПВО в Дубае и дымящегося отеля Бурдж-аль-Араб облетели интернет\n\n18+ НАСТОЯЩИЙ МАТЕРИАЛ (ИНФОРМАЦИЯ) ПРОИЗВЕДЕН, РАСПРОСТРАНЕН И (ИЛИ) НАПРАВЛЕН ИНОСТРАННЫМ АГЕНТОМ ПИВОВАРОВЫМ АЛЕКСЕЕМ ВЛАДИМИРОВИЧЕМ ЛИБО КАСАЕТСЯ ДЕЯТЕЛЬНОСТИ ИНОСТРАННОГО АГЕНТА ПИВОВАРОВА АЛЕКСЕЯ ВЛАДИМИРОВИЧА\n\nНеудивительно, что столько внимания приковано именно к Дубаю: ОАЭ десятилетиями работали над образом элитного, безопасного места. Здесь любят и ждут людей с деньгами. Но возникла проблема. Деньги, как известно, любят тишину, а тут над страной грохочет в буквальном смысле.\n\nКак «оазис безопасности» стал мишенью, что чувствуют местные и застрявшие в Дубае туристы — в репортаже «Редакции» с места событий\n__________\nСодержание:\n00:00 Дубай под обстрелами?\n02:21 Атака на аэропорт\n03:33 Истории застрявших туристов\n04:30 Взрывы над пляжем\n06:08 Удар по пятизвезднику\n07:30 Туристов выселяют из отелей?\n12:00 Атака на отель Парус\n14:27 Как люди пытаются бежать?\n15:44 Пляжи с бассейнами закрыты?\n17:26 Порт Джебель Али — база США\n18:20 Нейтралитет ОАЭ — почему не вышло?\n20:06 Дубай — экономический хаб Ирана?\n21:30 ОАЭ заняли сторону?\n22:05 Все в Дубае на самом деле спокойны?\n23:57 Инстаграмщицы не боятся \n25:00 В Дубае больше не безопасно?\n\nYouTube-канал Ольги Коляскиной «Пока все в Дубае» - https://www.youtube.com/@olgakoliaskina\nYouTube-канал Екатерины https://youtube.com/@Katrin_Go\n\nПоддержать «Редакцию»: \n💰 из России — через сервис Boosty: https://boosty.to/redakciya\n💰 из-за рубежа — через сервис Patreon: https://www.patreon.com/alexey_pivovarov\n💰 из-за рубежа — через функцию «Спонсорство» в YouTube: https://www.youtube.com/channel/UC1eFXmJNkjITxPFWTy6RsWg/join \n\nПодписывайтесь на наши социальные сети:\n\nТелеграм-канал Алексея Пивоварова:\nhttps://t.me/Alexey_Pivo_varov\n\n«Редакция» в «Дзене»:\nhttps://zen.yandex.ru/redakciya\n\n«Редакция» в «ВК»:\nhttps://vk.com/redakciya_pivovarova\n\nСотрудничество и идеи:\ninfo@redakciya.com\n\n#редакция #пивоваров #дубай", "Репортаж из Дубая, который стал частью новой войны на Ближнем Востоке", "13d7bcdd-97c8-41b7-b232-36dcbdfb821d", 1660, false, "H35gSNQz6kk", "https://www.youtube.com/watch?v=H35gSNQz6kk", 15, "/downloads/Редакция/2026-03-03 Репортаж из Дубая, который стал частью новой войны на Ближнем Востоке.mp4", false, false, false, 13, [], 98, ~U[2026-03-03 07:21:41Z], ~U[2026-03-29 12:28:14Z], ~U[2026-03-29 12:28:14Z], "Кадры работы ПВО в Дубае и дымящегося отеля Бурдж-аль-Араб облетели интернет\n\n18+ НАСТОЯЩИЙ МАТЕРИАЛ (ИНФОРМАЦИЯ) ПРОИЗВЕДЕН, РАСПРОСТРАНЕН И (ИЛИ) НАПРАВЛЕН ИНОСТРАННЫМ АГЕНТОМ ПИВОВАРОВЫМ АЛЕКСЕЕМ ВЛАДИМИРОВИЧЕМ ЛИБО КАСАЕТСЯ ДЕЯТЕЛЬНОСТИ ИНОСТРАННОГО АГЕНТА ПИВОВАРОВА АЛЕКСЕЯ ВЛАДИМИРОВИЧА\n\nНеудивительно, что столько внимания приковано именно к Дубаю: ОАЭ десятилетиями работали над образом элитного, безопасного места. Здесь любят и ждут людей с деньгами. Но возникла проблема. Деньги, как известно, любят тишину, а тут над страной грохочет в буквальном смысле.\n\nКак «оазис безопасности» стал мишенью, что чувствуют местные и застрявшие в Дубае туристы — в репортаже «Редакции» с места событий\n__________\nСодержание:\n00:00 Дубай под обстрелами?\n02:21 Атака на аэропорт\n03:33 Истории застрявших туристов\n04:30 Взрывы над пляжем\n06:08 Удар по пятизвезднику\n07:30 Туристов выселяют из отелей?\n12:00 Атака на отель Парус\n14:27 Как люди пытаются бежать?\n15:44 Пляжи с бассейнами закрыты?\n17:26 Порт Джебель Али — база США\n18:20 Нейтралитет ОАЭ — почему не вышло?\n20:06 Дубай — экономический хаб Ирана?\n21:30 ОАЭ заняли сторону?\n22:05 Все в Дубае на самом деле спокойны?\n23:57 Инстаграмщицы не боятся \n25:00 В Дубае больше не безопасно?\n\nYouTube-канал Ольги Коляскиной «Пока все в Дубае» - https://www.youtube.com/@olgakoliaskina\nYouTube-канал Екатерины https://youtube.com/@Katrin_Go\n\nПоддержать «Редакцию»: \n💰 из России — через сервис Boosty: https://boosty.to/redakciya\n💰 из-за рубежа — через сервис Patreon: https://www.patreon.com/alexey_pivovarov\n💰 из-за рубежа — через функцию «Спонсорство» в YouTube: https://www.youtube.com/channel/UC1eFXmJNkjITxPFWTy6RsWg/join \n\nПодписывайтесь на наши социальные сети:\n\nТелеграм-канал Алексея Пивоварова:\nhttps://t.me/Alexey_Pivo_varov\n\n«Редакция» в «Дзене»:\nhttps://zen.yandex.ru/redakciya\n\n«Редакция» в «ВК»:\nhttps://vk.com/redakciya_pivovarova\n\nСотрудничество и идеи:\ninfo@redakciya.com\n\n#редакция #пивоваров #дубай", "Репортаж из Дубая, который стал частью новой войны на Ближнем Востоке", 1660, false, "H35gSNQz6kk", "https://www.youtube.com/watch?v=H35gSNQz6kk", "/downloads/Редакция/2026-03-03 Репортаж из Дубая, который стал частью новой войны на (truncated) 15:28:14.264 [debug] QUERY OK source="sources" db=0.4ms idle=8.7ms UPDATE "sources" SET "last_indexed_at" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-03-29 12:28:14Z], ~U[2026-03-29 12:28:14Z], 13] 15:28:14.267 [debug] QUERY OK source="media_items" db=2.7ms 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 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [13] 15:28:14.270 [debug] QUERY OK source="media_items" db=2.6ms idle=7.7ms SELECT count(*) FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [13] 15:28:14.271 [debug] QUERY OK source="media_items" db=0.5ms idle=7.8ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [13] 15:28:14.272 [debug] QUERY OK source="tasks" db=0.4ms idle=4.3ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [965, 13, ~U[2026-03-29 12:28:14Z], ~U[2026-03-29 12:28:14Z]] 15:28:14.272 [info] {"args":{"id":13},"id":959,"meta":{},"state":"success","max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","duration":27630707,"event":"job:stop","queue_time":750282,"attempt":1,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 15:28:28.927 [info] {"source":"oban","duration":632,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:28:58.928 [info] {"source":"oban","duration":739,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:29:00.492 [info] {"source":"oban","duration":387,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:29:28.929 [info] {"source":"oban","duration":607,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:29:58.930 [info] {"source":"oban","duration":582,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:30:00.493 [info] {"source":"oban","duration":478,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:30:28.931 [info] {"source":"oban","duration":697,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:30:31.836 [info] {"args":{"id":8},"id":963,"meta":{},"system_time":1774787431836676144,"max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 15:30:31.837 [debug] QUERY OK source="sources" db=0.1ms idle=1612.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [8] 15:30:31.837 [debug] QUERY OK source="settings" db=0.1ms idle=1613.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:30:31.837 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1007.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:30:31.837 [debug] QUERY OK source="settings" db=0.1ms idle=6.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:30:31.837 [debug] Fetching recent media IDs from YouTube RSS feed for source: UC0VaJBL77wARLD8aCMfrgOA 15:30:32.013 [debug] Media ids fetched from RSS: ["aO1gEq4a5tI", "e4N9HNtC0JI", "CixH5EUW3Fs", "vUe9wkPMYao", "gMpuPvFsX8o", "-_JBLNJfCog", "h1r31T--wdA", "PQ8bw___GW8", "Zhph1oj2sLQ", "qdAXuJmYkr8", "69TH-bWrJ1Y", "moul6B0JuPE", "zrn1Ol9EDZ4", "timRJ_NkbMU", "hTAygQA1-Uc"] 15:30:32.013 [debug] QUERY OK source="media_items" db=0.3ms idle=176.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND m0."media_id" IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)) [8, "aO1gEq4a5tI", "e4N9HNtC0JI", "CixH5EUW3Fs", "vUe9wkPMYao", "gMpuPvFsX8o", "-_JBLNJfCog", "h1r31T--wdA", "PQ8bw___GW8", "Zhph1oj2sLQ", "qdAXuJmYkr8", "69TH-bWrJ1Y", "moul6B0JuPE", "zrn1Ol9EDZ4", "timRJ_NkbMU", "hTAygQA1-Uc"] 15:30:32.014 [debug] QUERY OK source="media_items" db=0.7ms idle=177.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [8] 15:30:32.015 [debug] QUERY OK source="tasks" db=0.1ms idle=177.7ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [966, 8, ~U[2026-03-29 12:30:32Z], ~U[2026-03-29 12:30:32Z]] 15:30:32.015 [info] {"args":{"id":8},"id":963,"meta":{},"state":"success","max_attempts":20,"queue":"fast_indexing","worker":"Pinchflat.FastIndexing.FastIndexingWorker","source":"oban","duration":179025,"event":"job:stop","queue_time":415005,"attempt":1,"tags":["media_source","fast_indexing","show_in_dashboard"]} 15:30:58.933 [info] {"source":"oban","duration":1096,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:31:00.494 [info] {"source":"oban","duration":247,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:31:28.934 [info] {"source":"oban","duration":579,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:31:58.935 [info] {"source":"oban","duration":737,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:32:00.495 [info] {"source":"oban","duration":255,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:32:07.476 [info] GET /sources/new 15:32:07.476 [debug] Processing with PinchflatWeb.Sources.SourceController.new/2 Parameters: %{} Pipelines: [:browser] 15:32:07.477 [debug] QUERY OK source="media_profiles" db=0.1ms queue=0.1ms idle=1252.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" [] 15:32:07.477 [debug] QUERY OK source="settings" db=0.1ms idle=1253.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:32:07.477 [debug] QUERY OK source="settings" db=0.0ms idle=1253.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:32:07.477 [debug] QUERY OK source="settings" db=0.1ms idle=1253.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:32:07.478 [debug] QUERY OK source="settings" db=0.0ms idle=543.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:32:07.478 [debug] QUERY OK source="settings" db=0.0ms idle=1.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:32:07.490 [info] Sent 200 in 14ms 15:32:07.618 [info] GET /sources/8/force_metadata_refresh 15:32:07.619 [debug] QUERY OK source="settings" db=0.1ms idle=141.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:32:07.619 [debug] QUERY OK source="settings" db=0.0ms idle=141.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:32:07.619 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:32:07.619 [error] #PID<0.4414.0> running PinchflatWeb.Endpoint (connection #PID<0.4413.0>, stream id 1) terminated Server: video.r031995.duckdns.org:80 (http) Request: GET /sources/8/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/8/force_metadata_refresh (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4413.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/8/force_metadata_refresh", host: "video.r031995.duckdns.org", peer: {{172, 17, 0, 1}, 38924}, bindings: %{}, sock: {{172, 17, 0, 7}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "video.r031995.duckdns.org", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.63", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "216.73.216.63" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "video.r031995.duckdns.org", method: "GET", owner: #PID<0.4414.0>, params: %{}, path_info: ["sources", "8", "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://video.r031995.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 17, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "video.r031995.duckdns.org"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"x-forwarded-for", "216.73.216.63"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "216.73.216.63"} ], request_path: "/sources/8/force_metadata_refresh", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKFP2meELHVBTlsAANLB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4413.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/8/force_metadata_refresh", host: "video.r031995.duckdns.org", peer: {{172, 17, 0, 1}, 38924}, bindings: %{}, sock: {{172, 17, 0, 7}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "video.r031995.duckdns.org", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.63", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "216.73.216.63" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/8/force_metadata_refresh (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4413.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/8/force_metadata_refresh", host: "video.r031995.duckdns.org", peer: {{172, 17, 0, 1}, 38924}, bindings: %{}, sock: {{172, 17, 0, 7}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "video.r031995.duckdns.org", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.63", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "216.73.216.63" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "video.r031995.duckdns.org", method: "GET", owner: #PID<0.4414.0>, params: %{}, path_info: ["sources", "8", "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://video.r031995.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 17, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "video.r031995.duckdns.org"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"x-forwarded-for", "216.73.216.63"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "216.73.216.63"} ], request_p (truncated) 15:32:08.054 [info] GET /sources/17/edit 15:32:08.054 [debug] Processing with PinchflatWeb.Sources.SourceController.edit/2 Parameters: %{"id" => "17"} Pipelines: [:browser] 15:32:08.055 [debug] QUERY OK source="sources" db=0.1ms idle=576.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [17] 15:32:08.055 [debug] QUERY OK source="media_profiles" db=0.1ms idle=576.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" [] 15:32:08.056 [debug] QUERY OK source="settings" db=0.1ms idle=436.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:32:08.056 [debug] QUERY OK source="settings" db=0.0ms idle=436.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:32:08.056 [debug] QUERY OK source="settings" db=0.0ms idle=120.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:32:08.057 [info] Sent 200 in 3ms 15:32:08.553 [info] GET /sources/12/edit 15:32:08.553 [debug] Processing with PinchflatWeb.Sources.SourceController.edit/2 Parameters: %{"id" => "12"} Pipelines: [:browser] 15:32:08.554 [debug] QUERY OK source="sources" db=0.1ms idle=498.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [12] 15:32:08.554 [debug] QUERY OK source="media_profiles" db=0.1ms idle=498.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" [] 15:32:08.554 [debug] QUERY OK source="settings" db=0.0ms idle=498.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:32:08.555 [debug] QUERY OK source="settings" db=0.0ms 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 [] 15:32:08.555 [debug] QUERY OK source="settings" db=0.1ms idle=498.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:32:08.557 [info] Sent 200 in 3ms 15:32:09.061 [info] GET /sources/10/edit 15:32:09.061 [debug] Processing with PinchflatWeb.Sources.SourceController.edit/2 Parameters: %{"id" => "10"} Pipelines: [:browser] 15:32:09.061 [debug] QUERY OK source="sources" db=0.2ms idle=507.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [10] 15:32:09.062 [debug] QUERY OK source="media_profiles" db=0.1ms idle=507.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 ORDER BY m0."name" [] 15:32:09.062 [debug] QUERY OK source="settings" db=0.0ms idle=507.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:32:09.062 [debug] QUERY OK source="settings" db=0.0ms idle=507.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:32:09.063 [debug] QUERY OK source="settings" db=0.0ms idle=126.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:32:09.064 [info] Sent 200 in 3ms 15:32:09.561 [info] GET /sources/16/edit 15:32:09.561 [debug] Processing with PinchflatWeb.Sources.SourceController.edit/2 Parameters: %{"id" => "16"} Pipelines: [:browser] 15:32:09.562 [debug] QUERY OK source="sources" db=0.1ms idle=500.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [16] 15:32:09.562 [debug] QUERY OK source="media_profiles" db=0.1ms idle=500.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 ORDER BY m0."name" [] 15:32:09.562 [debug] QUERY OK source="settings" db=0.0ms idle=500.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:32:09.562 [debug] QUERY OK source="settings" db=0.0ms idle=500.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:32:09.563 [debug] QUERY OK source="settings" db=0.0ms idle=500.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:32:09.564 [info] Sent 200 in 2ms 15:32:10.063 [info] GET /sources/14 15:32:10.063 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "14"} Pipelines: [:browser] 15:32:10.063 [debug] QUERY OK source="sources" db=0.1ms idle=500.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [14] 15:32:10.063 [debug] QUERY OK source="media_profiles" db=0.0ms idle=500.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:32:10.064 [debug] QUERY OK source="tasks" db=0.1ms idle=500.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 (?,?,?,?)) [14, "executing", "available", "scheduled", "retryable"] 15:32:10.064 [debug] QUERY OK source="oban_jobs" db=0.0ms idle=500.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" = ?) [915] 15:32:10.064 [debug] QUERY OK source="settings" db=0.0ms idle=126.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:32:10.064 [debug] QUERY OK source="settings" db=0.0ms idle=1.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:32:10.064 [debug] QUERY OK source="settings" db=0.1ms idle=1.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:32:10.065 [debug] QUERY OK source="sources" db=0.0ms idle=1.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [14] 15:32:10.066 [debug] QUERY OK source="media_items" db=0.2ms idle=1.6ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [14] 15:32:10.066 [debug] QUERY OK source="media_items" db=0.2ms idle=1.7ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [14, 10, 0] 15:32:10.066 [debug] QUERY OK source="sources" db=0.0ms idle=2.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [14] 15:32:10.067 [debug] QUERY OK source="media_items" db=0.0ms idle=1.8ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [14] 15:32:10.067 [debug] QUERY OK source="media_items" db=0.1ms idle=1.3ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [14, 10, 0] 15:32:10.067 [debug] QUERY OK source="sources" db=0.1ms idle=1.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [14] 15:32:10.068 [debug] QUERY OK source="media_items" db=0.1ms idle=1.2ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [14] 15:32:10.068 [debug] QUERY OK source="media_items" db=0.4ms idle=1.3ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) 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 ? [14, 10, 0] 15:32:10.069 [info] Sent 200 in 6ms 15:32:10.587 [info] GET /sources/17 15:32:10.587 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "17"} Pipelines: [:browser] 15:32:10.587 [debug] QUERY OK source="sources" db=0.1ms idle=520.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [17] 15:32:10.588 [debug] QUERY OK source="media_profiles" db=0.1ms idle=520.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:32:10.588 [debug] QUERY OK source="tasks" db=0.1ms idle=520.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 (?,?,?,?)) [17, "executing", "available", "scheduled", "retryable"] 15:32:10.588 [debug] QUERY OK source="oban_jobs" db=0.0ms idle=520.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" = ?) [920] 15:32:10.589 [debug] QUERY OK source="settings" db=0.0ms idle=520.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:32:10.589 [debug] QUERY OK source="settings" db=0.0ms idle=1.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:32:10.589 [debug] QUERY OK source="settings" db=0.0ms idle=1.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:32:10.590 [debug] QUERY OK source="sources" db=0.1ms idle=1.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [17] 15:32:10.591 [debug] QUERY OK source="media_items" db=0.2ms idle=1.9ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [17] 15:32:10.591 [debug] QUERY OK source="media_items" db=0.3ms idle=2.0ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [17, 10, 0] 15:32:10.591 [debug] QUERY OK source="sources" db=0.1ms idle=2.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [17] 15:32:10.592 [debug] QUERY OK source="media_items" db=0.0ms idle=2.4ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [17] 15:32:10.592 [debug] QUERY OK source="media_items" db=0.1ms idle=1.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 ? [17, 10, 0] 15:32:10.592 [debug] QUERY OK source="sources" db=0.0ms idle=1.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [17] 15:32:10.593 [debug] QUERY OK source="media_items" db=0.1ms 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"))))) [17] 15:32:10.593 [debug] QUERY OK source="media_items" db=0.3ms 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 (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [17, 10, 0] 15:32:10.594 [info] Sent 200 in 6ms 15:32:11.063 [info] GET /sources/5/edit 15:32:11.063 [debug] Processing with PinchflatWeb.Sources.SourceController.edit/2 Parameters: %{"id" => "5"} Pipelines: [:browser] 15:32:11.064 [debug] QUERY OK source="sources" db=0.1ms idle=471.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 15:32:11.064 [debug] QUERY OK source="media_profiles" db=0.0ms idle=471.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" [] 15:32:11.064 [debug] QUERY OK source="settings" db=0.0ms idle=471.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:32:11.064 [debug] QUERY OK source="settings" db=0.0ms idle=471.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:32:11.065 [debug] QUERY OK source="settings" db=0.0ms idle=126.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:32:11.066 [info] Sent 200 in 2ms 15:32:11.623 [info] GET /sources/22/edit 15:32:11.623 [debug] Processing with PinchflatWeb.Sources.SourceController.edit/2 Parameters: %{"id" => "22"} Pipelines: [:browser] 15:32:11.624 [debug] QUERY OK source="sources" db=0.1ms idle=560.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [22] 15:32:11.624 [debug] QUERY OK source="media_profiles" db=0.0ms idle=560.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" [] 15:32:11.624 [debug] QUERY OK source="settings" db=0.0ms idle=560.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:32:11.625 [debug] QUERY OK source="settings" db=0.0ms idle=560.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:32:11.625 [debug] QUERY OK source="settings" db=0.0ms idle=560.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:32:11.626 [info] Sent 200 in 3ms 15:32:12.066 [info] GET /sources/16 15:32:12.066 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "16"} Pipelines: [:browser] 15:32:12.067 [debug] QUERY OK source="sources" db=0.1ms idle=442.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [16] 15:32:12.067 [debug] QUERY OK source="media_profiles" db=0.0ms idle=442.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:32:12.067 [debug] QUERY OK source="tasks" db=0.1ms idle=442.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 (?,?,?,?)) [16, "executing", "available", "scheduled", "retryable"] 15:32:12.068 [debug] QUERY OK source="oban_jobs" db=0.0ms idle=442.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" = ?) [924] 15:32:12.068 [debug] QUERY OK source="settings" db=0.0ms idle=128.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:32:12.068 [debug] QUERY OK source="settings" db=0.0ms idle=1.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:32:12.068 [debug] QUERY OK source="settings" db=0.0ms idle=1.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:32:12.069 [debug] QUERY OK source="sources" db=0.0ms idle=1.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [16] 15:32:12.071 [debug] QUERY OK source="media_items" db=1.6ms idle=1.6ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [16] 15:32:12.073 [debug] QUERY OK source="media_items" db=1.6ms 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 (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [16, 10, 0] 15:32:12.073 [debug] QUERY OK source="sources" db=0.0ms idle=4.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [16] 15:32:12.073 [debug] QUERY OK source="media_items" db=0.1ms idle=4.7ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [16] 15:32:12.074 [debug] QUERY OK source="media_items" db=1.1ms idle=4.2ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [16, 10, 0] 15:32:12.075 [debug] QUERY OK source="sources" db=0.0ms idle=3.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [16] 15:32:12.075 [debug] QUERY OK source="media_items" db=0.5ms 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"))))) [16] 15:32:12.077 [debug] QUERY OK source="media_items" db=1.6ms idle=2.6ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [16, 10, 0] 15:32:12.078 [info] Sent 200 in 11ms 15:32:12.566 [info] GET /sources/8/edit 15:32:12.566 [debug] Processing with PinchflatWeb.Sources.SourceController.edit/2 Parameters: %{"id" => "8"} Pipelines: [:browser] 15:32:12.566 [debug] QUERY OK source="sources" db=0.2ms idle=492.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [8] 15:32:12.567 [debug] QUERY OK source="media_profiles" db=0.1ms idle=492.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" [] 15:32:12.567 [debug] QUERY OK source="settings" db=0.0ms idle=492.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:32:12.567 [debug] QUERY OK source="settings" db=0.0ms idle=491.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:32:12.567 [debug] QUERY OK source="settings" db=0.0ms idle=490.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:32:12.569 [info] Sent 200 in 2ms 15:32:13.067 [info] GET /sources/9 15:32:13.067 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "9"} Pipelines: [:browser] 15:32:13.068 [debug] QUERY OK source="sources" db=0.1ms idle=500.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 15:32:13.068 [debug] QUERY OK source="media_profiles" db=0.1ms idle=500.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:32:13.069 [debug] QUERY OK source="tasks" db=1.0ms idle=501.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 (?,?,?,?)) [9, "executing", "available", "scheduled", "retryable"] 15:32:13.070 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=501.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" = ?) [898] 15:32:13.070 [debug] QUERY OK source="settings" db=0.0ms idle=129.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:32:13.070 [debug] QUERY OK source="settings" db=0.1ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:32:13.070 [debug] QUERY OK source="settings" db=0.0ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:32:13.071 [debug] QUERY OK source="sources" db=0.0ms idle=1.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 15:32:13.072 [debug] QUERY OK source="media_items" db=0.3ms 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 (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [9] 15:32:13.072 [debug] QUERY OK source="media_items" db=0.3ms 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 (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) 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 ? [9, 10, 0] 15:32:13.072 [debug] QUERY OK source="sources" db=0.1ms idle=2.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 15:32:13.073 [debug] QUERY OK source="media_items" db=0.0ms idle=2.2ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [9] 15:32:13.073 [debug] QUERY OK source="media_items" db=0.2ms idle=1.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 ? [9, 10, 0] 15:32:13.073 [debug] QUERY OK source="sources" db=0.1ms 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" = ?) [9] 15:32:13.074 [debug] QUERY OK source="media_items" db=0.2ms idle=1.6ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((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"))))) [9] 15:32:13.074 [debug] QUERY OK source="media_items" db=0.3ms 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 ? [9, 10, 0] 15:32:13.075 [info] Sent 200 in 7ms 15:32:13.569 [info] GET /sources/7/edit 15:32:13.569 [debug] Processing with PinchflatWeb.Sources.SourceController.edit/2 Parameters: %{"id" => "7"} Pipelines: [:browser] 15:32:13.569 [debug] QUERY OK source="sources" db=0.1ms idle=496.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."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] 15:32:13.570 [debug] QUERY OK source="media_profiles" db=0.1ms 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" [] 15:32:13.570 [debug] QUERY OK source="settings" db=0.0ms idle=496.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:32:13.570 [debug] QUERY OK source="settings" db=0.0ms idle=496.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:32:13.571 [debug] QUERY OK source="settings" db=0.0ms idle=496.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:32:13.572 [info] Sent 200 in 3ms 15:32:28.936 [info] {"source":"oban","duration":596,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:32:58.937 [info] {"source":"oban","duration":598,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:33:00.496 [info] {"source":"oban","duration":154,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:33:12.259 [info] GET /sources/21/media/23645/edit 15:33:12.259 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "23645", "source_id" => "21"} Pipelines: [:browser] 15:33:12.260 [debug] QUERY OK source="media_items" db=0.3ms idle=1035.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [23645] 15:33:12.260 [debug] QUERY OK source="settings" db=0.1ms idle=258.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:33:12.261 [debug] QUERY OK source="settings" db=0.0ms idle=36.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:33:12.261 [debug] QUERY OK source="settings" db=0.1ms idle=37.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:33:12.262 [info] Sent 200 in 2ms 15:33:12.390 [info] GET /sources/21/media/23635 15:33:12.390 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "23635", "source_id" => "21"} Pipelines: [:browser] 15:33:12.390 [debug] QUERY OK source="media_items" db=0.1ms idle=166.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [23635] 15:33:12.390 [debug] QUERY OK source="tasks" db=0.1ms idle=130.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" [23635] 15:33:12.391 [debug] QUERY OK source="sources" db=0.1ms idle=130.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [21] 15:33:12.391 [debug] QUERY OK source="settings" db=0.0ms idle=130.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:33:12.391 [debug] QUERY OK source="settings" db=0.0ms idle=130.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:33:12.391 [debug] QUERY OK source="settings" db=0.0ms idle=1.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:33:12.392 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:33:12.393 [info] Sent 200 in 2ms 15:33:12.890 [info] GET /sources/21/media/23633 15:33:12.890 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "23633", "source_id" => "21"} Pipelines: [:browser] 15:33:12.890 [debug] QUERY OK source="media_items" db=0.1ms idle=499.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [23633] 15:33:12.891 [debug] QUERY OK source="tasks" db=0.1ms idle=499.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" [23633] 15:33:12.891 [debug] QUERY OK source="sources" db=0.2ms idle=499.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [21] 15:33:12.891 [debug] QUERY OK source="settings" db=0.1ms idle=499.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:33:12.891 [debug] QUERY OK source="settings" db=0.1ms idle=499.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:33:12.892 [debug] QUERY OK source="settings" db=0.1ms idle=1.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:33:12.892 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:33:12.893 [info] Sent 200 in 3ms 15:33:13.392 [info] GET /sources/21/media/23641/edit 15:33:13.392 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "23641", "source_id" => "21"} Pipelines: [:browser] 15:33:13.393 [debug] QUERY OK source="media_items" db=0.2ms idle=501.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [23641] 15:33:13.393 [debug] QUERY OK source="settings" db=0.0ms idle=501.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:33:13.394 [debug] QUERY OK source="settings" db=0.0ms idle=501.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:33:13.394 [debug] QUERY OK source="settings" db=0.0ms idle=501.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:33:13.394 [info] Sent 200 in 2ms 15:33:13.893 [info] GET /sources/21/media/23645 15:33:13.893 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "23645", "source_id" => "21"} Pipelines: [:browser] 15:33:13.893 [debug] QUERY OK source="media_items" db=0.2ms idle=890.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [23645] 15:33:13.893 [debug] QUERY OK source="tasks" db=0.1ms idle=500.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" [23645] 15:33:13.894 [debug] QUERY OK source="sources" db=0.2ms idle=499.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [21] 15:33:13.894 [debug] QUERY OK source="settings" db=0.1ms idle=500.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:33:13.894 [debug] QUERY OK source="settings" db=0.0ms idle=500.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:33:13.894 [debug] QUERY OK source="settings" db=0.0ms idle=1.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:33:13.895 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:33:13.896 [info] Sent 200 in 3ms 15:33:14.393 [info] GET /sources/8/force_redownload 15:33:14.394 [debug] QUERY OK source="settings" db=0.1ms idle=499.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:33:14.394 [debug] QUERY OK source="settings" db=0.0ms idle=499.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:33:14.394 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:33:14.394 [error] #PID<0.4464.0> running PinchflatWeb.Endpoint (connection #PID<0.4463.0>, stream id 1) terminated Server: video.r031995.duckdns.org:80 (http) Request: GET /sources/8/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/8/force_redownload (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4463.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/8/force_redownload", host: "video.r031995.duckdns.org", peer: {{172, 17, 0, 1}, 51474}, bindings: %{}, sock: {{172, 17, 0, 7}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYcEpmTkNCU3dObnlrRm5FSFc2ZVAtLTFU.DqwjD9fnn_dbiVChyhqem5OXA6Z4JG42xlt5B4USF8Q", "host" => "video.r031995.duckdns.org", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.63", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "216.73.216.63" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYcEpmTkNCU3dObnlrRm5FSFc2ZVAtLTFU.DqwjD9fnn_dbiVChyhqem5OXA6Z4JG42xlt5B4USF8Q" }, halted: false, host: "video.r031995.duckdns.org", method: "GET", owner: #PID<0.4464.0>, params: %{}, path_info: ["sources", "8", "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://video.r031995.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 17, 0, 1}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYcEpmTkNCU3dObnlrRm5FSFc2ZVAtLTFU.DqwjD9fnn_dbiVChyhqem5OXA6Z4JG42xlt5B4USF8Q" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYcEpmTkNCU3dObnlrRm5FSFc2ZVAtLTFU.DqwjD9fnn_dbiVChyhqem5OXA6Z4JG42xlt5B4USF8Q"}, {"host", "video.r031995.duckdns.org"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"x-forwarded-for", "216.73.216.63"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "216.73.216.63"} ], request_path: "/sources/8/force_redownload", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKFP6fOZ71qrn9IAANyB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4463.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/8/force_redownload", host: "video.r031995.duckdns.org", peer: {{172, 17, 0, 1}, 51474}, bindings: %{}, sock: {{172, 17, 0, 7}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYcEpmTkNCU3dObnlrRm5FSFc2ZVAtLTFU.DqwjD9fnn_dbiVChyhqem5OXA6Z4JG42xlt5B4USF8Q", "host" => "video.r031995.duckdns.org", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.63", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "216.73.216.63" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/8/force_redownload (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4463.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/8/force_redownload", host: "video.r031995.duckdns.org", peer: {{172, 17, 0, 1}, 51474}, bindings: %{}, sock: {{172, 17, 0, 7}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYcEpmTkNCU3dObnlrRm5FSFc2ZVAtLTFU.DqwjD9fnn_dbiVChyhqem5OXA6Z4JG42xlt5B4USF8Q", "host" => "video.r031995.duckdns.org", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.63", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "216.73.216.63" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYcEpmTkNCU3dObnlrRm5FSFc2ZVAtLTFU.DqwjD9fnn_dbiVChyhqem5OXA6Z4JG42xlt5B4USF8Q" }, halted: false, host: "video.r031995.duckdns.org", method: "GET", owner: #PID<0.4464.0>, params: %{}, path_info: ["sources", "8", "force_redownload"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], (truncated) 15:33:14.894 [info] GET /sources/8/force_index 15:33:14.895 [debug] QUERY OK source="settings" db=0.1ms idle=1000.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:33:14.895 [debug] QUERY OK source="settings" db=0.0ms idle=1.0e3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:33:14.895 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:33:14.895 [error] #PID<0.4466.0> running PinchflatWeb.Endpoint (connection #PID<0.4465.0>, stream id 1) terminated Server: video.r031995.duckdns.org:80 (http) Request: GET /sources/8/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/8/force_index (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4465.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/8/force_index", host: "video.r031995.duckdns.org", peer: {{172, 17, 0, 1}, 51476}, bindings: %{}, sock: {{172, 17, 0, 7}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYcEpmTkNCU3dObnlrRm5FSFc2ZVAtLTFU.DqwjD9fnn_dbiVChyhqem5OXA6Z4JG42xlt5B4USF8Q", "host" => "video.r031995.duckdns.org", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.63", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "216.73.216.63" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYcEpmTkNCU3dObnlrRm5FSFc2ZVAtLTFU.DqwjD9fnn_dbiVChyhqem5OXA6Z4JG42xlt5B4USF8Q" }, halted: false, host: "video.r031995.duckdns.org", method: "GET", owner: #PID<0.4466.0>, params: %{}, path_info: ["sources", "8", "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://video.r031995.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 17, 0, 1}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYcEpmTkNCU3dObnlrRm5FSFc2ZVAtLTFU.DqwjD9fnn_dbiVChyhqem5OXA6Z4JG42xlt5B4USF8Q" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYcEpmTkNCU3dObnlrRm5FSFc2ZVAtLTFU.DqwjD9fnn_dbiVChyhqem5OXA6Z4JG42xlt5B4USF8Q"}, {"host", "video.r031995.duckdns.org"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"x-forwarded-for", "216.73.216.63"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "216.73.216.63"} ], request_path: "/sources/8/force_index", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKFP6hF4av4VbjIAANzB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4465.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/8/force_index", host: "video.r031995.duckdns.org", peer: {{172, 17, 0, 1}, 51476}, bindings: %{}, sock: {{172, 17, 0, 7}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYcEpmTkNCU3dObnlrRm5FSFc2ZVAtLTFU.DqwjD9fnn_dbiVChyhqem5OXA6Z4JG42xlt5B4USF8Q", "host" => "video.r031995.duckdns.org", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.63", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "216.73.216.63" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/8/force_index (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4465.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/8/force_index", host: "video.r031995.duckdns.org", peer: {{172, 17, 0, 1}, 51476}, bindings: %{}, sock: {{172, 17, 0, 7}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYcEpmTkNCU3dObnlrRm5FSFc2ZVAtLTFU.DqwjD9fnn_dbiVChyhqem5OXA6Z4JG42xlt5B4USF8Q", "host" => "video.r031995.duckdns.org", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.63", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "216.73.216.63" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYcEpmTkNCU3dObnlrRm5FSFc2ZVAtLTFU.DqwjD9fnn_dbiVChyhqem5OXA6Z4JG42xlt5B4USF8Q" }, halted: false, host: "video.r031995.duckdns.org", method: "GET", owner: #PID<0.4466.0>, params: %{}, path_info: ["sources", "8", "force_index"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887 (truncated) 15:33:15.395 [info] GET /sources/21/media/23641 15:33:15.395 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "23641", "source_id" => "21"} Pipelines: [:browser] 15:33:15.395 [debug] QUERY OK source="media_items" db=0.1ms idle=1001.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [23641] 15:33:15.395 [debug] QUERY OK source="tasks" db=0.2ms idle=1001.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" [23641] 15:33:15.396 [debug] QUERY OK source="sources" db=0.2ms idle=500.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [21] 15:33:15.396 [debug] QUERY OK source="settings" db=0.1ms idle=500.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:33:15.396 [debug] QUERY OK source="settings" db=0.0ms idle=390.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:33:15.396 [debug] QUERY OK source="settings" db=0.0ms idle=1.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:33:15.397 [debug] QUERY OK source="media_profiles" db=0.0ms idle=1.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:33:15.398 [info] Sent 200 in 2ms 15:33:15.894 [info] GET /sources/8/sync_files_on_disk 15:33:15.895 [debug] QUERY OK source="settings" db=0.1ms 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 [] 15:33:15.895 [debug] QUERY OK source="settings" db=0.1ms 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 [] 15:33:15.895 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:33:15.895 [error] #PID<0.4473.0> running PinchflatWeb.Endpoint (connection #PID<0.4472.0>, stream id 1) terminated Server: video.r031995.duckdns.org:80 (http) Request: GET /sources/8/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/8/sync_files_on_disk (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4472.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/8/sync_files_on_disk", host: "video.r031995.duckdns.org", peer: {{172, 17, 0, 1}, 51492}, bindings: %{}, sock: {{172, 17, 0, 7}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYcEpmTkNCU3dObnlrRm5FSFc2ZVAtLTFU.DqwjD9fnn_dbiVChyhqem5OXA6Z4JG42xlt5B4USF8Q", "host" => "video.r031995.duckdns.org", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.63", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "216.73.216.63" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYcEpmTkNCU3dObnlrRm5FSFc2ZVAtLTFU.DqwjD9fnn_dbiVChyhqem5OXA6Z4JG42xlt5B4USF8Q" }, halted: false, host: "video.r031995.duckdns.org", method: "GET", owner: #PID<0.4473.0>, params: %{}, path_info: ["sources", "8", "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://video.r031995.duckdns.org", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 17, 0, 1}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYcEpmTkNCU3dObnlrRm5FSFc2ZVAtLTFU.DqwjD9fnn_dbiVChyhqem5OXA6Z4JG42xlt5B4USF8Q" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYcEpmTkNCU3dObnlrRm5FSFc2ZVAtLTFU.DqwjD9fnn_dbiVChyhqem5OXA6Z4JG42xlt5B4USF8Q"}, {"host", "video.r031995.duckdns.org"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"x-forwarded-for", "216.73.216.63"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "216.73.216.63"} ], request_path: "/sources/8/sync_files_on_disk", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKFP6k0Sdw3ZldkAAN2B"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4472.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/8/sync_files_on_disk", host: "video.r031995.duckdns.org", peer: {{172, 17, 0, 1}, 51492}, bindings: %{}, sock: {{172, 17, 0, 7}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYcEpmTkNCU3dObnlrRm5FSFc2ZVAtLTFU.DqwjD9fnn_dbiVChyhqem5OXA6Z4JG42xlt5B4USF8Q", "host" => "video.r031995.duckdns.org", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.63", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "216.73.216.63" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/8/sync_files_on_disk (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4472.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/8/sync_files_on_disk", host: "video.r031995.duckdns.org", peer: {{172, 17, 0, 1}, 51492}, bindings: %{}, sock: {{172, 17, 0, 7}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYcEpmTkNCU3dObnlrRm5FSFc2ZVAtLTFU.DqwjD9fnn_dbiVChyhqem5OXA6Z4JG42xlt5B4USF8Q", "host" => "video.r031995.duckdns.org", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.63", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "216.73.216.63" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYcEpmTkNCU3dObnlrRm5FSFc2ZVAtLTFU.DqwjD9fnn_dbiVChyhqem5OXA6Z4JG42xlt5B4USF8Q" }, halted: false, host: "video.r031995.duckdns.org", method: "GET", owner: #PID<0.4473.0>, params: %{}, path_info: ["sources", "8", "sync_files_on_disk"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router (truncated)